re PR ipa/59775 (internal compiler error: Segmentation fault)
[gcc.git] / gcc / ChangeLog
1 2014-01-16 Jan Hubicka <jh@suse.cz>
2
3 PR ipa/59775
4 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
5
6 2014-01-16 Bernd Schmidt <bernds@codesourcery.com>
7
8 PR middle-end/56791
9 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
10 pushing a reload for an autoinc when we had previously reloaded an
11 inner part of the address.
12
13 2014-01-16 Jakub Jelinek <jakub@redhat.com>
14
15 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
16 field.
17 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
18 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
19 when not giving up or versioning for alias only because of
20 loop->safelen.
21 (vect_analyze_data_ref_dependences): Set to true.
22 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
23 is a GIMPLE_PHI.
24 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
25 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
26 to the condition.
27
28 PR middle-end/58344
29 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
30
31 PR target/59839
32 * config/i386/i386.c (ix86_expand_builtin): If target doesn't
33 satisfy operand 0 predicate for gathers, use a new pseudo as
34 subtarget.
35
36 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
37
38 PR middle-end/59609
39 * lra-constraints.c (process_alt_operands): Add printing debug
40 info. Check absence of input/output reloads for matched operands
41 too.
42
43 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
44
45 PR rtl-optimization/59835
46 * ira.c (ira_init_register_move_cost): Increase cost for
47 impossible modes.
48
49 2014-01-16 Alan Lawrence <alan.lawrence@arm.com>
50
51 * config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.
52
53 2014-01-16 Richard Earnshaw <rearnsha@arm.com>
54
55 PR target/59780
56 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
57 non-register objects. Use gen_(high/low)part more consistently.
58 Fix assertions.
59
60 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
61
62 PR target/59844
63 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
64 endian support, remove tests for WORDS_BIG_ENDIAN.
65 (p8_mfvsrd_3_<mode>): Likewise.
66 (reload_gpr_from_vsx<mode>): Likewise.
67 (reload_gpr_from_vsxsf): Likewise.
68 (p8_mfvsrd_4_disf): Likewise.
69
70 2014-01-16 Richard Biener <rguenther@suse.de>
71
72 PR rtl-optimization/46590
73 * lcm.c (compute_antinout_edge): Use postorder iteration.
74 (compute_laterin): Use inverted postorder iteration.
75
76 2014-01-16 Nick Clifton <nickc@redhat.com>
77
78 PR middle-end/28865
79 * varasm.c (output_constant): Return the number of bytes actually
80 emitted.
81 (output_constructor_array_range): Update the field size with the
82 number of bytes emitted by output_constant.
83 (output_constructor_regular_field): Likewise. Also do not
84 complain if the total number of bytes emitted is now greater
85 than the expected fieldpos.
86 * output.h (output_constant): Update prototype and descriptive
87 comment.
88
89 2014-01-16 Marek Polacek <polacek@redhat.com>
90
91 PR middle-end/59827
92 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
93 it is error_mark_node.
94
95 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
96
97 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
98 VALID_AVX256_REG_OR_OI_MODE.
99
100 2014-01-15 Pat Haugen <pthaugen@us.ibm.com>
101
102 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
103 current procedure should be profiled.
104
105 2014-01-15 Andrew Pinski <apinski@cavium.com>
106
107 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
108 of moving from/to the STACK_REG register class.
109
110 2014-01-15 Richard Henderson <rth@redhat.com>
111
112 PR debug/54694
113 * reginfo.c (global_regs_decl): Globalize.
114 * rtl.h (global_regs_decl): Declare.
115 * ira.c (do_reload): Diagnose frame_pointer_needed and it
116 reserved via global_regs.
117
118 2014-01-15 Teresa Johnson <tejohnson@google.com>
119
120 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
121
122 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
123
124 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
125 and vmulosh rather than call gen_vec_widen_smult_*.
126 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
127 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
128 (vec_widen_smult_even_v16qi): Likewise.
129 (vec_widen_umult_even_v8hi): Likewise.
130 (vec_widen_smult_even_v8hi): Likewise.
131 (vec_widen_umult_odd_v16qi): Likewise.
132 (vec_widen_smult_odd_v16qi): Likewise.
133 (vec_widen_umult_odd_v8hi): Likewise.
134 (vec_widen_smult_odd_v8hi): Likewise.
135 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
136 vmuloub rather than call gen_vec_widen_umult_*.
137 (vec_widen_umult_lo_v16qi): Likewise.
138 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
139 vmulosb rather than call gen_vec_widen_smult_*.
140 (vec_widen_smult_lo_v16qi): Likewise.
141 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
142 rather than call gen_vec_widen_umult_*.
143 (vec_widen_umult_lo_v8hi): Likewise.
144 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
145 rather than call gen_vec_widen_smult_*.
146 (vec_widen_smult_lo_v8hi): Likewise.
147
148 2014-01-15 Jeff Law <law@redhat.com>
149
150 PR tree-optimization/59747
151 * ree.c (find_and_remove_re): Properly handle case where a second
152 eliminated extension requires widening a copy created for elimination
153 of a prior extension.
154 (combine_set_extension): Ensure that the number of hard regs needed
155 for a destination register does not change when we widen it.
156
157 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
158
159 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
160 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
161 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
162 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
163 (avr-*-rtems*): Likewise.
164 (bfin*-rtems*): Likewise.
165 (moxie-*-rtems*): Likewise.
166 (h8300-*-rtems*): Likewise.
167 (i[34567]86-*-rtems*): Likewise.
168 (lm32-*-rtems*): Likewise.
169 (m32r-*-rtems*): Likewise.
170 (m68k-*-rtems*): Likewise.
171 (microblaze*-*-rtems*): Likewise.
172 (mips*-*-rtems*): Likewise.
173 (powerpc-*-rtems*): Likewise.
174 (sh-*-rtems*): Likewise.
175 (sparc-*-rtems*): Likewise.
176 (sparc64-*-rtems*): Likewise.
177 (v850-*-rtems*): Likewise.
178 (m32c-*-rtems*): Likewise.
179
180 2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
181
182 PR rtl-optimization/59511
183 * ira.c (ira_init_register_move_cost): Use memory costs for some
184 cases of register move cost calculations.
185 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
186 instead of BB frequency.
187 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
188 * lra-assigns.c (find_hard_regno_for): Ditto.
189
190 2014-01-15 Richard Biener <rguenther@suse.de>
191
192 PR tree-optimization/59822
193 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
194 (vectorizable_load): Use it to hoist defs of uses of invariant
195 loads out of the loop.
196
197 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
198 Kugan Vivekanandarajah <kuganv@linaro.org>
199
200 PR target/59695
201 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
202 truncation.
203
204 2014-01-15 Richard Biener <rguenther@suse.de>
205
206 PR rtl-optimization/59802
207 * lcm.c (compute_available): Use inverted postorder to seed
208 the initial worklist.
209
210 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
211
212 PR target/59803
213 * config/s390/s390.c (s390_preferred_reload_class): Don't return
214 ADDR_REGS for invalid symrefs in non-PIC code.
215
216 2014-01-15 Jakub Jelinek <jakub@redhat.com>
217
218 PR other/58712
219 * builtins.c (determine_block_size): Initialize *probable_max_size
220 even if len_rtx is CONST_INT.
221
222 2014-01-14 Andrew Pinski <apinski@cavium.com>
223
224 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
225 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
226 (cortexa53_tunings): Likewise.
227 (aarch64_sched_issue_rate): New function.
228 (TARGET_SCHED_ISSUE_RATE): Define.
229
230 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
231
232 * ira-costs.c (find_costs_and_classes): Add missed
233 ira_init_register_move_cost_if_necessary.
234
235 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
236
237 PR target/59787
238 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
239
240 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
241
242 PR target/59794
243 * config/i386/i386.c (type_natural_mode): Add a bool parameter
244 to indicate if type is used for function return value. Warn ABI
245 change if the vector mode isn't available for function return value.
246 (ix86_function_arg_advance): Pass false to type_natural_mode.
247 (ix86_function_arg): Likewise.
248 (ix86_gimplify_va_arg): Likewise.
249 (function_arg_32): Don't warn ABI change.
250 (ix86_function_value): Pass true to type_natural_mode.
251 (ix86_return_in_memory): Likewise.
252 (ix86_struct_value_rtx): Removed.
253 (TARGET_STRUCT_VALUE_RTX): Likewise.
254
255 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
256
257 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
258 converting a conditional jump into a conditional return.
259
260 2014-01-14 Richard Biener <rguenther@suse.de>
261
262 PR tree-optimization/58921
263 PR tree-optimization/59006
264 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
265 hoisting invariant stmts.
266 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
267 invariant loads on the preheader edge if possible.
268
269 2014-01-14 Joey Ye <joey.ye@arm.com>
270
271 * doc/plugin.texi (Building GCC plugins): Update to C++.
272
273 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
274
275 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
276 (_mm_rcp28_round_ss): Ditto.
277 (_mm_rsqrt28_round_sd): Ditto.
278 (_mm_rsqrt28_round_ss): Ditto.
279 (_mm_rcp28_sd): Ditto.
280 (_mm_rcp28_ss): Ditto.
281 (_mm_rsqrt28_sd): Ditto.
282 (_mm_rsqrt28_ss): Ditto.
283 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
284 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
285 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
286 (IX86_BUILTIN_RCP28SD): Ditto.
287 (IX86_BUILTIN_RCP28SS): Ditto.
288 (IX86_BUILTIN_RSQRT28SD): Ditto.
289 (IX86_BUILTIN_RSQRT28SS): Ditto.
290 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
291 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
292 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
293 (ix86_expand_special_args_builtin): Expand new FTYPE.
294 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
295 (srcp14<mode>): Make insn unary.
296 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
297 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
298 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
299 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
300 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
301 Fix rounding: make it SAE only.
302 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
303 Ditto.
304 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
305 Ditto.
306 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
307 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
308 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
309 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
310 (round_saeonly_mask_scalar_operand4): Ditto.
311 (round_saeonly_mask_scalar_op3): Ditto.
312 (round_saeonly_mask_scalar_op4): Ditto.
313
314 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
315
316 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
317 Implement -maltivec=be for vec_insert and vec_extract.
318
319 2014-01-10 DJ Delorie <dj@redhat.com>
320
321 * config/msp430/msp430.md (call_internal): Don't allow memory
322 references with SP as the base register.
323 (call_value_internal): Likewise.
324 * config/msp430/constraints.md (Yc): New. For memory references
325 that don't use SP as a base register.
326
327 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
328 "an integer without a # prefix"
329 * config/msp430/msp430.md (epilogue_helper): Use it.
330
331 2014-01-13 Jakub Jelinek <jakub@redhat.com>
332
333 PR target/59617
334 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
335 AVX512F gather builtins.
336 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
337 on gather decls with INTEGER_TYPE masktype.
338 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
339 directly into the builtin rather than hoisting it before loop.
340
341 PR tree-optimization/59387
342 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
343 (scev_const_prop): If folded_casts and type has undefined overflow,
344 use force_gimple_operand instead of force_gimple_operand_gsi and
345 for each added stmt if it is assign with
346 arith_code_with_undefined_signed_overflow, call
347 rewrite_to_defined_overflow.
348 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
349 gimple-fold.h instead.
350 (arith_code_with_undefined_signed_overflow,
351 rewrite_to_defined_overflow): Moved to ...
352 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
353 rewrite_to_defined_overflow): ... here. No longer static.
354 Include gimplify-me.h.
355 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
356 rewrite_to_defined_overflow): New prototypes.
357
358 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
359
360 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
361
362 2014-01-13 Eric Botcazou <ebotcazou@adacore.com>
363
364 * builtins.c (get_object_alignment_2): Minor tweak.
365 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
366
367 2014-01-13 Christian Bruel <christian.bruel@st.com>
368
369 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
370 optimized non constant lengths.
371
372 2014-01-13 Jakub Jelinek <jakub@redhat.com>
373
374 PR libgomp/59194
375 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
376 load as __atomic_load_N if possible.
377
378 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
379
380 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
381 target parameter.
382 (rs6000_expand_builtin): Adjust call.
383
384 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
385
386 PR target/58115
387 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
388 * config/rs6000/rs6000.c: Include target-globals.h.
389 (rs6000_set_current_function): Instead of doing target_reinit
390 unconditionally, use save_target_globals_default_opts and
391 restore_target_globals.
392
393 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
394 FPSCR.
395 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
396 (rs6000_expand_builtin): Handle mffs and mtfsf.
397 (rs6000_init_builtins): Define mffs and mtfsf.
398 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
399 (rs6000_mffs): New pattern.
400 (rs6000_mtfsf): New pattern.
401
402 2014-01-11 Bin Cheng <bin.cheng@arm.com>
403
404 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
405 Start narrowing with START. Apply candidate-use pair
406 and check overall cost in narrowing.
407 (iv_ca_prune): Pass new argument.
408
409 2014-01-10 Jeff Law <law@redhat.com>
410
411 PR middle-end/59743
412 * ree.c (combine_reaching_defs): Ensure the defining statement
413 occurs before the extension when optimizing extensions with
414 different source and destination hard registers.
415
416 2014-01-10 Jan Hubicka <jh@suse.cz>
417
418 PR ipa/58585
419 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
420 vtables into the type inheritance graph.
421
422 2014-01-10 Jakub Jelinek <jakub@redhat.com>
423
424 PR rtl-optimization/59754
425 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
426 modes in the REGNO != REGNO case.
427
428 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
429
430 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
431
432 2014-01-10 Jakub Jelinek <jakub@redhat.com>
433
434 PR tree-optimization/59745
435 * tree-predcom.c (tree_predictive_commoning_loop): Call
436 free_affine_expand_cache if giving up because components is NULL.
437
438 * target-globals.c (save_target_globals): Allocate < 4KB structs using
439 GC in payload of target_globals struct instead of allocating them on
440 the heap and the larger structs separately using GC.
441 * target-globals.h (struct target_globals): Make regs, hard_regs,
442 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
443 of GTY((skip)) and change type to void *.
444 (reset_target_globals): Cast loads from those fields to corresponding
445 types.
446
447 2014-01-10 Steve Ellcey <sellcey@mips.com>
448
449 PR plugins/59335
450 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
451 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
452 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
453
454 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
455
456 PR target/59744
457 * aarch64-modes.def (CC_Zmode): New flags mode.
458 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
459 represents an equality.
460 (aarch64_get_condition_code): Handle CC_Zmode.
461 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
462
463 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
464
465 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
466 extraction in good case.
467
468 2014-01-10 Richard Biener <rguenther@suse.de>
469
470 PR tree-optimization/59374
471 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
472 checking after SLP discovery. Mark stmts not participating
473 in any SLP instance properly.
474
475 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
476
477 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
478 when handling a SET rtx.
479
480 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
481
482 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
483 (cortex-a57): Likewise.
484 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
485
486 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
487
488 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
489 non-iwmmxt builtins.
490
491 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
492
493 PR ipa/58252
494 PR ipa/59226
495 * ipa-devirt.c record_target_from_binfo): Take as argument
496 stack of binfos and lookup matching one for virtual inheritance.
497 (possible_polymorphic_call_targets_1): Update.
498
499 2014-01-10 Huacai Chen <chenhc@lemote.com>
500
501 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
502 kernel strings for Loongson-2E/2F/3A.
503
504 2014-01-10 Jakub Jelinek <jakub@redhat.com>
505
506 PR middle-end/59670
507 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
508 is_gimple_call before calling gimple_call_internal_p.
509
510 2014-01-09 Steve Ellcey <sellcey@mips.com>
511
512 * Makefile.in (TREE_FLOW_H): Remove.
513 (TREE_SSA_H): Add file names from tree-flow.h.
514 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
515 * tree.h: Remove tree-flow.h reference.
516 * hash-table.h: Remove tree-flow.h reference.
517 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
518 reference with tree-ssa-loop.h.
519
520 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
521
522 * doc/invoke.texi: Add -maltivec={be,le} options, and document
523 default element-order behavior for -maltivec.
524 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
525 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
526 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
527 when targeting big endian, at least for now.
528 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
529
530 2014-01-09 Jakub Jelinek <jakub@redhat.com>
531
532 PR middle-end/47735
533 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
534 var satisfies use_register_for_decl, just take into account type
535 alignment, rather than decl alignment.
536
537 PR tree-optimization/59622
538 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
539 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
540 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
541 Don't devirtualize for inplace at all. For targets.length () == 1,
542 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
543
544 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
545
546 * config/i386/i386.md (cpu): Remove the unused btver1.
547
548 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
549
550 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
551
552 2014-01-09 Jakub Jelinek <jakub@redhat.com>
553
554 PR target/58115
555 * tree-core.h (struct target_globals): New forward declaration.
556 (struct tree_target_option): Add globals field.
557 * tree.h (TREE_TARGET_GLOBALS): Define.
558 (prepare_target_option_nodes_for_pch): New prototype.
559 * target-globals.h (struct target_globals): Define even if
560 !SWITCHABLE_TARGET.
561 * tree.c (prepare_target_option_node_for_pch,
562 prepare_target_option_nodes_for_pch): New functions.
563 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
564 * config/i386/i386.c: Include target-globals.h.
565 (ix86_set_current_function): Instead of doing target_reinit
566 unconditionally, use save_target_globals_default_opts and
567 restore_target_globals.
568
569 2014-01-09 Richard Biener <rguenther@suse.de>
570
571 PR tree-optimization/59715
572 * tree-cfg.h (split_critical_edges): Declare.
573 * tree-cfg.c (split_critical_edges): Export.
574 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
575
576 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
577
578 * cfgexpand.c (expand_stack_vars): Optionally disable
579 asan stack protection.
580 (expand_used_vars): Likewise.
581 (partition_stack_vars): Likewise.
582 * asan.c (asan_emit_stack_protection): Optionally disable
583 after return stack usage.
584 (instrument_derefs): Optionally disable memory
585 access instrumentation.
586 (instrument_builtin_call): Likewise.
587 (instrument_strlen_call): Likewise.
588 (asan_protect_global): Optionally disable
589 global variables protection.
590 * doc/invoke.texi: Added doc for new options.
591 * params.def: Added new options.
592 * params.h: Likewise.
593
594 2014-01-09 Jakub Jelinek <jakub@redhat.com>
595
596 PR rtl-optimization/59724
597 * ifcvt.c (cond_exec_process_if_block): Don't call
598 flow_find_head_matching_sequence with 0 longest_match.
599 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
600 non-active insns if !stop_after.
601 (try_head_merge_bb): Revert 2014-01-07 changes.
602
603 2014-01-08 Jeff Law <law@redhat.com>
604
605 * ree.c (get_sub_rtx): New function, extracted from...
606 (merge_def_and_ext): Here.
607 (combine_reaching_defs): Use get_sub_rtx.
608
609 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
610
611 * cgraph.h (varpool_variable_node): Do not choke on null node.
612
613 2014-01-08 Catherine Moore <clm@codesourcery.com>
614
615 * config/mips/mips.md (simple_return): Attempt to use JRC
616 for microMIPS.
617 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
618
619 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
620
621 PR rtl-optimization/59137
622 * reorg.c (steal_delay_list_from_target): Call update_block for
623 elided insns.
624 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
625
626 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
627
628 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
629 two duplicate entries.
630
631 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
632
633 Revert:
634 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
635
636 * config/mips/mips.c (mips_truncated_op_cost): New function.
637 (mips_rtx_costs): Adjust test for BADDU.
638 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
639
640 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
641
642 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
643 (*baddu_si): ...this new pattern.
644
645 2014-01-08 Jakub Jelinek <jakub@redhat.com>
646
647 PR ipa/59722
648 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
649
650 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
651
652 PR middle-end/57748
653 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
654 inner_reference_p.
655 (expand_expr, expand_normal): Adjust.
656 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
657 inner_reference_p. Use inner_reference_p to expand inner references.
658 (store_expr): Adjust.
659 * cfgexpand.c (expand_call_stmt): Adjust.
660
661 2014-01-08 Rong Xu <xur@google.com>
662
663 * gcov-io.c (gcov_var): Move from gcov-io.h.
664 (gcov_position): Ditto.
665 (gcov_is_error): Ditto.
666 (gcov_rewrite): Ditto.
667 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
668 only part to libgcc/libgcov.h.
669
670 2014-01-08 Marek Polacek <polacek@redhat.com>
671
672 PR middle-end/59669
673 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
674
675 2014-01-08 Marek Polacek <polacek@redhat.com>
676
677 PR sanitizer/59667
678 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
679
680 2014-01-08 Jakub Jelinek <jakub@redhat.com>
681
682 PR rtl-optimization/59649
683 * stor-layout.c (get_mode_bounds): For BImode return
684 0 and STORE_FLAG_VALUE.
685
686 2014-01-08 Richard Biener <rguenther@suse.de>
687
688 PR middle-end/59630
689 * gimple.h (is_gimple_builtin_call): Remove.
690 (gimple_builtin_call_types_compatible_p): New.
691 (gimple_call_builtin_p): New overload.
692 * gimple.c (is_gimple_builtin_call): Remove.
693 (validate_call): Rename to ...
694 (gimple_builtin_call_types_compatible_p): ... this and export. Also
695 check return types.
696 (validate_type): New static function.
697 (gimple_call_builtin_p): New overload and adjust.
698 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
699 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
700 (gimple_fold_stmt_to_constant_1): Likewise.
701 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
702
703 2014-01-08 Richard Biener <rguenther@suse.de>
704
705 PR middle-end/59471
706 * gimplify.c (gimplify_expr): Gimplify register-register type
707 VIEW_CONVERT_EXPRs to separate stmts.
708
709 2014-01-07 Jeff Law <law@redhat.com>
710
711 PR middle-end/53623
712 * ree.c (combine_set_extension): Handle case where source
713 and destination registers in an extension insn are different.
714 (combine_reaching_defs): Allow source and destination registers
715 in extension to be different under limited circumstances.
716 (add_removable_extension): Remove restriction that the
717 source and destination registers in the extension are the same.
718 (find_and_remove_re): Emit a copy from the extension's
719 destination to its source after the defining insn if
720 the source and destination registers are different.
721
722 PR middle-end/59285
723 * ifcvt.c (merge_if_block): If we are merging a block with more than
724 one successor with a block with no successors, remove any BARRIER
725 after the second block.
726
727 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
728
729 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
730
731 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
732
733 PR target/59652
734 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
735 for 14-bit register offsets when INT14_OK_STRICT is false.
736
737 2014-01-07 Roland Stigge <stigge@antcom.de>
738 Michael Meissner <meissner@linux.vnet.ibm.com>
739
740 PR 57386/target
741 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
742 Only check TFmode for SPE constants. Don't check TImode or TDmode.
743
744 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
745
746 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
747 -mcpu.
748
749 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
750
751 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
752 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
753 rtx is const0_rtx or not.
754
755 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
756
757 PR target/58115
758 * target-globals.c (save_target_globals): Remove this_fn_optab
759 handling.
760 * toplev.c: Include optabs.h.
761 (target_reinit): Temporarily restore the global options if another
762 set of options are in force.
763
764 2014-01-07 Jakub Jelinek <jakub@redhat.com>
765
766 PR rtl-optimization/58668
767 * cfgcleanup.c (flow_find_cross_jump): Don't count
768 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
769 to determine what is counted.
770 (flow_find_head_matching_sequence): Use active_insn_p to determine
771 what is counted.
772 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
773 counting change.
774 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
775 determine what is counted.
776
777 PR tree-optimization/59643
778 * tree-predcom.c (split_data_refs_to_components): If one dr is
779 read and one write, determine_offset fails and the write isn't
780 in the bad component, just put the read into the bad component.
781
782 2014-01-07 Mike Stump <mikestump@comcast.net>
783 Jakub Jelinek <jakub@redhat.com>
784
785 PR pch/59436
786 * tree-core.h (struct tree_optimization_option): Change optabs
787 type from unsigned char * to void *.
788 * optabs.c (init_tree_optimization_optabs): Adjust
789 TREE_OPTIMIZATION_OPTABS initialization.
790
791 2014-01-06 Jakub Jelinek <jakub@redhat.com>
792
793 PR target/59644
794 * config/i386/i386.h (struct machine_function): Add
795 no_drap_save_restore field.
796 * config/i386/i386.c (ix86_save_reg): Use
797 !cfun->machine->no_drap_save_restore instead of
798 crtl->stack_realign_needed.
799 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
800 this function clears frame_pointer_needed. Set
801 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
802 and DRAP reg is needed.
803
804 2014-01-06 Marek Polacek <polacek@redhat.com>
805
806 PR c/57773
807 * doc/implement-c.texi: Mention that other integer types are
808 permitted as bit-field types in strictly conforming mode.
809
810 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
811
812 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
813 is newly allocated.
814
815 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
816
817 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
818
819 2014-01-06 Martin Jambor <mjambor@suse.cz>
820
821 PR ipa/59008
822 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
823 to int.
824 * ipa-prop.c (ipa_print_node_params): Fix indentation.
825
826 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
827
828 PR debug/59350
829 PR debug/59510
830 * var-tracking.c (add_stores): Preserve the value of the source even if
831 we don't record the store.
832
833 2014-01-06 Terry Guo <terry.guo@arm.com>
834
835 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
836
837 2014-01-05 Iain Sandoe <iain@codesourcery.com>
838
839 PR bootstrap/59541
840 * config/darwin.c (darwin_function_section): Adjust return values to
841 correspond to optimisation changes made in r206070.
842
843 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
844
845 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
846 from prefetch_block tune setting.
847 (nocona_cost): Correct size of prefetch block to 64.
848
849 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
850
851 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
852 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
853 used to save the static chain register in the computation of the offset
854 from which the FP registers need to be restored.
855
856 2014-01-04 Jakub Jelinek <jakub@redhat.com>
857
858 PR tree-optimization/59519
859 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
860 ICE if get_current_def (current_new_name) is already non-NULL, as long
861 as it is a phi result of some other phi in *new_exit_bb that has
862 the same argument.
863
864 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
865 or vmovdqu* for misaligned_operand.
866 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
867 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
868 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
869 aligned_mem for AVX512F masked aligned load and store builtins and for
870 non-temporal moves.
871
872 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
873
874 PR tree-optimization/59651
875 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
876 Address range for negative step should be added by TYPE_SIZE_UNIT.
877
878 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
879
880 * config/m68k/m68k.c (handle_move_double): Handle pushes with
881 overlapping registers also for registers other than the stack
882 pointer.
883
884 2014-01-03 Marek Polacek <polacek@redhat.com>
885
886 PR other/59661
887 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
888 __builtin_FILE.
889
890 2014-01-03 Jakub Jelinek <jakub@redhat.com>
891
892 PR target/59625
893 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
894 asm goto as jump.
895
896 * config/i386/i386.md (MODE_SIZE): New mode attribute.
897 (push splitter): Use <P:MODE_SIZE> instead of
898 GET_MODE_SIZE (<P:MODE>mode).
899 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
900 (mov -1, reg peephole2): Likewise.
901 * config/i386/sse.md (*mov<mode>_internal,
902 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
903 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
904 *<code><mode>3, *andnot<mode>3<mask_name>,
905 <mask_codefor><code><mode>3<mask_name>): Likewise.
906 * config/i386/subst.md (mask_mode512bit_condition,
907 sd_mask_mode512bit_condition): Likewise.
908
909 2014-01-02 Xinliang David Li <davidxl@google.com>
910
911 PR tree-optimization/59303
912 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
913 (dump_predicates): Better output format.
914 (pred_equal_p): New function.
915 (is_neq_relop_p): Ditto.
916 (is_neq_zero_form_p): Ditto.
917 (pred_expr_equal_p): Ditto.
918 (pred_neg_p): Ditto.
919 (simplify_pred): Ditto.
920 (simplify_preds_2): Ditto.
921 (simplify_preds_3): Ditto.
922 (simplify_preds_4): Ditto.
923 (simplify_preds): Ditto.
924 (push_pred): Ditto.
925 (push_to_worklist): Ditto.
926 (get_pred_info_from_cmp): Ditto.
927 (is_degenerated_phi): Ditto.
928 (normalize_one_pred_1): Ditto.
929 (normalize_one_pred): Ditto.
930 (normalize_one_pred_chain): Ditto.
931 (normalize_preds): Ditto.
932 (normalize_cond_1): Remove function.
933 (normalize_cond): Ditto.
934 (is_gcond_subset_of): Ditto.
935 (is_subset_of_any): Ditto.
936 (is_or_set_subset_of): Ditto.
937 (is_and_set_subset_of): Ditto.
938 (is_norm_cond_subset_of): Ditto.
939 (pred_chain_length_cmp): Ditto.
940 (convert_control_dep_chain_into_preds): Type change.
941 (find_predicates): Ditto.
942 (find_def_preds): Ditto.
943 (destroy_predicates_vecs): Ditto.
944 (find_matching_predicates_in_rest_chains): Ditto.
945 (use_pred_not_overlap_with_undef_path_pred): Ditto.
946 (is_pred_expr_subset): Ditto.
947 (is_pred_chain_subset_of): Ditto.
948 (is_included_in): Ditto.
949 (is_superset_of): Ditto.
950
951 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
952
953 Update copyright years.
954
955 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
956
957 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
958 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
959 config/arc/arc.md, config/arc/arc.opt,
960 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
961 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
962 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
963 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
964 config/linux-protos.h, config/linux.c, config/winnt-c.c,
965 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
966 vtable-verify.c, vtable-verify.h: Use the standard form for the
967 copyright notice.
968
969 2014-01-02 Tobias Burnus <burnus@net-b.de>
970
971 * gcc.c (process_command): Update copyright notice dates.
972 * gcov-dump.c: Ditto.
973 * gcov.c: Ditto.
974 * doc/cpp.texi: Bump @copying's copyright year.
975 * doc/cppinternals.texi: Ditto.
976 * doc/gcc.texi: Ditto.
977 * doc/gccint.texi: Ditto.
978 * doc/gcov.texi: Ditto.
979 * doc/install.texi: Ditto.
980 * doc/invoke.texi: Ditto.
981
982 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
983
984 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
985
986 2014-01-01 Jakub Jelinek <jakub@redhat.com>
987
988 * config/i386/sse.md (*mov<mode>_internal): Guard
989 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
990
991 PR rtl-optimization/59647
992 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
993 new_rtx into UNSIGNED_FLOAT rtxes.
994 \f
995 Copyright (C) 2014 Free Software Foundation, Inc.
996
997 Copying and distribution of this file, with or without modification,
998 are permitted in any medium without royalty provided the copyright
999 notice and this notice are preserved.