1 2014-05-07 Jakub Jelinek <jakub@redhat.com>
3 Backported from mainline
4 2013-09-10 Jakub Jelinek <jakub@redhat.com>
6 PR rtl-optimization/58365
7 * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
8 resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
11 2013-08-30 Jakub Jelinek <jakub@redhat.com>
13 PR tree-optimization/58277
14 * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
15 after seeing too many stmts with vdef in between dombb and current
16 bb, invalidate everything.
18 2013-08-23 Jakub Jelinek <jakub@redhat.com>
20 PR tree-optimization/58209
21 * tree-tailcall.c (find_tail_calls): Give up for pointer result types
22 if m or a is non-NULL.
24 2013-07-03 Jakub Jelinek <jakub@redhat.com>
27 * config/i386/predicates.md (vsib_address_operand): Disallow
28 SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
30 2013-06-27 Jakub Jelinek <jakub@redhat.com>
33 * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
34 constraints of operand 1 and 2.
37 * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
38 to match RTL canonicalization. Swap predicates and
39 constraints of operand 1 and 2.
41 2014-05-07 Richard Biener <rguenther@suse.de>
43 Backport from mainline
44 2013-11-19 Richard Biener <rguenther@suse.de>
46 PR tree-optimization/59164
47 * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
48 check whether we can create an epilogue loop to reflect the
49 cases where we create one.
51 2014-05-07 Richard Biener <rguenther@suse.de>
53 Backport from mainline
54 2013-11-29 Richard Biener <rguenther@suse.de>
56 PR tree-optimization/59334
57 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
60 2013-11-28 Richard Biener <rguenther@suse.de>
62 PR tree-optimization/59330
63 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
64 and fix delayed marking of free calls not necessary.
66 2014-01-09 Richard Biener <rguenther@suse.de>
68 PR tree-optimization/59715
69 * tree-cfg.h (split_critical_edges): Declare.
70 * tree-cfg.c (split_critical_edges): Export.
71 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
73 2014-05-07 Richard Biener <rguenther@suse.de>
75 PR tree-optimization/57864
76 * tree-ssa-pre.c (phi_translate_1): Backport NAME case
77 simplification from mainline. Do not lookup the VN
80 2014-05-07 Richard Biener <rguenther@suse.de>
82 Backport from mainline
83 2013-08-29 Richard Biener <rguenther@suse.de>
85 PR tree-optimization/58246
86 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
87 handle the dominance check inside a basic-block.
89 2014-05-06 Richard Biener <rguenther@suse.de>
91 Backport from mainline
92 2013-05-27 Richard Biener <rguenther@suse.de>
94 PR tree-optimization/57417
95 * tree-ssa-sccvn.c (set_ssa_val_to): Compare addresses using
96 get_addr_base_and_unit_offset.
98 2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
101 * config/sparc/sparc.md (ashlsi3_extend): Delete.
103 2014-04-23 Uros Bizjak <ubizjak@gmail.com>
105 Backport from mainline
106 2014-04-21 Uros Bizjak <ubizjak@gmail.com>
109 * config/i386/i386.c (ix86_expand_builtin)
110 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
111 register for target RTX.
113 2014-04-07 Martin Jambor <mjambor@suse.cz>
116 * ipa-cp.c (propagate_constants_accross_call): Do not propagate
119 2014-04-07 Dominique d'Humieres <dominiq@lps.ens.fr>
121 Backport from mainline
122 2013-09-14 Iain Sandoe <iains@gcc.gnu.org>
125 * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata
127 (darwin_objc1_section): Likewise.
128 (darwin_file_end): Emit Image Info section when required.
130 2014-04-04 Richard Biener <rguenther@suse.de>
132 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
134 2014-04-01 Richard Biener <rguenther@suse.de>
136 * gimple.h (struct gimple_statement_base): Align subcode to
139 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
141 * doc/invoke.texi (mapp-regs): Clarify.
143 2014-03-23 Eric Botcazou <ebotcazou@adacore.com>
145 PR rtl-optimization/60601
146 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
148 2014-03-20 Jakub Jelinek <jakub@redhat.com>
151 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
152 into CONST, put pic register as first operand of PLUS. Use
153 gen_const_mem for both 32-bit and 64-bit PIC got loads.
155 2014-03-19 Eric Botcazou <ebotcazou@adacore.com>
157 * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Remove space.
159 2014-03-18 Kai Tietz <ktietz@redhat.com>
161 PR rtl-optimization/56356
162 * sdbout.c (sdbout_parms): Verify that parms'
163 incoming argument is valid.
164 (sdbout_reg_parms): Likewise.
166 2014-03-18 Richard Biener <rguenther@suse.de>
168 Backport from mainline
169 2013-11-05 Richard Biener <rguenther@suse.de>
172 * tree-dfa.c (get_ref_base_and_extent): Merge common code
173 in MEM_REF and TARGET_MEM_REF handling. Make sure to
174 process trailing array detection before diving into the
175 view-converted object (and possibly apply some extra offset).
177 2012-05-07 Eric Botcazou <ebotcazou@adacore.com>
179 * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
180 computation using the precision of the index type.
182 2012-05-31 Eric Botcazou <ebotcazou@adacore.com>
184 * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
185 double ints throughout.
187 2014-03-18 Richard Biener <rguenther@suse.de>
189 Backport from mainline
190 2013-08-27 Richard Biener <rguenther@suse.de>
192 PR tree-optimization/57521
193 * tree-if-conv.c (if_convertible_bb_p): Verify that at least
194 one edge is non-critical.
195 (find_phi_replacement_condition): Make sure to use a non-critical
196 edge. Cleanup and remove old bug workarounds.
197 (bb_postdominates_preds): Remove.
198 (if_convertible_loop_p_1): Do not compute post-dominators.
199 (combine_blocks): Do not free post-dominators.
200 (main_tree_if_conversion): Likewise.
202 2013-09-03 Richard Biener <rguenther@suse.de>
205 * fold-const.c (negate_expr_p): Fix division case.
206 (negate_expr): Likewise.
208 2013-11-19 Richard Biener <rguenther@suse.de>
210 PR tree-optimization/57517
211 * tree-predcom.c (combinable_refs_p): Verify the combination
212 is always executed when the refs are.
214 2014-03-17 Richard Biener <rguenther@suse.de>
216 Backport from mainline
217 2013-05-21 Richard Biener <rguenther@suse.de>
219 PR tree-optimization/57303
220 * tree-ssa-sink.c (statement_sink_location): Properly handle
223 2013-12-02 Richard Biener <rguenther@suse.de>
225 PR tree-optimization/59139
226 * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
228 (get_val_for): Use gcc_checking_asserts.
230 2014-02-14 Richard Biener <rguenther@suse.de>
232 PR tree-optimization/60183
233 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
235 (tree_ssa_phiprop): Calculate and free post-dominators.
237 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
239 Backport from 2014-03-14 trunk r208562.
242 * config/avr/avr.c (avr_set_current_function): Pass function name
243 through default_strip_name_encoding before sanity checking instead
244 of skipping the first char of the assembler name.
246 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
248 * config/pa/pa.c (pa_output_move_double): Don't valididate when
249 adjusting offsetable addresses.
251 2014-02-21 Uros Bizjak <ubizjak@gmail.com>
253 Backport from mainline
254 2014-02-21 Jakub Jelinek <jakub@redhat.com>
256 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
257 mode for mask of V8SFmode permutation.
259 Backport from 4.8 branch
260 2014-02-20 Jakub Jelinek <jakub@redhat.com>
263 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
264 gen_reg_rtx if d->testing_p.
265 (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
266 expand_vec_perm_broadcast_1): Return early if d->testing_p and
267 we will certainly return true.
269 2014-02-20 Terry Guo <terry.guo@arm.com>
271 Backport from mainline
272 2014-02-08 Terry Guo <terry.guo@arm.com>
274 * doc/invoke.texi: Document ARM -march=armv7e-m.
276 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
278 Backport from mainline
279 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
282 * config/i386/i386.c (construct_container): Remove TFmode check
283 for X86_64_INTEGER_CLASS.
285 2014-02-18 Kai Tietz <ktietz@redhat.com>
287 Backport from mainline
289 * config/i386/i386.c (ix86_expand_prologue): Use
290 rax register as displacement for restoring %r10, %rax.
291 Additional fix wrong offset for restoring both-registers.
293 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
295 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
296 assertion with conditional return.
298 2014-02-18 Jakub Jelinek <jakub@redhat.com>
299 Uros Bizjak <ubizjak@gmail.com>
302 * config/i386/driver-i386.c (host_detect_local_cpu): If
303 YMM state is not saved by the OS, also clear has_f16c. Move
304 CPUID 0x80000001 handling before YMM state saving checking.
306 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
308 Backport from mainline
309 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
311 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
312 operands[2], not operands[3].
314 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
316 Backport from mainline
317 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
318 Uros Bizjak <ubizjak@gmail.com>
321 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
323 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
325 * doc/invoke.texi: Fix thinko introduced by previous revision.
327 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
329 Backport from mainline.
330 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
333 * doc/invoke.texi (-march): Clarify documentation for ARM.
337 2014-02-04 Uros Bizjak <ubizjak@gmail.com>
339 Backport from mainline
340 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
343 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
344 when calculating size of integer atomic types.
346 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
348 Backport from mainline
349 2014-01-30 Jakub Jelinek <jakub@redhat.com>
351 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
353 2014-01-31 Richard Henderson <rth@redhat.com>
356 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
357 until after else_eh is processed.
359 2014-01-29 Markus Trippelsdorf <markus@trippelsdorf.de>
361 Backport from mainline
362 2012-12-13 Jakub Jelinek <jakub@redhat.com>
364 PR gcov-profile/55650
365 * coverage.c (coverage_obj_init): Return false if no functions
368 2014-01-25 Walter Lee <walt@tilera.com>
370 Backport from mainline
371 2014-01-25 Walter Lee <walt@tilera.com>
373 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
374 avoid clobbering a live register.
376 2014-01-25 Walter Lee <walt@tilera.com>
378 Backport from mainline
379 2014-01-25 Walter Lee <walt@tilera.com>
381 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
382 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
383 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
384 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
386 2014-01-25 Walter Lee <walt@tilera.com>
388 Backport from mainline
389 2014-01-25 Walter Lee <walt@tilera.com>
391 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
392 insns before bundling.
393 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
395 2014-01-25 Walter Lee <walt@tilera.com>
397 Backport from mainline
398 2014-01-25 Walter Lee <walt@tilera.com>
400 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
401 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
402 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
404 2014-01-25 Walter Lee <walt@tilera.com>
406 Backport from mainline
407 2014-01-25 Walter Lee <walt@tilera.com>
409 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
413 2014-01-25 Walter Lee <walt@tilera.com>
415 Backport from mainline
416 2014-01-25 Walter Lee <walt@tilera.com>
418 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
419 (TARGET_EXPAND_TO_RTL_HOOK): Define.
421 2014-01-22 Uros Bizjak <ubizjak@gmail.com>
422 Jakub Jelinek <jakub@redhat.com>
425 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
426 for SImode_address_operand operands. Return false
427 if operands[1] is a REG.
429 2014-01-21 Andrey Belevantsev <abel@ispras.ru>
431 Backport from mainline
432 2013-12-23 Andrey Belevantsev <abel@ispras.ru>
434 PR rtl-optimization/57422
435 * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
438 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
440 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
441 long non-pic millicode calls.
443 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
445 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
446 call to $$dyncall when TARGET_LONG_CALLS is true.
448 2014-01-17 Charles Baylis <charles.baylis@linaro.org>
450 Backport from mainline
451 2013-12-19 Charles Baylis <charles.baylis@linaro.org>
454 * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
456 * config/arm/ldmstm.md: Regenerate.
458 2013-12-19 Charles Baylis <charles.baylis@linaro.org>
461 * config/arm/predicates.md (arm_hard_general_register_operand):
463 (arm_hard_register_operand): Remove.
464 * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
466 * config/arm/ldmstm.md: Regenerate.
468 2014-01-16 Jakub Jelinek <jakub@redhat.com>
471 * config/i386/i386.c (ix86_expand_builtin): If target doesn't
472 satisfy operand 0 predicate for gathers, use a new pseudo as
475 2014-01-16 Richard Henderson <rth@redhat.com>
478 * reginfo.c (global_regs_decl): Globalize.
479 * rtl.h (global_regs_decl): Declare.
480 * ira.c (do_reload): Diagnose frame_pointer_needed and it
481 reserved via global_regs.
483 2014-01-16 Marek Polacek <polacek@redhat.com>
485 Backport from mainline
486 2014-01-16 Marek Polacek <polacek@redhat.com>
489 * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
490 it is error_mark_node.
492 2014-01-14 Uros Bizjak <ubizjak@gmail.com>
495 2014-01-08 Uros Bizjak <ubizjak@gmail.com>
497 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
498 from prefetch_block tune setting.
500 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
502 PR rtl-optimization/54300
503 * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
504 outputs in a single-set are killed from the value chains.
506 2014-01-10 Huacai Chen <chenhc@lemote.com>
508 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
509 kernel strings for Loongson-2E/2F/3A.
511 2014-01-08 Uros Bizjak <ubizjak@gmail.com>
513 Backport from mainline
514 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
516 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
517 from prefetch_block tune setting.
518 (nocona_cost): Correct size of prefetch block to 64.
520 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
522 * doc/invoke.texi (output file options): Add missing markers.
524 2013-12-11 Kai Tietz <ktietz@redhat.com>
527 * config/i386/i386.c (ix86_expand_prologue): plus_constant
528 takes no mode-argument.
530 2013-12-10 Kai Tietz <ktietz@redhat.com>
533 * config/i386/i386.c (ix86_expand_prologue): Address saved
534 registers stack-relative, not via frame-pointer.
536 2013-12-03 Marek Polacek <polacek@redhat.com>
538 Backport from mainline
539 2013-12-03 Marek Polacek <polacek@redhat.com>
542 * c-decl.c (build_compound_literal): Allow compound literals with
545 2013-12-01 Eric Botcazou <ebotcazou@adacore.com>
547 * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
550 2013-11-28 Uros Bizjak <ubizjak@gmail.com>
552 Backport from mainline
553 2013-11-23 Uros Bizjak <ubizjak@gmail.com>
556 * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
557 Declare as MULTI_ARG_1_SF instruction.
558 <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
559 * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
560 from *xop_vmfrcz_<mode>.
561 * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
562 to merge scalar result with __A.
563 (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
566 2013-11-19 Uros Bizjak <ubizjak@gmail.com>
568 Backport from mainline
569 2013-11-18 Uros Bizjak <ubizjak@gmail.com>
571 * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
572 ix86_address_subreg_operand. Move subreg checks to
573 ix86_validate_address_register. Move address override check to
574 ix86_legitimate_address_p.
575 (ix86_validate_address_register): New function.
576 (ix86_legitimate_address_p): Call ix86_validate_address_register
577 to validate base and index registers. Add address override check
578 from ix86_decompose_address.
579 (ix86_decompose_address): Remove.
581 Backport from mainline
582 2013-11-17 Uros Bizjak <ubizjak@gmail.com>
585 * config/i386/i386.c (ix86_address_subreg_operand): Do not
586 reject non-integer subregs.
587 (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
588 Move check for invalid x32 constant addresses ...
589 (ix86_legitimate_address_p): ... here.
591 Bacport from mainline
592 2012-03-13 Uros Bizjak <ubizjak@gmail.com>
594 * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
595 addresses only when %reg is not in word mode.
597 2013-11-10 Karlson2k <k2k@narod.ru>
598 Kai Tietz <ktietz@redhat.com>
602 * configure.ac: Adding for exported symbols check
603 and for rdynamic-check executable-extension.
604 * configure: Regenerated.
606 2013-11-07 H.J. Lu <hongjiu.lu@intel.com>
609 * config/i386/i386.md (push peepholer/splitter): Use Pmode
610 with stack_pointer_rtx.
612 2013-11-05 Uros Bizjak <ubizjak@gmail.com>
614 * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
616 2013-10-26 Uros Bizjak <ubizjak@gmail.com>
618 Backport from mainline
619 2013-10-22 Uros Bizjak <ubizjak@gmail.com>
622 * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
623 Remove CCCmode handling.
624 <case LTU>: Return 'c' suffix for CCCmode.
625 <case GEU>: Return 'nc' suffix for CCCmode.
626 (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
627 * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
628 (*sub<mode>3_cc_overflow): Ditto.
629 (*subsi3_zext_cc_overflow): Ditto.
631 2013-10-26 Uros Bizjak <ubizjak@gmail.com>
633 Backport from mainline
634 2013-10-19 Uros Bizjak <ubizjak@gmail.com>
637 * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
638 ST1_REG and XMM1_REG for 32bit and 64bit targets. Also add DI_REG
639 and SI_REG for 64bit SYSV ABI targets.
641 2013-10-25 Richard Henderson <rth@twiddle.net>
644 * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
645 instead of create_convert_operand_to.
646 (maybe_emit_sync_lock_test_and_set): Likewise.
647 (expand_atomic_compare_and_swap): Likewise.
648 (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
650 2013-10-25 Eric Botcazou <ebotcazou@adacore.com>
652 PR rtl-optimization/58831
653 * alias.c (init_alias_analysis): At the beginning of each iteration,
654 set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
656 2013-10-25 Eric Botcazou <ebotcazou@adacore.com>
658 * recog.c (search_ofs): New static variable moved from...
659 (peep2_find_free_register): ...here.
660 (peephole2_optimize): Initialize it.
662 2013-10-02 John David Anglin <danglin@gcc.gnu.org>
664 * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
666 2013-09-23 Eric Botcazou <ebotcazou@adacore.com>
668 * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
669 assignment statements.
671 2013-09-20 John David Anglin <danglin@gcc.gnu.org>
673 * config/pa/pa.md: In "scc" insn patterns, change output template to
674 handle const0_rtx in reg_or_0_operand operands.
676 2013-09-18 Daniel Morris <danielm@ecoscentric.com>
677 Paolo Carlini <paolo.carlini@oracle.com>
680 * doc/implement-cxx.texi: Fix references to the C++ standards.
682 2013-09-14 John David Anglin <danglin@gcc.gnu.org>
685 * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
688 2013-09-12 Terry Guo <terry.guo@arm.com>
690 Backport from mainline
691 2012-09-17 Richard Guenther <rguenther@suse.de>
694 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
695 FIXED_VALUE_TYPE instead of struct fixed_value.
697 2013-09-10 Richard Earnshaw <rearnsha@arm.com>
700 * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
701 support conditional execution.
702 (combine_vcvt_f64_<FCVTI32typename>): Likewise.
704 2013-09-01 Uros Bizjak <ubizjak@gmail.com>
706 Backport from mainline
707 2013-08-31 Uros Bizjak <ubizjak@gmail.com>
709 * config/alpha/alpha.c (alpha_emit_conditional_move): Update
710 "cmp" RTX before signed_comparison_operator check to account
713 2013-09-01 John David Anglin <danglin@gcc.gnu.org>
715 * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
717 2013-09-01 Iain Sandoe <iain@codesourcery.com>
720 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
722 * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
723 TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
724 (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
726 * doc/tm.texi: Regenerate.
727 * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
729 * config/darwin-c.c: Include target.h.
730 (darwin_objc_declare_unresolved_class_reference): New function.
731 (darwin_objc_declare_class_definition): New function.
732 (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
733 (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
735 2013-09-01 Iain Sandoe <iain@codesourcery.com>
737 Backport from mainline:
738 2013-07-22 Uros Bizjak <ubizjak@gmail.com>
740 * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
741 it is not needed after split.
743 2013-07-20 Iain Sandoe <iain@codesourcery.com>
746 * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
747 second label for nonlocal goto receivers. Don't output pic base labels
748 unless we're producing PIC; mark that action unreachable().
749 (ix86_save_reg): If the function contains a nonlocal label, save the
751 * config/darwin-protos.h (machopic_should_output_picbase_label): New.
752 * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
753 (update_pic_label_number_if_needed): New.
754 (machopic_output_function_base_name): Adjust for nonlocal receiver
756 (machopic_should_output_picbase_label): New.
757 * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
758 (nonlocal_goto_receiver): New insn and split.
760 2013-08-28 Uros Bizjak <ubizjak@gmail.com>
762 Backport from mainline
763 2013-08-27 Christian Widmer <shadow@umbrox.de>
766 * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
767 of Ivy Bridge processors.
769 2013-08-21 Richard Earnshaw <rearnsha@arm.com>
772 * arm.c (aapcs_vfp_allocate): Decompose the argument if the
773 suggested mode for the assignment isn't compatible with the
776 2013-08-17 Uros Bizjak <ubizjak@gmail.com>
778 Backport from mainline
779 2013-08-12 Perez Read <netfirewall@gmail.com>
782 * config/i386/i386.md (*movabs<mode>_1): Add <ptrsize> PTR before
783 operand 0 for intel asm alternative.
784 (*movabs<mode>_2): Ditto for operand 1.
786 2013-08-13 Marek Polacek <polacek@redhat.com>
789 2013-0813 Marek Polacek <polacek@redhat.com>
790 Jakub Jelinek <jakub@redhat.com>
792 PR tree-optimization/57980
793 * tree-tailcall.c (process_assignment): Return false
794 when not dealing with integers or floats.
796 2013-08-12 David Edelsohn <dje.gcc@gmail.com>
798 Backport from mainline
799 2013-02-14 Steven Bosscher <steven@gcc.gnu.org>
801 * collect2-aix.h: Define F_LOADONLY.
803 2013-08-02 Eric Botcazou <ebotcazou@adacore.com>
805 * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
806 the implied StoreLoad barrier for atomic operations if before.
808 2013-07-11 Georg-Johann Lay <avr@gjlay.de>
810 Backport from 2013-07-11 trunk r200901.
813 * config/avr/avr.c (avr_set_current_function): Sanity-check signal
814 name seen by assembler/linker if available.
816 2013-07-10 Georg-Johann Lay <avr@gjlay.de>
818 Backport from 2013-07-10 trunk r200872.
821 * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
824 2013-07-10 Uros Bizjak <ubizjak@gmail.com>
826 Backport from mainline
827 2013-07-06 Uros Bizjak <ubizjak@gmail.com>
829 * config/i386/sse.md (sse_movlhps): Change alternative 3
832 2013-07-09 Joseph Myers <joseph@codesourcery.com>
834 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
835 adjust register size for TDmode and TFmode for VSX registers.
837 2013-07-08 Eric Botcazou <ebotcazou@adacore.com>
839 * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
841 2013-07-08 Jakub Jelinek <jakub@redhat.com>
843 PR rtl-optimization/57829
844 * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
845 mask bits outside of mode are just sign-extension from mode to HWI.
847 2013-07-05 Uros Bizjak <ubizjak@gmail.com>
849 Backport from mainline
850 2013-06-20 Uros Bizjak <ubizjak@gmail.com>
853 * config/i386/i386.c (construct_container): Report error if
854 long double is used with disabled x87 float returns.
856 2013-06-21 David Edelsohn <dje.gcc@gmail.com>
858 Backport from mainline
859 2013-06-19 David Edelsohn <dje.gcc@gmail.com>
862 * collect2.c (collect_atexit): New.
863 (collect_exit): Delete.
864 (main): Register collect_atexit with atexit.
865 (collect_wait): Change collect_exit to exit.
867 * collect2.h (collect_exit): Delete.
868 * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
870 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
872 Backport from mainline
873 2013-06-10 Uros Bizjak <ubizjak@gmail.com>
875 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
876 cmp_code to construct REG_EQUAL note.
878 Backport from mainline
879 2013-06-05 Uros Bizjak <ubizjak@gmail.com>
881 * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
882 GE, GT, GEU and GTU compares, modulo DImode compares with zero.
884 Backport from mainline
885 2013-05-23 Uros Bizjak <ubizjak@gmail.com>
888 * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
889 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
890 REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
892 2013-06-09 Jakub Jelinek <jakub@redhat.com>
895 * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
896 that operands[2] doesn't overlap with operands[0].
898 2013-05-22 Uros Bizjak <ubizjak@gmail.com>
901 * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
902 for non-sse2 targets. Simplify mode attribute calculation.
904 2013-05-17 Uros Bizjak <ubizjak@gmail.com>
906 Backport from mainline
907 2013-05-16 Uros Bizjak <ubizjak@gmail.com>
909 * config/i386/driver-i386.c (host_detect_local_cpu): Determine
910 cache parameters using detect_caches_amd also for CYRIX,
911 NSC and TM2 signatures.
913 2013-05-16 Uros Bizjak <ubizjak@gmail.com>
914 Dzianis Kahanovich <mahatma@eu.by>
918 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
919 VIA/Centaur processors and determine their cache parameters
920 using detect_caches_amd.
922 2013-05-15 Uros Bizjak <ubizjak@gmail.com>
924 * config/i386/i386.c (ix86_option_override_internal): Add
925 PTA_POPCNT to corei7 entry.
927 2013-05-14 Richard Biener <rguenther@suse.de>
929 PR gcov-profile/57269
930 Backport from mainline
931 2012-06-30 Nathan Sidwell <nathan@acm.org>
933 * coverage.c (coverage_init): Read counts file before writing
936 2013-05-13 Uros Bizjak <ubizjak@gmail.com>
939 Backport from mainline
940 2013-01-22 Jakub Jelinek <jakub@redhat.com>
943 * config/i386/i386.md (UNSPEC_STOS): New.
944 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
945 *strsetqi_1): Add UNSPEC_STOS.
947 2013-05-10 Joey Ye <joey.ye@arm.com>
949 Backport from mainline
950 2012-11-29 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
953 * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
955 (thumb1_extendhisi2): Reduce Thumb pool range.
956 (arm_movdi): Likewise.
957 (thumb1_movdi_insn): Likewise.
958 (thumb1_movsi_insn): Likewise.
959 (pic_load_addr_unified): Likewise.
960 (pic_load_addr_32bit): Likewise.
961 (pic_load_addr_thumb1): Likewise.
962 (thumb1_movhf): Likewise.
963 (arm_movsf_soft_insn): Likewise.
964 (thumb1_movsf_soft_insn): Likewise.
965 (movdf_soft_insn): Likewise.
966 (thumb1_movdf_soft_insn): Likewise.
967 * config/arm/neon.md (*neon_mov<mode>): Likewise.
968 (*neon_mov<mode>): Likwise.
969 * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
970 (*thumb2_movhi_insn): Likewise.
971 (*thumb2_extendqisi_v6): Likewise.
972 (*thumb2_zero_extendqisi_v6): Likewise.
973 (*thumb2_zero_extendqisi2_v6): Likewise.
974 * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
975 (*movdi_vfp): Likewise.
976 (*movdi_vfp_cortexa8): Likewise.
977 (*thumb2_movsf_vfp): Likewise.
978 (*thumb2_movdf_vfp): Likewise.
980 2013-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
982 * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
983 Add mthumb/march=armv7-a multilib.
984 Add mthumb/march=armv7-r multilib.
985 Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
987 2013-05-10 Ralf Corsépius <ralf.corsepius@rtems.org>
990 * config/v850/t-rtems: Add more multilibs.
992 2013-05-07 Michael Meissner <meissner@linux.vnet.ibm.com>
995 2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
998 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
999 to save TFmode registers and DImode to save TImode registers for
1000 caller save operations.
1001 (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
1002 mark being partially clobbered since they only use the first
1005 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
1006 and TDmode only use the upper 64-bits of each VSX register.
1008 2013-05-03 Marek Polacek <polacek@redhat.com>
1010 Backport from mainline
1011 2013-04-25 Marek Polacek <polacek@redhat.com>
1013 PR tree-optimization/57066
1014 * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
1016 2013-04-30 Uros Bizjak <ubizjak@gmail.com>
1018 Backport from mainline
1019 2013-04-29 Uros Bizjak <ubizjak@gmail.com>
1022 * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
1024 (*zero_extendsidi2): Ditto.
1026 Backport from mainline
1027 2013-04-29 Uros Bizjak <ubizjak@gmail.com>
1030 * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
1032 2013-04-29 Christian Bruel <christian.bruel@st.com>
1035 * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
1037 2013-04-27 Jakub Jelinek <jakub@redhat.com>
1040 * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
1041 the immediate rotate count.
1043 2013-04-21 Eric Botcazou <ebotcazou@adacore.com>
1045 * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
1047 2013-04-19 Matthias Klose <doko@ubuntu.com>
1051 2013-04-01 Andrey Belevantsev <abel@ispras.ru>
1053 Backport from mainline
1054 2013-02-25 Andrey Belevantsev <abel@ispras.ru>
1055 Alexander Monakov <amonakov@ispras.ru>
1058 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1059 flush pending lists also on non-jumps. Adjust comment.
1062 2012-08-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1064 * sched-deps.c (add_dependence_list_and_free): Simplify.
1065 (flush_pending_list_and_free): Fix a hack that was fixing a hack. Free
1066 lists when add_dependence_list_and_free doesn't free them.
1068 2013-04-19 Marek Polacek <polacek@redhat.com>
1070 Backport from mainline
1071 2013-01-08 Steven Bosscher <steven@gcc.gnu.org>
1072 Jakub Jelinek <jakub@redhat.com>
1074 PR tree-optimization/48189
1075 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
1076 If nitercst is 0, don't predict the exit edge.
1078 2013-04-16 Jack Howarth <howarth@bromo.med.uc.edu>
1080 Backport from mainline
1081 2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
1082 * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
1084 (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
1087 2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
1089 * doc/tm.texi: Update.
1090 * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
1091 * target.def (force_at_comp_dir): New hook.
1092 * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
1093 * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
1095 2013-04-15 Eric Botcazou <ebotcazou@adacore.com>
1098 * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1099 (S_MODES): Set H_MODE bit.
1100 (SF_MODES): Set only S_MODE and SF_MODE bits.
1101 (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1102 (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1103 <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1104 <MODE_FLOAT>: Likewise.
1106 2013-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1108 Backport from mainline:
1109 2013-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1112 * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1113 nuses, make sure we have a label.
1115 2013-04-11 Richard Biener <rguenther@suse.de>
1117 * BASE-VER: Set to 4.7.4.
1118 * DEV-PHASE: Set to prerelease.
1120 2013-04-11 Release Manager
1122 * GCC 4.7.3 released.
1124 2013-04-10 David S. Miller <davem@davemloft.net>
1126 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1127 or -mcpu=hypersparc.
1129 2013-04-05 Eric Botcazou <ebotcazou@adacore.com>
1133 2013-04-01 Andrey Belevantsev <abel@ispras.ru>
1135 Backport from mainline
1136 2013-02-25 Andrey Belevantsev <abel@ispras.ru>
1137 Alexander Monakov <amonakov@ispras.ru>
1140 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1141 flush pending lists also on non-jumps. Adjust comment.
1143 2013-04-03 Richard Biener <rguenther@suse.de>
1145 PR tree-optimization/56501
1146 * tree-switch-conversion.c (check_process_case): Properly
1147 handle !single_succ_p case.
1149 2013-04-03 Jakub Jelinek <jakub@redhat.com>
1151 Backported from mainline
1152 2013-03-06 Jakub Jelinek <jakub@redhat.com>
1154 PR tree-optimization/56539
1155 * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1156 instead of GSI_CONTINUE_LINKING as last argument to
1157 force_gimple_operand_gsi. Adjust function comment.
1159 2013-03-05 Jakub Jelinek <jakub@redhat.com>
1162 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1163 (avoid_complex_debug_insns): New function.
1164 (expand_debug_locations): Call it.
1166 2013-04-02 Wei Mi <wmi@google.com>
1168 * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1169 ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1170 *<rotate_insn><mode>3_mask in i386.md.
1172 2013-04-02 Richard Biener <rguenther@suse.de>
1175 Backport from mainline
1176 2012-05-16 Richard Guenther <rguenther@suse.de>
1178 * tree-inline.c (declare_return_variable): Properly handle
1179 DECL_BY_REFERENCE return vars in SSA form.
1181 2013-04-01 Wei Mi <wmi@google.com>
1183 * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1184 Truncate operand 2 using %b asm operand modifier.
1185 (*<shift_insn><mode>3_mask): Ditto.
1186 (*<rotate_insn><mode>3_mask): Ditto.
1188 2013-04-01 Uros Bizjak <ubizjak@gmail.com>
1190 * config/i386/i386.md (*movsf_internal): Change type of
1191 alternatives 3,4 to imov.
1193 2013-04-01 Andrey Belevantsev <abel@ispras.ru>
1195 Backport from mainline
1196 2013-02-27 Andrey Belevantsev <abel@ispras.ru>
1199 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1200 when the may_trap_p bit of the exprs being merged differs.
1201 Reorder tests for speculativeness in the logical and operator.
1203 Backport from mainline
1204 2013-03-05 Jakub Jelinek <jakub@redhat.com>
1207 * sel-sched-ir.c (free_sched_pools): Release
1208 succs_info_pool.stack[succs_info_pool.max_top] vectors too
1209 if succs_info_pool.max_top isn't -1.
1211 2013-04-01 Andrey Belevantsev <abel@ispras.ru>
1213 Backport from mainline
1214 2012-02-19 Andrey Belevantsev <abel@ispras.ru>
1217 * sel-sched.c: Include ira.h.
1218 (implicit_clobber_conflict_p): New function.
1219 (moveup_expr): Use it.
1220 * Makefile.in (sel-sched.o): Depend on ira.h.
1222 2013-04-01 Andrey Belevantsev <abel@ispras.ru>
1224 Backport from mainline
1225 2013-02-25 Andrey Belevantsev <abel@ispras.ru>
1226 Alexander Monakov <amonakov@ispras.ru>
1229 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1230 flush pending lists also on non-jumps. Adjust comment.
1232 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
1234 * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1235 * doc/extend.texi (Named Address Spaces): Ditto.
1236 (Variable Attributes): Ditto.
1238 2013-03-28 Eric Botcazou <ebotcazou@adacore.com>
1240 * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1241 general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1244 2013-03-27 Walter Lee <walt@tilera.com>
1246 Backport from mainline:
1247 2013-03-27 Walter Lee <walt@tilera.com>
1249 * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1250 double-decrement of next_scratch_regno.
1252 2013-03-27 Walter Lee <walt@tilera.com>
1254 Backport from mainline:
1255 2013-03-27 Walter Lee <walt@tilera.com>
1257 * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1259 (insn_v1mulus): Ditto.
1260 (insn_v2muls): Ditto.
1262 2013-03-27 Walter Lee <walt@tilera.com>
1264 Backport from mainline:
1265 2013-03-27 Walter Lee <walt@tilera.com>
1267 * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1269 (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1271 2013-03-27 Walter Lee <walt@tilera.com>
1273 Backport from mainline:
1274 2013-03-27 Walter Lee <walt@tilera.com>
1276 * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
1278 (*sibcall_value): Ditto.
1280 2013-03-27 Walter Lee <walt@tilera.com>
1282 Backport from mainline:
1283 2013-03-27 Walter Lee <walt@tilera.com>
1285 * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1286 (insn_mnz_v8qi): ... this ...
1287 (insn_mnz_v4hi): ... and this. Replace (const_int 0) with the
1289 (insn_v<n>mnz): Replaced by ...
1290 (insn_v1mnz): ... this ...
1291 (insn_v2mnz): ... and this. Replace (const_int 0) with the vector
1293 (insn_mz_<mode>): Replaced by ...
1294 (insn_mz_v8qi): ... this ...
1295 (insn_mz_v4hi): ... and this. Replace (const_int 0) with the
1297 (insn_v<n>mz): Replaced by ...
1298 (insn_v1mz): ... this ...
1299 (insn_v2mz): ... and this. Replace (const_int 0) with the vector
1302 2013-03-26 Eric Botcazou <ebotcazou@adacore.com>
1304 * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1306 2013-03-26 Richard Biener <rguenther@suse.de>
1308 Backport from mainline:
1309 2013-03-13 Richard Biener <rguenther@suse.de>
1311 PR tree-optimization/56608
1312 * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1313 calls when vectorizing basic-blocks.
1315 2013-03-05 Richard Biener <rguenther@suse.de>
1317 PR tree-optimization/56270
1318 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1319 of loads after scheduling an SLP instance.
1321 2013-03-26 Walter Lee <walt@tilera.com>
1323 Backport from mainline:
1324 2013-03-26 Walter Lee <walt@tilera.com>
1326 * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1327 * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1329 2013-03-26 Walter Lee <walt@tilera.com>
1331 Backport from mainline:
1332 2013-03-25 Walter Lee <walt@tilera.com>
1334 * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1335 TILEGX_INSN_SHUFFLEBYTES1.
1336 * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1338 (tilegx_builtins): Ditto.
1339 * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1341 2013-03-26 Walter Lee <walt@tilera.com>
1343 Backport from mainline:
1344 2013-03-25 Walter Lee <walt@tilera.com>
1346 * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1347 tests for constraint J, K, N, P.
1349 2013-03-26 Walter Lee <walt@tilera.com>
1351 Backport from mainline:
1352 2013-03-25 Walter Lee <walt@tilera.com>
1354 * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1355 Use indirect/pcrel encoding.
1356 * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1359 2013-03-25 Oleg Endo <olegendo@gcc.gnu.org>
1361 Backport from mainline:
1362 2013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
1363 2013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
1366 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1367 (musermode): Convert to Var(TARGET_USERMODE).
1368 * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1369 MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1370 * config/sh/sh.c (sh_option_override): Use
1371 TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1372 * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1374 (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1376 (udivsi3_i4_single, divsi3_i4_single): Use
1377 TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1378 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1379 (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1380 * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1381 (SUBTARGET_OVERRIDE_OPTIONS): New.
1383 2013-03-25 Oleg Endo <olegendo@gcc.gnu.org>
1385 Backport from mainline:
1386 2012-04-03 Kaz Kojima <kkojima@gcc.gnu.org>
1388 * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1389 to m2a-single instead of m2e.
1391 2013-03-22 H.J. Lu <hongjiu.lu@intel.com>
1394 * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1397 2013-03-22 H.J. Lu <hongjiu.lu@intel.com>
1400 * config/i386/i386.c (init_cumulative_args): Also set
1401 cum->callee_return_avx256_p.
1402 (ix86_function_arg): Set cum->callee_pass_avx256_p. Set
1403 cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1405 * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1406 callee_return_avx256_p.
1408 2013-03-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1410 Backport from mainline:
1411 2012-12-04 Ian Lance Taylor <iant@google.com>
1413 * godump.c (find_dummy_types): Output a dummy type if we couldn't
1414 output the real type.
1416 2013-03-20 Jack Howarth <howarth@bromo.med.uc.edu>
1419 * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1420 (PLUS_EXPR): Likewise.
1421 * doc/cppopts.texi (--help): Likewise.
1422 * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1423 (-fdump-rtl-cprop_hardreg): Likewise.
1424 (-fdump-rtl-csa): Likewise.
1425 (-fdump-rtl-dce): Likewise.
1426 (-fdump-rtl-dbr): Likewise.
1427 (-fdump-rtl-into_cfglayout): Likewise.
1428 (-fdump-rtl-outof_cfglayout): Likewise.
1430 2013-03-18 Richard Earnshaw <rearnsha@arm.com>
1433 * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1434 (arm_print_operand, case 'S'): Don't use shift_operator to validate
1437 2013-03-14 Seth LaForge <sethml@google.com>
1440 Backport from mainline
1441 2012-10-22 Julian Brown <julian@codesourcery.com>
1443 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1444 VFP D registers in big-endian mode.
1446 2013-03-08 Joey Ye <joey.ye@arm.com>
1448 Backport from mainline
1449 2013-03-06 Joey Ye <joey.ye@arm.com>
1452 * gcc.c (convert_white_space): New function.
1453 (main): Handles white space in function name.
1455 2013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
1457 Backport from mainline
1458 2013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
1461 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1462 instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
1463 to SH_DIV_CALL_TABLE for TARGET_SH2.
1464 * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1466 * doc/invoke.texi (SH options): Use table for mdiv= option. Document
1467 mdiv= call-div1, call-fp, call-table options.
1469 2013-03-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
1471 * config.gcc (arm*-*-rtemself*): New.
1472 (arm*-*-rtems*): Removed.
1473 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1474 "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1476 2013-03-01 Richard Biener <rguenther@suse.de>
1478 Backport from mainline
1479 2012-12-12 Zdenek Dvorak <ook@ucw.cz>
1481 PR tree-optimization/55481
1482 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1483 back to general rewriting if we cannot leave an original biv
1486 2013-03-01 Richard Biener <rguenther@suse.de>
1488 Backport from mainline
1489 2012-04-10 Richard Guenther <rguenther@suse.de>
1492 * gimple-low.c (gimple_check_call_args): Properly account for
1493 compatible aggregate types.
1495 2013-02-26 Nick Clifton <nickc@redhat.com>
1498 Import this patch from the mainline:
1500 2012-08-17 Nick Clifton <nickc@redhat.com>
1502 * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1503 (branch_true): Likewise.
1504 (branch_false): Likewise.
1506 2013-02-26 Jakub Jelinek <jakub@redhat.com>
1508 PR tree-optimization/56443
1509 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1510 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1511 to type_for_mode langhook.
1513 2013-02-21 Jakub Jelinek <jakub@redhat.com>
1516 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1519 2013-02-19 Jakub Jelinek <jakub@redhat.com>
1521 Backported from mainline
1522 2013-02-19 Jakub Jelinek <jakub@redhat.com>
1524 PR tree-optimization/56350
1525 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1526 if haven't found reduction or nested cycle operand, rather than
1527 asserting we must find it.
1529 PR tree-optimization/56381
1530 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1533 2013-02-08 Jakub Jelinek <jakub@redhat.com>
1535 PR tree-optimization/56250
1536 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1537 if type is unsigned and code isn't MULT_EXPR.
1539 2013-02-06 Jakub Jelinek <jakub@redhat.com>
1542 * omp-low.c (use_pointer_for_field): Return false if
1543 lower_send_shared_vars doesn't generate any copy-out code.
1545 2012-11-27 Jakub Jelinek <jakub@redhat.com>
1547 PR tree-optimization/55110
1548 * tree-vect-loop.c (vectorizable_reduction): Don't assert
1549 that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1551 2013-02-18 Richard Biener <rguenther@suse.de>
1554 2013-02-04 Richard Biener <rguenther@suse.de>
1556 Backport from mainline
1557 2012-07-04 Richard Guenther <rguenther@suse.de>
1559 PR tree-optimization/53844
1560 * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1561 the loop virtual PHI.
1563 2013-02-13 David S. Miller <davem@davemloft.net>
1565 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1567 2013-02-11 Uros Bizjak <ubizjak@gmail.com>
1569 Backport from mainline
1570 2013-02-11 Uros Bizjak <ubizjak@gmail.com>
1572 PR rtl-optimization/56275
1573 * simplify-rtx.c (avoid_constant_pool_reference): Check that
1574 offset is non-negative and less than cmode size before
1575 calling simplify_subreg.
1577 2013-02-09 Uros Bizjak <ubizjak@gmail.com>
1579 Backport from mainline
1580 2013-02-08 Uros Bizjak <ubizjak@gmail.com>
1582 * config/i386/sse.md (FMAMODEM): New mode iterator.
1583 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1584 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1586 2013-02-08 Uros Bizjak <ubizjak@gmail.com>
1588 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1589 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1590 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1592 2013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1594 Backport from mainline
1595 2013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1598 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1599 If there is no implicit builtin declaration, just return NULL.
1601 2013-02-08 David Edelsohn <dje.gcc@gmail.com>
1602 Michael Meissner <meissner@linux.vnet.ibm.com>
1604 Backport from mainline
1605 * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1606 MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1608 2013-02-07 David S. Miller <davem@davemloft.net>
1610 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1612 * var-tracking.c (vt_add_function_parameter): Test the presence of
1613 HAVE_window_save properly and do not remap argument registers when
1614 we have a leaf function.
1616 2013-02-07 Uros Bizjak <ubizjak@gmail.com>
1618 Backport from mainline
1619 2013-02-07 Uros Bizjak <ubizjak@gmail.com>
1622 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1624 * config/i386/i386.c (ix86_print_operand): Ditto.
1626 2013-02-07 Alan Modra <amodra@gmail.com>
1629 * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1630 static chain, set REST_INLINE_FPRS too.
1632 2013-02-06 David Edelsohn <dje.gcc@gmail.com>
1634 Backport from mainline
1635 2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1637 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1638 * configure: Regenerate.
1640 2013-02-05 David Edelsohn <dje.gcc@gmail.com>
1642 Backport from mainline
1643 2013-02-03 David Edelsohn <dje.gcc@gmail.com>
1644 Andrew Dixie <andrewd@gentrack.com>
1646 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1649 2013-02-05 Richard Biener <rguenther@suse.de>
1651 Backport from mainline
1652 2012-12-10 Richard Biener <rguenther@suse.de>
1654 PR tree-optimization/55107
1655 * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1656 (bitmap_set_replace_value): Add gcc_unreachable.
1657 (do_regular_insertion): Re-write all_same handling. Insert
1658 an assignment instead of a PHI in this case.
1659 (execute_pre): Do not record constified events.
1661 2013-02-05 Richard Biener <rguenther@suse.de>
1663 PR tree-optimization/54767
1664 * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1665 backedges drop all symbolical range information.
1666 (execute_vrp): Compute backedges.
1668 2013-02-04 Richard Biener <rguenther@suse.de>
1670 Backport from mainline
1671 2012-01-11 Richard Guenther <rguenther@suse.de>
1673 PR tree-optimization/44061
1674 * tree-vrp.c (extract_range_basic): Compute zero as
1675 value-range for __builtin_constant_p of function parameters.
1677 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1680 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1682 2013-02-04 Richard Biener <rguenther@suse.de>
1684 Backport from mainline
1685 2012-07-04 Richard Guenther <rguenther@suse.de>
1687 PR tree-optimization/53844
1688 * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1689 the loop virtual PHI.
1691 2012-12-13 Richard Biener <rguenther@suse.de>
1694 * tree-streamer.c (record_common_node): Check that we are not
1695 recursively pre-loading nodes we want to skip. Handle
1696 char_type_node appearing as part of va_list_type_node.
1698 2013-02-04 Richard Biener <rguenther@suse.de>
1701 * gimple.h (gimple_call_builtin_class_p): New function.
1702 * gimple.c (validate_call): New function.
1703 (gimple_call_builtin_class_p): Likewise.
1704 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1705 Use gimple_call_builtin_class_p.
1706 (find_func_clobbers): Likewise.
1707 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1708 (strlen_optimize_stmt): Likewise.
1710 2013-02-01 Jakub Jelinek <jakub@redhat.com>
1712 Backported from mainline
1713 2013-01-28 Jakub Jelinek <jakub@redhat.com>
1715 PR tree-optimization/56125
1716 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1717 pow(x,c) into sqrt(x) * powi(x, n/2) or
1718 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1719 optimizing for size.
1720 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1721 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1724 2013-01-25 Jakub Jelinek <jakub@redhat.com>
1726 PR tree-optimization/56098
1727 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1728 for stmts with volatile ops.
1729 (cond_store_replacement): Don't optimize if assign has volatile ops.
1730 (cond_if_else_store_replacement_1): Don't optimize if either
1731 then_assign or else_assign have volatile ops.
1733 2013-01-23 Jakub Jelinek <jakub@redhat.com>
1736 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1737 instead of cmpdi_operand for first comparison operand.
1738 Don't assert that comparison operands aren't both constants.
1740 2013-01-21 Jakub Jelinek <jakub@redhat.com>
1742 PR tree-optimization/56051
1743 * fold-const.c (fold_binary_loc): Don't fold
1744 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1745 a narrowing conversion, or widening conversion from signed
1748 2013-01-18 Jakub Jelinek <jakub@redhat.com>
1751 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1752 the case where writing real complex part of target modifies
1755 2013-01-15 Jakub Jelinek <jakub@redhat.com>
1758 * function.c (thread_prologue_and_epilogue_insns): Always
1759 add crtl->drap_reg to set_up_by_prologue.set, even if
1760 stack_realign_drap is false.
1762 2013-01-10 Jakub Jelinek <jakub@redhat.com>
1764 PR tree-optimization/55921
1765 * tree-complex.c (expand_complex_asm): New function.
1766 (expand_complex_operations_1): Call it for GIMPLE_ASM.
1768 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1770 PR rtl-optimization/55838
1771 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1772 iv0.step, iv1.step and step.
1774 2012-11-23 Jakub Jelinek <jakub@redhat.com>
1777 * Makefile.in (gimple-low.o): Depend on langhooks.h.
1778 * gimple-low.c: Include langhooks.c.
1779 (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1780 by default call lang_hooks.block_may_fallthru.
1781 * langhooks.h (struct lang_hooks): Add block_may_fallthru
1783 * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1784 (LANG_HOOKS_INITIALIZER): Use it.
1786 2012-11-20 Jakub Jelinek <jakub@redhat.com>
1789 * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1790 on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1791 * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1792 on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS
1793 fail if the last real insn doesn't have REG_ARGS_SIZE note.
1795 2012-11-17 Jakub Jelinek <jakub@redhat.com>
1797 PR tree-optimization/55236
1798 * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1799 and signed ARG0_TYPE, force low and high to be non-NULL.
1801 2012-11-13 Jakub Jelinek <jakub@redhat.com>
1803 PR rtl-optimization/54127
1804 * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1805 asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1806 LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1807 BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1808 REG_LABEL_TARGET and REG_LABEL_OPERAND.
1810 2013-02-01 Eric Botcazou <ebotcazou@adacore.com>
1812 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1813 range isn't testing for zero.
1815 2013-01-29 Richard Biener <rguenther@suse.de>
1817 PR tree-optimization/56113
1818 * tree-ssa-structalias.c (equiv_class_lookup): Also return
1820 (label_visit): Free duplicate bitmaps and record the leader instead.
1821 (perform_var_substitution): Adjust.
1823 2013-01-28 Serowk <serowk@yandex.ru>
1826 * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1827 Fix mode checks to allow for the passing of constants in the
1829 (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1830 Add entries in the switch statement for builtin iwmmxt vector
1831 shift and rotate builtins.
1833 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
1835 Backport from mainline
1836 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
1839 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1840 operand 0 in movabs insn template for -masm=intel asm alternative.
1841 (*movabs<mode>_2): Ditto for operand 1.
1843 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
1845 Backport from mainline
1846 2013-01-22 Uros Bizjak <ubizjak@gmail.com>
1849 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1850 alternative to (o,r).
1851 (*movdi_internal_rex64): Remove (!o,n) alternative.
1852 (DImode immediate->memory splitter): Remove.
1853 (DImode immediate->memory peephole2): Remove.
1854 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1855 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1856 alternative to (!o,*r).
1857 (*movtf_internal_sse): New pattern.
1858 (*movxf_internal_rex64): New pattern.
1859 (*movxf_internal): Disable for TARGET_64BIT.
1860 (*movdf_internal_rex64): Remove (!o,F) alternative.
1862 2013-01-23 Uros Bizjak <ubizjak@gmail.com>
1864 * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1865 involving stack registers slightly.
1867 2013-01-24 Uros Bizjak <ubizjak@gmail.com>
1869 * config/i386/constraints.md (Yf): New constraint.
1870 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1871 of f constraint to conditionaly disable x87 register preferences.
1872 (*movdf_internal): Ditto.
1873 (*movsf_internal): Ditto.
1875 2012-01-24 Uros Bizjak <ubizjak@gmail.com>
1877 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1878 (*movtf_internal_rex64): Add (!o,C) alternative
1879 (*movxf_internal_rex64): Ditto.
1880 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1882 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
1884 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1886 2013-01-24 Martin Jambor <mjambor@suse.cz>
1888 Backport from mainline
1889 2013-01-04 Martin Jambor <mjambor@suse.cz>
1891 PR tree-optimization/55755
1892 * tree-sra.c (sra_modify_assign): Do not check that an access has no
1893 children when trying to avoid producing a VIEW_CONVERT_EXPR.
1895 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
1897 Backport from mainline
1898 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
1900 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1902 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
1904 PR rtl-optimization/56023
1905 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1906 dependent on debug instruction.
1908 2013-01-21 Martin Jambor <mjambor@suse.cz>
1910 Backport from mainline
1911 2013-01-17 Martin Jambor <mjambor@suse.cz>
1913 PR tree-optimizations/55264
1914 * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1915 * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1916 for virtual functions.
1917 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1918 for virtual methods.
1919 * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1920 virtual methods before inlining is over.
1922 2013-01-17 Uros Bizjak <ubizjak@gmail.com>
1924 Backport from mainline
1925 2012-01-17 Uros Bizjak <ubizjak@gmail.com>
1928 * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1929 store through atomic_store<mode>_1.
1930 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1932 2013-01-16 Richard Biener <rguenther@suse.de>
1935 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1936 account for bitpos when computing alignment.
1938 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
1940 Backport from 2013-01-14 trunk r195169.
1943 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1944 etc. to 1 and not to __flash.
1945 Use LL suffix for __INT24_MAX__ with -mint8.
1946 Use ULL suffix for __UINT24_MAX__ with -mint8.
1948 2013-01-14 Matthias Klose <doko@ubuntu.com>
1950 * doc/invoke.texi: Document -print-multiarch.
1951 * doc/install.texi: Document --enable-multiarch.
1952 * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1953 * configure.ac: Add --enable-multiarch option.
1954 Substitute with_cpu, with_float.
1955 * configure: Regenerate.
1956 * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1957 enable_multiarch, with_cpu, with_float: New macros.
1958 if_multiarch: New macro, define in terms of enable_multiarch.
1959 * genmultilib: Add new argument for the multiarch name.
1960 * gcc.c (multiarch_dir): Define.
1961 (for_each_path): Search for multiarch suffixes.
1962 (driver_handle_option): Handle multiarch option.
1963 (do_spec_1): Pass -imultiarch if defined.
1964 (main): Print multiarch.
1965 (set_multilib_dir): Separate multilib and multiarch names
1966 from multilib_select.
1967 (print_multilib_info): Ignore multiarch names in multilib_select.
1968 * incpath.c (add_standard_paths): Search the multiarch include dirs.
1969 * cppdefault.h (default_include): Document multiarch in multilib
1971 * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1972 include directory for multiarch directories.
1973 * common.opt: New options --print-multiarch and -imultilib.
1975 * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1976 Include i386/t-linux.
1977 <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1978 Include i386/t-kfreebsd.
1979 <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1980 * config/i386/t-linux64: Add multiarch names in
1981 MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1982 * config/i386/t-gnu: New file.
1983 * config/i386/t-kfreebsd: Likewise.
1984 * config/i386/t-linux: Likewise.
1986 * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1987 * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1988 * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1989 for 32bit non-biarch configurations.
1991 * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1992 * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1995 * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1997 * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1999 * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2000 * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
2001 * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
2003 (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
2004 * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
2005 Include rs6000/t-linux for 32bit non-biarch configurations.
2007 * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2009 * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
2011 * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
2012 * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
2014 * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
2015 * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
2017 2013-01-14 Eric Botcazou <ebotcazou@adacore.com>
2019 * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
2020 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
2021 (vect_estimate_min_profitable_iter): Adjust to above fix.
2022 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
2024 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2026 Backport from mainline
2027 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2029 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
2030 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
2031 documentation. Add missing '__' in front of
2032 __builtin_ia32_packssdw256.
2034 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
2036 Backport from mainline
2037 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
2039 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
2040 attribute of movddup insn to DF.
2041 (*vec_interleave_lowv2df): Ditto.
2042 (vec_dupv2df): Ditto.
2044 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
2046 Backport from 2013-01-07 trunk r194991, r194992.
2049 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
2052 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
2053 (avr_addrspace_t): Add .section_name field.
2054 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
2056 (avr_addrspace): Same. Initialize .section_name. Remove last
2057 NULL entry. Put __memx into .progmemx.data.
2058 (progmem_section_prefix): Remove.
2059 (avr_asm_init_sections): No need to initialize progmem_section.
2060 (avr_asm_named_section): Use avr_addrspace[].section_name to get
2061 section name prefix.
2062 (avr_asm_select_section): Ditto. And use get_unnamed_section to
2063 retrieve the progmem section.
2064 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
2065 boundary to run over avr_addrspace[].
2066 (avr_register_target_pragmas): Ditto.
2068 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
2070 Backport from 2013-01-07 trunk r194978.
2073 * doc/install.texi (Cross-Compiler-Specific Options): Document
2076 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
2078 Backport from 2013-01-07 trunk r194968.
2081 * config/avr/t-avr: Don't automatically rebuild
2082 $(srcdir)/config/avr/t-multilib
2083 $(srcdir)/config/avr/avr-tables.opt
2084 (avr-mcus): New phony target to build them on request.
2085 (s-avr-mlib): Remove.
2086 * avr/avr-mcus.def: Adjust comments.
2088 2013-01-07 Terry Guo <terry.guo@arm.com>
2090 Backport from mainline
2091 2012-12-19 Terry Guo <terry.guo@arm.com>
2093 * config/arm/arm.c (thumb_find_work_register): Check argument
2094 register number based on current PCS.
2096 2013-01-06 Uros Bizjak <ubizjak@gmail.com>
2098 Backport from mainline
2099 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
2102 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
2103 selected code model, define __code_mode_small__, __code_model_medium__,
2104 __code_model_large__, __code_model_32__ or __code_model_kernel__.
2105 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
2106 xchg temporary register with %k. Declare temporary register as
2108 [__x86_64__]: For medium and large code models, preserve %rbx register.
2110 2013-01-03 Richard Henderson <rth@redhat.com>
2112 * config/i386/i386.c (ix86_expand_move): Always assign to op1
2113 after eliminating TLS symbols.
2115 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2118 * config/pa/pa.md (movsi): Revert previous change.
2119 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
2122 2013-01-02 Rainer Emrich <rainer@emrich-ebersheim.de>
2125 * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
2128 2013-01-02 Jason Merrill <jason@redhat.com>
2131 * tree.c (build_array_type_1): Revert earlier change.
2133 2012-12-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2136 * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
2137 after reload starts.
2139 2012-12-21 Martin Jambor <mjambor@suse.cz>
2141 PR tree-optimization/55355
2142 * tree-sra.c (type_internals_preclude_sra_p): Also check that
2143 bit_position is small enough to fit a single HOST_WIDE_INT.
2145 2012-12-21 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
2147 * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
2149 2012-12-18 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
2151 Backport from mainline
2152 2012-10-15 Matthias Klose <doko@ubuntu.com>
2154 * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
2155 * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
2157 2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
2158 Tomash Brechko <tomash.brechko@gmail.com>
2161 * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
2162 handling of before and after cases.
2163 * config/sparc/sync.md (atomic_store): Fix pasto.
2165 2012-12-14 Yvan Roux <yvan.roux@linaro.org>
2167 * optabs.c (expand_atomic_store): Elide redundant model test.
2169 2012-12-13 Richard Henderson <rth@redhat.com>
2172 * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
2174 2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
2177 * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
2178 (tldo_stb_sp64): Likewise.
2179 (tldo_sth_sp32): Likewise.
2180 (tldo_sth_sp64): Likewise.
2181 (tldo_stw_sp32): Likewise.
2182 (tldo_stw_sp64): Likewise.
2183 (tldo_stx_sp64): Likewise.
2185 2012-12-10 Kai Tietz <ktietz@redhat.com>
2188 * print-tree.c (print_node): Cast from pointer via uintptr_t.
2190 2012-12-07 Uros Bizjak <ubizjak@gmail.com>
2192 Backport from mainline
2193 2012-12-06 Uros Bizjak <ubizjak@gmail.com>
2194 H.J. Lu <hongjiu.lu@intel.com>
2197 * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
2198 before using it as insn or call equivalent.
2200 2012-12-06 Jason Merrill <jason@redhat.com>
2203 * tree.c (build_array_type_1): Re-layout if we found it in the
2206 2012-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2208 * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
2209 opaque cond in all call insns.
2211 2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
2213 * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
2214 area if the function allocates dynamic stack space.
2215 (ia64_initial_elimination_offset): Adjust offsets to above change.
2217 2012-12-03 Richard Biener <rguenther@suse.de>
2219 Backport from mainline
2220 2012-09-24 Richard Guenther <rguenther@suse.de>
2222 PR tree-optimization/53663
2223 * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
2224 native encode/interpret translation on VN_WALKREWRITE.
2226 2012-12-03 Kai Tietz <ktietz@redhat.com>
2229 * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
2232 * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
2235 * pointer-set.c (hash1): Cast from pointer via uintptr_t.
2237 2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2239 Backport from mainline:
2240 2012-11-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2243 * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
2244 (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
2245 (in_nullified_branch_delay): Likewise.
2246 (in_call_delay): Likewise.
2247 Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for
2248 new types. Add opaque cond to mark all calls, sibcalls, dyncalls and
2249 the $$sh_func_adrs call as variable. Update type of sibcalls and
2250 $$sh_func_adrs call.
2251 * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
2252 length instead of adjustment. Handle negative and undefined call
2253 adjustments for insn_default_length. Remove adjustment for millicode
2254 insn with unfilled delay slot.
2255 (pa_output_millicode_call): Update for revised millicode length.
2256 * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
2258 2012-11-29 Kai Tietz <ktietz@redhat.com>
2261 * prefix.c (lookup_key): Replace xmalloc/xrealloc
2262 use by XNEWVEC/XRESIZEVEC.
2264 * i386.c (get_scratch_register_on_entry): Handle
2265 thiscall-convention.
2266 (split_stack_prologue_scratch_regno): Likewise.
2267 (ix86_static_chain): Likewise.
2268 (x86_output_mi_thunk): Likewise.
2270 2012-11-28 H.J. Lu <hongjiu.lu@intel.com>
2272 Backported from mainline
2273 2012-11-27 H.J. Lu <hongjiu.lu@intel.com>
2274 Markus Trippelsdorf <markus@trippelsdorf.de>
2277 * lto-opts.c (lto_write_options): Also handle
2278 OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
2279 OPT_SPECIAL_program_name.
2282 * lto-wrapper.c (merge_and_complain): Handle
2283 OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
2284 OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
2286 2012-11-27 Paolo Bonzini <pbonzini@redhat.com>
2288 PR rtl-optimization/55489
2289 * gcse.c (compute_transp): Precompute a canonical version
2290 of XEXP (x, 0), and pass it to canon_true_dependence.
2292 2012-11-27 Richard Biener <rguenther@suse.de>
2295 * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
2296 stmt with a NOP instead of removing it.
2298 2012-11-26 Richard Biener <rguenther@suse.de>
2300 Backport from mainline
2301 2012-10-19 Richard Biener <rguenther@suse.de>
2303 PR tree-optimization/54976
2304 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2305 Robustify against odd inner_mode inputs.
2307 2012-10-12 Richard Biener <rguenther@suse.de>
2309 PR tree-optimization/54894
2310 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2311 Handle over-aligned scalar types properly.
2313 2012-10-02 Richard Guenther <rguenther@suse.de>
2316 * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
2317 cleaning up the CFG.
2319 2012-11-21 Michael Meissner <meissner@linux.vnet.ibm.com>
2321 Backport from mainline
2322 2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com>
2324 * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2325 explaining the register ordering preferences.
2327 2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
2328 * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2329 constraints so that the traditional floating point loads, stores,
2330 and moves are done first, then the VSX loads, stores, and moves,
2331 and finally the GPR loads, stores, and moves so that reload
2332 chooses FPRs over GPRs, and uses the traditional load/store
2333 instructions which provide an offset.
2334 (movdf_hardfloat64): Likewise.
2336 2012-11-19 H.J. Lu <hongjiu.lu@intel.com>
2338 Backported from mainline
2339 2012-11-13 Eric Botcazou <ebotcazou@adacore.com>
2340 H.J. Lu <hongjiu.lu@intel.com>
2343 * config/i386/i386.c (legitimize_pic_address): Properly handle
2345 (ix86_print_operand_address): Set code to 'k' when forcing
2346 addr32 prefix. For x32, zero-extend negative displacement if
2349 2012-11-12 Eric Botcazou <ebotcazou@adacore.com>
2351 * common.opt (fvar-tracking-uninit): Document.
2352 * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
2353 * config/darwin.c (darwin_override_options): Likewise.
2355 2012-11-11 Eric Botcazou <ebotcazou@adacore.com>
2357 * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
2358 * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
2360 2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
2362 * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
2364 2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
2366 * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2369 2012-11-07 Uros Bizjak <ubizjak@gmail.com>
2371 Backport from mainline
2372 2012-11-06 Uros Bizjak <ubizjak@gmail.com>
2374 * config/i386/i386.c (ix86_init_machine_status): Do not
2375 explicitly clear tls_descriptor_call_expanded_p again.
2377 2012-11-06 Uros Bizjak <ubizjak@gmail.com>
2379 * config/i386/sse.md
2380 (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2381 as read and written by the instruction.
2383 2012-11-06 Uros Bizjak <ubizjak@gmail.com>
2385 * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2386 (ix86_instantiate_decls): New function.
2387 (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2388 stack slot instead of SLOT_VIRTUAL.
2389 <case IX86_BUILTIN_STMXCSR>: Ditto.
2390 (assign_386_stack_local): Do not assert when virtual slot is valid.
2391 * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2392 * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2393 (truncxf<mode>2): Ditto.
2394 (floatunssi<mode>2): Ditto.
2395 (isinf<mode>2): Ditto.
2396 * config/i386/sync.md (atomic_load<mode>): Ditto.
2397 (atomic_store<mode>): Ditto.
2399 2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
2402 * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2403 the argument is itself a conditional expression.
2405 2012-11-05 H.J. Lu <hongjiu.lu@intel.com>
2407 * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2410 2012-11-05 Eric Botcazou <ebotcazou@adacore.com>
2412 PR tree-optimization/54986
2413 * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2414 conversions on entry but add them back on exit if needed.
2416 2012-11-05 Richard Sandiford <rdsandiford@googlemail.com>
2419 * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2421 (print_reg): Use true_regnum rather than REGNO.
2422 (ix86_print_operand_address): Remove SUBREG handling.
2424 2012-11-05 Jakub Jelinek <jakub@redhat.com>
2426 Backported from mainline
2427 2012-10-24 Jakub Jelinek <jakub@redhat.com>
2430 * gimple.h (is_gimple_sizepos): New inline function.
2431 * gimplify.c (gimplify_one_sizepos): Use it. Remove useless
2432 final assignment to expr variable.
2433 * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2434 !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2435 into a local temporary.
2437 2012-10-10 Jakub Jelinek <jakub@redhat.com>
2439 PR tree-optimization/54877
2440 * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2441 use make_ssa_name instead of copy_ssa_name.
2443 2012-11-03 Peter Bergner <bergner@vnet.ibm.com>
2445 Backport from mainline
2446 2012-10-31 Jakub Jelinek <jakub@redhat.com>
2448 PR tree-optimization/53708
2449 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2450 user-supplied alignment when used with an explicit section name.
2452 2012-11-02 Jeff Law <law@redhat.com>
2454 PR tree-optimization/54985
2455 * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2456 from thread_across_edge.
2457 (thread_across_edge): Use it in all cases where we might thread
2460 2012-10-31 Eric Botcazou <ebotcazou@adacore.com>
2462 * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2463 special register pushes before frame probing and allocation.
2465 2012-10-31 Ralf Corsépius <ralf.corsepius@rtems.org>,
2466 Joel Sherrill <joel.sherrill@oarcorp.com>
2468 * config/sparc/t-rtems: New (Custom multilibs).
2469 * config/sparc/t-rtems-64: New (Custom multilibs).
2470 * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2471 (sparc-*-rtems*): Add sparc/t-rtems.
2473 2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
2475 * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2477 (hash_rtx): Likewise.
2479 2012-10-29 Terry Guo <terry.guo@arm.com>
2481 Backport from mainline
2482 2012-10-11 Terry Guo <terry.guo@arm.com>
2484 * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2486 * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2489 2012-10-26 Gunther Nikl <gnikl@users.sourceforge.net>
2491 * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2492 gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2494 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
2496 * config/avr/t-rtems: Revert previous commit.
2498 2012-10-26 Terry Guo <terry.guo@arm.com>
2500 Backport from mainline
2501 2012-10-23 Terry Guo <terry.guo@arm.com>
2504 * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2507 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
2509 * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2511 * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2513 2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org>
2515 * config.gcc (microblaze*-*-rtems*): New target.
2516 * config/microblaze/rtems.h: New.
2517 * config/microblaze/t-rtems: New.
2519 2012-10-25 Richard Biener <rguenther@suse.de>
2521 PR tree-optimization/54902
2522 * tree-ssa-pre.c (fini_pre): Return TODO.
2523 (execute_pre): Adjust.
2524 * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2525 blocks before computing dominators.
2527 2012-10-24 Uros Bizjak <ubizjak@gmail.com>
2529 Backport from mainline
2530 2012-10-22 Uros Bizjak <ubizjak@gmail.com>
2532 * config/i386/i386.c (memory_address_length): Assert that non-null
2533 base or index RTXes are registers. Do not check for REG RTXes.
2534 Determine addr32 prefix using SImode_address_operand or
2535 from original base and index RTXes. Simplify code.
2537 2012-10-21 Uros Bizjak <ubizjak@gmail.com>
2539 * config/i386/i386-protos.h (memory_address_length): Add new bool
2540 argument. Update all uses.
2541 * config/i386/i386.c (memory_address_length): If not LEA insn, then
2542 add length of addr32 prefix based on mode of base or index register.
2543 (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2544 addresses here. Update call to memory_address_length.
2545 (ix86_print_address_operand): Use SImode_address_operand predicate.
2546 * config/i386/predicates.md (SImode_address_operand): New.
2547 * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2548 to calculate "mode" attribute. Use SImode_address_operand predicate
2549 instead of open-coding accepted RTX codes.
2551 2012-10-22 Georg-Johann Lay <avr@gjlay.de>
2553 Backport from 2012-10-22 trunk r192685.
2554 * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2555 Note __AVR_<device>__ is not defined for cores.
2556 Don't point to --help=target.
2557 Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2559 2012-10-19 Marek Polacek <polacek@redhat.com>
2561 Backported from mainline
2562 2012-10-19 Marek Polacek <polacek@redhat.com>
2565 * fold-const.c (fold_sign_changed_comparison): Punt if folding
2566 pointer/non-pointer comparison.
2568 2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2570 Backported from mainline
2571 2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2574 * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2575 sure the mode is correct when falling through from above cases.
2577 2012-10-19 Alan Modra <amodra@gmail.com>
2579 * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2580 (HAVE_LD_LARGE_TOC): Likewise.
2581 * configure: Regenerate.
2583 2012-10-19 Alan Modra <amodra@gmail.com>
2585 * config/rs6000/predicates.md (splat_input_operand): Don't call
2586 input_operand for MEMs. Instead check for volatile and call
2587 memory_address_addr_space_p with modified mode.
2589 2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
2591 Backported from mainline
2592 2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org>
2594 * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2596 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2598 PR rtl-optimization/54870
2599 * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2600 * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2601 SSA_NAME pointer that points to a partition if there is at least
2602 one variable with it set in the partition.
2603 * dse.c (local_variable_can_escape): New predicate.
2604 (can_escape): Call it.
2605 * gimplify.c (mark_addressable): If this is a partitioned decl, also
2606 mark the SSA_NAME pointer that points to a partition.
2608 2012-10-16 Andrey Belevantsev <abel@ispras.ru>
2610 Backport from mainline
2611 2012-08-09 Andrey Belevantsev <abel@ispras.ru>
2613 PR rtl-optimization/53701
2614 * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2615 rocess not only expr's vinsns but all old vinsns from expr's
2618 2012-10-16 Andrey Belevantsev <abel@ispras.ru>
2620 Backport from mainline
2621 2012-07-31 Andrey Belevantsev <abel@ispras.ru>
2624 * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2626 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru>
2627 * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2628 only if producer writes to the register given by regno.
2630 2012-09-15 Uros Bizjak <ubizjak@gmail.com>
2632 Backport from mainline
2633 2012-10-15 Uros Bizjak <ubizjak@gmail.com>
2635 * config/i386/sse.md (UNSPEC_MOVU): Remove.
2636 (UNSPEC_LOADU): New.
2637 (UNSPEC_STOREU): Ditto.
2638 (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2639 (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2640 (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2641 (<sse2>_movdqu<avxsizesuffix>): Split to ...
2642 (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2643 (<sse2>_storedqu<avxsizesuffix>): ... this.
2644 (*sse4_2_pcmpestr_unaligned): Update.
2645 (*sse4_2_pcmpistr_unaligned): Ditto.
2647 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2648 gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2649 gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2650 (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2651 gen_sse2_load{dqu,upd} to load from unaligned memory and
2652 gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2654 (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2655 Use CODE_FOR_sse_loadups.
2656 <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2657 <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2658 <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2659 <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2660 <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2661 <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2662 <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2663 <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2664 <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2665 <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2666 <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2668 2012-10-15 Steven Bosscher <steven@gcc.gnu.org>
2670 Backport from trunk (r190222):
2672 PR tree-optimization/54146
2673 * ifcvt.c: Include pointer-set.h.
2674 (cond_move_process_if_block): Change type of then_regs and
2675 else_regs from alloca'd array to pointer_sets.
2676 (check_cond_move_block): Update for this change.
2677 (cond_move_convert_if_block): Likewise.
2678 * Makefile.in: Fix dependencies for ifcvt.o.
2680 2012-10-15 Richard Guenther <rguenther@suse.de>
2682 PR tree-optimization/54920
2683 * tree-ssa-pre.c (create_expression_by_pieces): Properly
2684 allocate temporary storage for all NARY elements.
2686 2012-10-08 Georg-Johann Lay <avr@gjlay.de>
2689 * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2691 2012-10-05 Mark Kettenis <kettenis@openbsd.org>
2693 * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2694 default_use_cxa_atexit to yes.
2696 2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2698 * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2700 2012-10-05 Jan Hubicka <jh@suse.cz>
2701 Jakub Jelinek <jakub@redhat.com>
2703 PR tree-optimization/33763
2704 * tree-inline.c (expand_call_inline): Silently ignore always_inline
2705 attribute for redefined extern inline functions.
2707 2012-10-03 H.J. Lu <hongjiu.lu@intel.com>
2709 Backported from mainline
2710 2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2712 * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2713 in SSE and YMM state support check for -march=native.
2715 2012-10-03 Alexandre Oliva <aoliva@redhat.com>
2718 * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2721 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
2723 Backported from mainline
2724 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
2727 * doc/invoke.texi: Document -mprefer-avx128.
2729 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
2731 Backported from mainline
2732 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
2735 * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2736 (XSTATE_FP): Likewise.
2737 (XSTATE_SSE): Likewise.
2738 (XSTATE_YMM): Likewise.
2739 (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2740 SSE and YMM states aren't supported.
2742 2012-10-01 Tom de Vries <tom@codesourcery.com>
2744 * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2747 2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2750 * config/s390/s390.c (s390_option_override): Add missing break.
2752 2012-09-29 Andreas Tobler <andreast@fgznet.ch>
2754 Backport from mainline
2755 2012-09-29 Andreas Tobler <andreast@fgznet.ch>
2757 * config.gcc: Replace 'host' with 'target' when configuring for
2758 powerpc64*-*-freebsd.
2760 2012-09-28 Meador Inge <meadori@codesourcery.com>
2762 Backport from mainline
2763 2012-09-27 Meador Inge <meadori@codesourcery.com>
2765 * gcc-ar.c (main): Handle the returning of the sub-process error
2768 2012-09-28 Georg-Johann Lay <avr@gjlay.de>
2770 Backport from 2012-09-28 trunk r191821.
2771 * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2773 2012-09-27 Jakub Jelinek <jakub@redhat.com>
2776 * simplify-rtx.c (simplify_binary_operation_1): Perform
2777 (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2779 2012-09-24 Eric Botcazou <ebotcazou@adacore.com>
2781 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2782 TYPE_NONALIASED_COMPONENT flag.
2783 * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2784 TYPE_NONALIASED_COMPONENT flag.
2786 2012-09-21 Richard Guenther <rguenther@suse.de>
2789 Backport from mainline
2790 2012-04-19 Richard Guenther <rguenther@suse.de>
2792 * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2795 2012-09-20 Joseph Myers <joseph@codesourcery.com>
2798 * c-typeck.c (c_cast_expr): When casting to a type requiring
2799 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2802 2012-09-20 Joseph Myers <joseph@codesourcery.com>
2805 * c-typeck.c (build_unary_op): Pass original argument of
2806 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2807 any C_MAYBE_CONST_EXPR, if it has integer operands.
2808 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2809 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2810 to c_objc_common_truthvalue_conversion, then remove any
2811 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2812 c_objc_common_truthvalue_conversion not
2813 c_common_truthvalue_conversion.
2814 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2815 call note_integer_operands for arguments with integer operands
2816 that are not integer constants.
2818 2012-09-20 Jakub Jelinek <jakub@redhat.com>
2820 Backported from mainline
2821 2012-09-17 Jakub Jelinek <jakub@redhat.com>
2823 PR tree-optimization/54563
2824 * tree-ssa-math-opts.c (execute_cse_sincos): Call
2825 gimple_purge_dead_eh_edges if last call has been changed.
2827 2012-09-14 Jakub Jelinek <jakub@redhat.com>
2830 * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2831 instead of (match_dup 0) as second argument to vec_merge.
2832 (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2833 Remove third alternative.
2834 (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
2835 operand 2 instead of operand 1, but put it as first argument
2837 * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2838 _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2841 2012-09-20 Jakub Jelinek <jakub@redhat.com>
2843 * BASE-VER: Set to 4.7.3.
2844 * DEV-PHASE: Set to prerelease.
2846 2012-09-20 Release Manager
2848 * GCC 4.7.2 released.
2850 2012-09-15 Andi Kleen <ak@linux.intel.com>
2852 Backport from mainline
2853 2012-09-07 Andi Kleen <ak@linux.intel.com>
2855 * gcc/lto-streamer.h (res_pair): Add.
2856 (lto_file_decl_data): Replace resolutions with respairs.
2858 * gcc/lto/lto.c (lto_resolution_read): Remove max_index. Add rp.
2859 Initialize respairs.
2860 (lto_file_finalize): Set up resolutions vector lazily from respairs.
2862 2012-09-14 Walter Lee <walt@tilera.com>
2864 Backport from mainline.
2865 2012-09-14 Walter Lee <walt@tilera.com>
2867 * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2868 option for TILEPro and TILE-Gx.
2870 2012-09-13 Uros Bizjak <ubizjak@gmail.com>
2872 * config/i386/i386.h (x86_prefetchw): New global variable.
2873 (TARGET_PREFETCHW): New macro.
2874 * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2875 (processor_alias_table): Add PTA_PREFETCHW to
2876 bdver1, bdver2 and btver1.
2877 (ix86_option_override_internal): Set x86_prefetchw for
2878 PTA_PREFETCHW targets.
2879 * config/i386/i386.md (prefetch): Expand to prefetchw
2880 for TARGET_PREFETCHW.
2881 (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2883 Backport from mainline
2884 2012-08-13 Uros Bizjak <ubizjak@gmail.com>
2886 * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2887 (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2889 (*prefetch_sse): ... this.
2890 (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2892 (*prefetch_3dnow): ... this.
2894 2012-09-13 Jakub Jelinek <jakub@redhat.com>
2897 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2898 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2900 2012-09-12 Teresa Johnson <tejohnson@google.com>
2902 Backport from mainline.
2903 2012-09-12 Teresa Johnson <tejohnson@google.com>
2905 PR gcov-profile/54487
2906 * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2907 test using F_SETLKW with fcntl.
2908 * configure, config.in: Regenerate.
2910 2012-09-12 Uros Bizjak <ubizjak@gmail.com>
2912 Backport from mainline
2913 2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2915 * config/i386/i386.md : Comments on fma4 instruction selection
2916 reflect requirement on register pressure based cost model.
2918 * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2919 flag is set-reset as informed by the cpuid flag.
2921 * config/i386/i386.c (processor_alias_table): fma4
2922 flag is enabled for bdver2.
2924 2012-09-12 Christian Bruel <christian.bruel@st.com>
2926 * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2928 2012-09-12 Jakub Jelinek <jakub@redhat.com>
2930 * config.gcc: Obsolete picochip-*.
2932 2012-09-11 Richard Guenther <rguenther@suse.de>
2935 * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2936 on flag_toplevel_reorder.
2938 2012-09-10 Richard Henderson <rth@redhat.com>
2940 * config/alpha/predicates.md (small_symbolic_operand): Disallow
2943 2012-09-10 Georg-Johann Lay <avr@gjlay.de>
2945 Backport from 2012-09-10 mainline r191132.
2948 * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2950 2012-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
2953 * tree-sra.c (disqualify_base_of_expr): Check for possible
2954 NULL_TREE returned by get_base_address()
2956 2012-09-07 Richard Guenther <rguenther@suse.de>
2958 Backport from mainline
2959 2012-06-26 Jan Hubicka <jh@suse.cz>
2962 * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2965 2012-09-07 Richard Guenther <rguenther@suse.de>
2967 Backport from mainline
2968 2012-07-13 Richard Guenther <rguenther@suse.de>
2970 PR tree-optimization/53922
2971 * tree-vrp.c (value_inside_range): Change prototype to take
2972 min/max instead of value-range.
2973 (range_includes_zero_p): Likewise. Return the result from
2975 (extract_range_from_binary_expr_1): Adjust to handle dont-know
2976 return value from range_includes_zero_p.
2977 (extract_range_from_unary_expr_1): Likewise.
2978 (compare_range_with_value): Likewise.
2979 (vrp_meet_1): Likewise.
2981 2012-09-07 Richard Guenther <rguenther@suse.de>
2984 * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2985 EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT
2986 arguments separately.
2988 2012-09-07 Jakub Jelinek <jakub@redhat.com>
2990 Backported from mainline
2991 2012-09-06 Jakub Jelinek <jakub@redhat.com>
2993 PR rtl-optimization/54455
2994 * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2995 bb ends up with asm goto referencing bb's label.
2997 2012-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2999 Backport from mainline.
3000 2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3001 Richard Earnshaw <richard.earnshaw@arm.com>
3004 * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
3005 element size. Use elem_type from the formal parameter. New parameter
3007 (neon_expand_args): Adjust call to neon_dereference_pointer.
3009 2012-09-06 Uros Bizjak <ubizjak@gmail.com>
3011 * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
3012 reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
3014 2012-09-06 Uros Bizjak <ubizjak@gmail.com>
3016 Backport from mainline
3017 2012-08-11 Uros Bizjak <ubizjak@gmail.com>
3019 * config/i386/i386.md (isa): Add fma and fma4.
3020 (enabled): Handle fma and fma4.
3021 * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
3022 (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
3023 (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
3024 (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
3025 (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
3026 (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
3028 2012-08-10 Uros Bizjak <ubizjak@gmail.com>
3030 * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
3031 *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
3032 *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
3034 2012-09-06 Richard Guenther <rguenther@suse.de>
3036 PR tree-optimization/54498
3037 * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
3038 abort when reaching an already visited region.
3039 * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it.
3040 (get_continuation_for_phi_1): Likewise.
3041 (walk_non_aliased_vuses): When we translated the reference,
3042 abort when we re-visit a region.
3043 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
3045 2012-09-06 Andrew Pinski <apinski@cavium.com>
3048 * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
3050 2012-09-05 Jakub Jelinek <jakub@redhat.com>
3053 * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
3054 build_int_cst with size_type_node instead of size_int.
3056 2012-09-05 Georg-Johann Lay <avr@gjlay.de>
3058 Backport from 2012-09-05 mainline r190697.
3061 * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
3062 configured --with-avrlibc.
3063 (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
3065 * config/avr/avrlibc.h: New file.
3066 * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
3067 configured --with-avrlibc.
3068 * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
3070 2012-09-05 Bin Cheng <bin.cheng@arm.com>
3072 Backport from 2012-09-04 mainline r190919
3075 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
3076 of size less than 4 bytes by using macro ARM_NUM_INTS.
3077 (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
3079 2012-09-04 Richard Henderson <rth@redhat.com>
3081 * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
3083 2012-09-04 Georg-Johann Lay <avr@gjlay.de>
3085 Backport from 2012-09-04 mainline r190920
3088 * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
3090 2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3092 Backport from 2012-09-04 mainline r190914
3095 * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
3097 (avr_allocate_stack_slots_for_args): ...this new static function.
3099 2012-09-03 H.J. Lu <hongjiu.lu@intel.com>
3101 Backported from mainline
3102 2012-08-23 H.J. Lu <hongjiu.lu@intel.com>
3105 * doc/invoke.texi: Add -da and remove -dm.
3107 2012-09-03 Jakub Jelinek <jakub@redhat.com>
3109 Backported from mainline
3110 2012-09-01 Jakub Jelinek <jakub@redhat.com>
3113 * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
3114 operands[1] is CONST_INT_P, convert it to QImode before printing.
3116 2012-08-31 Jakub Jelinek <jakub@redhat.com>
3119 * c-convert.c (convert): Don't call fold_convert_loc if
3120 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3121 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
3122 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3124 2012-08-24 Jakub Jelinek <jakub@redhat.com>
3127 * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
3128 if init is a CONSTRUCTOR.
3130 2012-09-02 Eric Botcazou <ebotcazou@adacore.com>
3132 PR rtl-optimization/54369
3133 * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
3134 calling dbr_schedule.
3135 * config/sparc/sparc.c (sparc_reorg): Likewise.
3137 2012-08-31 Kirill Yukhin <kirill.yukhin@intel.com>
3139 Backport from mainline
3140 2012-08-23 Yuri Rumyantsev <ysrumyan@gmail.com>
3142 * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
3143 case for Atom processor.
3145 2012-08-28 Uros Bizjak <ubizjak@gmail.com>
3147 Backport from mainline
3148 2012-08-27 Uros Bizjak <ubizjak@gmail.com>
3151 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
3152 true for TARGET_64BIT or !flag_pic.
3153 * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
3154 (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
3155 to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator.
3156 Add insn constraint. Conditionally emit xchg asm insns.
3157 (atomic_compare_and_swap<mode>): Update calls. Check only
3158 cmpxchg8b_pic_memory_operand in memory address fixup.
3160 (CASHMODE): Rename from DCASHMODE.
3161 (doublemodesuffix): Update modes.
3162 (regprefix): New mode attribute.
3164 (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
3165 <UNSPECV_CMPXCHG>: New constant.
3166 (atomic_compare_and_swap<mode>_1): Rename from
3167 atomic_compare_and_swap_single<mode>. Update calls and
3168 unspec_volatile constants.
3169 (atomic_compare_and_swap<mode>_doubleword): Rename from
3170 atomic_compare_and_swap_double<mode>. Update calls and
3171 unspec_volatile constants.
3173 2012-08-28 Walter Lee <walt@tilera.com>
3175 Backport from mainline
3176 2012-08-28 Walter Lee <walt@tilera.com>
3178 * confg/tilegx/tilegx.md: Fix code style.
3179 (*zero_extendsidi_truncdisi): Fix typo.
3180 * config/tilegx/tilegx.c: Fix code style.
3181 (tilegx_function_profiler): Fix typo.
3183 2012-08-27 Walter Lee <walt@tilera.com>
3185 Backport from mainline
3186 2012-08-27 Walter Lee <walt@tilera.com>
3188 * doc/md.texi (TILE-Gx): Fix typo.
3190 2012-08-27 Walter Lee <walt@tilera.com>
3192 Backport from mainline
3193 2012-08-27 Walter Lee <walt@tilera.com>
3195 * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
3196 * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
3198 2012-08-27 Walter Lee <walt@tilera.com>
3200 Backport from mainline
3201 2012-08-27 Walter Lee <walt@tilera.com>
3203 * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
3204 (insn_bfins): Delete.
3206 2012-08-27 Walter Lee <walt@tilera.com>
3208 Backport from mainline
3209 2012-08-27 Walter Lee <walt@tilera.com>
3211 * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
3212 atomic_exchange_bare<mode>,
3213 atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
3214 * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
3215 * config/tilegx/tilegx.md (type): Add X1_remove.
3216 (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
3217 insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
3218 insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
3221 2012-08-25 Eric Botcazou <ebotcazou@adacore.com>
3223 PR rtl-optimization/54088
3224 * jump.c (delete_related_insns): Robustify latest change.
3226 2012-08-21 Richard Guenther <rguenther@suse.de>
3228 Backport from mainline
3229 2012-08-16 Richard Guenther <rguenther@suse.de>
3232 * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
3234 * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
3235 * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
3236 * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
3237 * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
3238 (tree_ssa_lim_finalize): Free all mem_refs.
3239 * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
3240 scc when bailing out.
3241 * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
3242 * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
3243 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
3244 FOR_EACH_LOOP_BREAK.
3246 2012-08-17 Richard Guenther <rguenther@suse.de>
3248 * tree-sra.c (modify_function): Free redirect_callers vector.
3249 * ipa-split.c (split_function): Free args_to_pass vector.
3250 * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
3252 (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
3253 * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
3254 (vect_analyze_slp_instance): Free everything.
3255 (destroy_bb_vec_info): Free the SLP instances.
3257 2012-08-17 Richard Guenther <rguenther@suse.de>
3259 * params.def (integer-share-limit): Decrease from 256 to 251,
3262 2012-08-21 Richard Guenther <rguenther@suse.de>
3264 * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
3265 the affine expansion cache.
3267 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
3269 Backported from trunk
3270 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
3273 * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
3275 2012-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3277 Backport from mainline.
3278 2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3281 * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
3282 mark as predicable. Adjust asm template.
3283 (vec_setv2di_internal): Likewise.
3284 (vec_extract<mode> VD, VQ): Likewise.
3285 (vec_extractv2di): Likewise.
3286 (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
3287 (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
3288 (neon_vdup_n<mode> VX, V32): Likewise.
3289 (neon_vdup_nv2di): Likewise.
3291 2012-08-17 Walter Lee <walt@tilera.com>
3293 Backport from mainline
3294 2012-08-17 Walter Lee <walt@tilera.com>
3296 * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
3297 (FEEDBACK_ENTER): Define.
3298 (FEEDBACK_REENTER): Define.
3299 (FEEDBACK_ENTRY): Define.
3300 * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
3301 (FEEDBACK_ENTER): Define.
3302 (FEEDBACK_REENTER): Define.
3303 (FEEDBACK_ENTRY): Define.
3305 2012-08-16 Walter Lee <walt@tilera.com>
3307 Backport from mainline
3308 2012-08-16 Walter Lee <walt@tilera.com>
3310 * config.gcc (tilegx-*-linux*): Add feedback.h.
3311 (tilepro-*-linux*): Likewise.
3312 * config/tilegx/feedback.h: New file.
3313 * config/tilepro/feedback.h: New file.
3315 2012-08-08 Pavel Chupin <pavel.v.chupin@intel.com>
3317 Backport from mainline r189840 and r187586:
3318 2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
3320 * config/i386/i386.md (stack_protect_set): Disable the pattern
3321 for Android since Android libc (bionic) does not provide random
3322 value for stack protection guard at gs:0x14. Guard value
3323 will be provided from external symbol (default implementation).
3324 (stack_protect_set_<mode>): Likewise.
3325 (stack_protect_test): Likewise.
3326 (stack_protect_test_<mode>): Likewise.
3327 * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
3328 not have Bionic by default
3329 * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
3330 Macro OPTION_BIONIC is defined in this file and provides Bionic
3331 accessibility status
3333 2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com>
3335 * configure.ac: Stack protector enabling for Android targets.
3336 * configure: Regenerate.
3338 2012-08-13 Jakub Jelinek <jakub@redhat.com>
3340 Backported from trunk
3341 2012-07-19 Jakub Jelinek <jakub@redhat.com>
3343 PR rtl-optimization/53942
3344 * function.c (assign_parm_setup_reg): Avoid zero/sign extension
3345 directly from likely spilled non-fixed hard registers, move them
3348 2012-08-11 Uros Bizjak <ubizjak@gmail.com>
3350 * config/i386/sse.md (xop_phaddbq): Fix vec_select selectors.
3351 (xop_phaddubq): Ditto.
3353 2012-08-10 Ulrich Weigand <ulrich.weigand@linaro.org>
3355 Backport from mainline
3356 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
3357 Richard Earnshaw <rearnsha@arm.com>
3359 * target.def (vector_alignment): New target hook.
3360 * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
3361 * doc/tm.texi: Regenerate.
3362 * targhooks.c (default_vector_alignment): New function.
3363 * targhooks.h (default_vector_alignment): Add prototype.
3364 * stor-layout.c (layout_type): Use targetm.vector_alignment.
3365 * config/arm/arm.c (arm_vector_alignment): New function.
3366 (TARGET_VECTOR_ALIGNMENT): Define.
3368 * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3369 vector type alignment instead of size.
3370 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3371 element type size directly instead of computing it from alignment.
3372 Fix variable naming and comment.
3374 2012-08-09 Uros Bizjak <ubizjak@gmail.com>
3376 Backport from mainline
3377 2012-08-09 Uros Bizjak <ubizjak@gmail.com>
3379 * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3380 (alpha_pad_function_end): ... this. Also insert NOP between
3381 sibling call and GP load.
3382 (alpha_reorg): Update call to alpha_pad_function_end. Expand comment.
3384 2012-08-09 H.J. Lu <hongjiu.lu@intel.com>
3386 Backport from mainline
3387 2012-08-08 Richard Sandiford <rdsandiford@googlemail.com>
3388 H.J. Lu <hongjiu.lu@intel.com>
3390 PR rtl-optimization/54157
3391 * combine.c (gen_lowpart_for_combine): Don't return identity
3392 for CONST or symbolic reference.
3394 2012-08-06 Uros Bizjak <ubizjak@gmail.com>
3396 Backport from mainline
3397 2012-07-23 Uros Bizjak <ubizjak@gmail.com>
3399 * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3400 * config/i386/i386.c (ix86_lea_outperforms): Make static. Make
3401 split_cost argument signed.
3402 (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3403 (ix86_avoid_lea_for_addr): Ditto.
3405 2012-07-27 Uros Bizjak <ubizjak@gmail.com>
3407 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3408 the address has less than two components.
3410 2012-08-02 Steve Ellcey <sellcey@mips.com>
3412 Backport from mainline
3413 2012-07-19 Steve Ellcey <sellcey@mips.com>
3415 * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3418 2012-08-02 Uros Bizjak <ubizjak@gmail.com>
3420 Backport from mainline
3421 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
3424 * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3425 negative constant address for TARGET_X32 ...
3426 (ix86_decompose_address): ... here. Reject constant addresses
3427 that don't satisfy x86_64_immediate_operand predicate.
3429 2012-07-23 Uros Bizjak <ubizjak@gmail.com>
3432 * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3433 * config/i386/i386.c (ix86_print_operand_address): Ditto.
3434 (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3435 addresses. Prevent zero extensions of CONST_INT operands.
3437 2012-07-22 Uros Bizjak <ubizjak@gmail.com>
3440 * config/i386/i386.md (*lea): New insn pattern.
3442 (*lea<mode>_2): Ditto.
3443 (*lea_{3,4,5,6}_zext): Ditto.
3444 * config/i386/predicates.md (lea_address_operand): Do not reject
3445 zero-extended address operands.
3446 * config/i386/constraints.md (j): Remove address constraint.
3447 * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3449 (ix86_print_operand_address): Handle SImode subreg of an address.
3450 (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3452 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
3454 Backport from mainline
3455 2012-03-09 Uros Bizjak <ubizjak@gmail.com>
3458 * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3459 (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3461 * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3462 (*movdi_internal_rex64): Use %E operand modifier for lea.
3463 (*movsi_internal): Ditto.
3465 (*lea<mode>_2): Ditto.
3466 (*lea_{3,4,5,6}_zext): Ditto.
3467 (*tls_global_dynamic_32_gnu): Ditto.
3468 (*tls_global_dynamic_64): Ditto.
3469 (*tls_dynamic_gnu2_lea_32): Ditto.
3470 (*tls_dynamic_gnu2_lea_64): Ditto.
3471 (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3473 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
3475 Backport from mainline
3476 2012-08-01 Uros Bizjak <ubizjak@gmail.com>
3478 * config/i386/i386.c (ix86_address_subreg_operand): Reject
3480 (ix86_print_operand_address): Assert that parts.base and parts.index
3481 are non-NULL after call to simplify_subreg.
3483 2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
3486 * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
3488 * config/sh/sh.c (sh_option_override): Do not change
3489 flag_finite_math_only. Set TARGET_IEEE to complement of
3490 flag_finite_math_only.
3491 * doc/invoke.texi (SH options): Add mno-ieee. Correct
3492 description of mieee and mno-ieee behavior.
3494 2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com>
3497 * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3498 (_lzcnt_u64): Ditto.
3500 2012-07-20 Andrey Belevantsev <abel@ispras.ru>
3502 Backport from mainline
3503 2012-03-06 Andrey Belevantsev <abel@ispras.ru>
3505 PR rtl-optimization/52250
3506 * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3507 to put note list into. Unconditionally call move_bb_info.
3508 (move_bb_info): Do not assert the blocks being in the same region,
3509 just drop the note list if they are not.
3511 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
3513 * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3515 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
3517 * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3518 defining statement is a SSA name that occurs in abnormal PHIs.
3520 2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
3522 * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3525 2012-07-19 Richard Guenther <rguenther@suse.de>
3526 Eric Botcazou <ebotcazou@adacore.com>
3528 * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3529 about transition from invariant to known bits.
3530 (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3532 2012-07-19 Jakub Jelinek <jakub@redhat.com>
3535 * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3536 (cleanup_tree_cfg_bb): Don't call it.
3537 * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3540 2012-07-19 Christian Bruel <christian.bruel@st.com>
3543 * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3545 2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
3547 * config.gcc (v850-*-rtems*): New target.
3548 * config/v850/rtems.h: New.
3549 * config/v850/t-rtems: New.
3551 2012-07-18 Nick Clifton <nickc@redhat.com>
3553 * doc/invoke.texi (ARM Options): Document -munaligned-access.
3555 2012-07-15 Uros Bizjak <ubizjak@gmail.com>
3559 Backport from mainline
3560 2012-04-25 Jakub Jelinek <jakub@redhat.co