1 2014-04-01 Richard Biener <rguenther@suse.de>
3 * gimple.h (struct gimple_statement_base): Align subcode to
6 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
8 * doc/invoke.texi (mapp-regs): Clarify.
10 2014-03-31 H.J. Lu <hongjiu.lu@intel.com>
12 PR rtl-optimization/60700
13 Backport from mainline
14 2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
16 PR rtl-optimization/57637
17 * function.c (move_insn_for_shrink_wrap): Also check the
18 GEN set of the LIVE problem for the liveness analysis
19 if it exists, otherwise give up.
21 2014-03-30 Kaz Kojima <kkojima@gcc.gnu.org>
23 Backport from mainline
24 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
27 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
29 2014-03-26 Martin Jambor <mjambor@suse.cz>
32 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk and
33 alias flags of nodes in the border.
35 2014-03-26 Eric Botcazou <ebotcazou@adacore.com>
37 PR rtl-optimization/60452
38 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
39 <case REG>: Return 1 for invalid offsets from the frame pointer.
41 2014-03-24 Richard Biener <rguenther@suse.de>
43 PR tree-optimization/60429
44 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Remove
47 2014-03-23 Eric Botcazou <ebotcazou@adacore.com>
49 PR rtl-optimization/60601
50 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
52 * gcc.c (eval_spec_function): Initialize save_growing_value.
54 2014-03-20 Jakub Jelinek <jakub@redhat.com>
57 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
58 into CONST, put pic register as first operand of PLUS. Use
59 gen_const_mem for both 32-bit and 64-bit PIC got loads.
61 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
63 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
64 around for store forwarding issue in the FPU on the UT699.
65 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
66 loads and operations if -mfix-ut699 is specified.
67 (divtf3_hq): Tweak attribute.
68 (sqrttf2_hq): Likewise.
70 2014-03-18 Kai Tietz <ktietz@redhat.com>
72 PR rtl-optimization/56356
73 * sdbout.c (sdbout_parms): Verify that parms'
74 incoming argument is valid.
75 (sdbout_reg_parms): Likewise.
77 2014-03-18 Eric Botcazou <ebotcazou@adacore.com>
79 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
80 proper constant for the store mode.
82 2014-03-17 Mikael Pettersson <mikpelinux@gmail.com>
83 Committed by Bill Schmidt <wschmidt@linux.vnet.ibm.com>
85 Backport from mainline:
87 2013-06-20 Joern Rennecke <joern.rennecke@embecosm.com>
89 PR rtl-optimization/57425
90 PR rtl-optimization/57569
91 * alias.c (write_dependence_p): Remove parameters mem_mode and
92 canon_mem_addr. Add parameters x_mode, x_addr and x_canonicalized.
94 (canon_anti_dependence): Get comments and semantics in sync.
95 Add parameter mem_canonicalized. Changed all callers.
96 * rtl.h (canon_anti_dependence): Update prototype.
98 2013-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
100 PR rtl-optimization/57425
101 PR rtl-optimization/57569
102 * alias.c (write_dependence_p): Add new parameters mem_mode,
103 canon_mem_addr and mem_canonicalized. Change type of writep to bool.
105 (canon_anti_dependence): New function.
106 * cse.c (check_dependence): Use canon_anti_dependence.
107 * cselib.c (cselib_invalidate_mem): Likewise.
108 * rtl.h (canon_anti_dependence): Declare.
110 2014-03-17 Richard Biener <rguenther@suse.de>
112 Backport from mainline
113 2014-03-11 Richard Biener <rguenther@suse.de>
115 PR tree-optimization/60429
116 PR tree-optimization/60485
117 * tree-ssa-structalias.c (set_union_with_increment): Properly
118 take into account all fields that overlap the shifted vars.
119 (do_sd_constraint): Likewise.
120 (do_ds_constraint): Likewise.
121 (get_constraint_for_ptr_offset): Likewise.
123 2014-03-15 Eric Botcazou <ebotcazou@adacore.com>
125 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
126 (eligible_for_call_delay): New prototype.
127 * config/sparc/sparc.c (tls_call_delay): Rename into...
128 (eligible_for_call_delay): ...this. Return false if the instruction
129 cannot be put in the delay slot of a branch.
130 (eligible_for_restore_insn): Simplify.
131 (eligible_for_return_delay): Return false if the instruction cannot be
132 put in the delay slot of a branch and simplify.
133 (eligible_for_sibcall_delay): Return false if the instruction cannot be
134 put in the delay slot of a branch.
135 * config/sparc/sparc.md (fix_ut699): New attribute.
136 (tls_call_delay): Delete.
137 (in_call_delay): Reimplement.
138 (eligible_for_sibcall_delay): Rename into...
139 (in_sibcall_delay): ...this.
140 (eligible_for_return_delay): Rename into...
141 (in_return_delay): ...this.
142 (in_branch_delay): Reimplement.
143 (in_uncond_branch_delay): Delete.
144 (in_annul_branch_delay): Delete.
146 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
148 Backport from 2014-03-14 trunk r208562.
151 * config/avr/avr.c (avr_set_current_function): Pass function name
152 through default_strip_name_encoding before sanity checking instead
153 of skipping the first char of the assembler name.
155 2014-03-13 Georg-Johann Lay <avr@gjlay.de>
157 Backport from 2014-03-13 trunk r208532.
160 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
161 calls of avr_out_plus_1.
163 2014-03-13 Joey Ye <joey.ye@arm.com>
165 Backport from mainline
166 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
168 PR tree-optimization/60454
169 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
171 2014-03-06 Matthias Klose <doko@ubuntu.com>
173 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
174 MULTILIB_OSDIRNAMES is not defined.
176 2014-03-06 Jakub Jelinek <jakub@redhat.com>
178 PR tree-optimization/60276
179 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Avoid
180 a -Wsign-compare warning.
182 * Makefile.in (tree-ssa-uninit.o): Depend on $(PARAMS_H).
184 Backport from mainline
185 2014-02-21 Jakub Jelinek <jakub@redhat.com>
187 PR tree-optimization/56490
188 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
189 * tree-ssa-uninit.c: Include params.h.
190 (compute_control_dep_chain): Add num_calls argument, return false
191 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
192 num_calls to recursive call.
193 (find_predicates): Change dep_chain into normal array, add num_calls
194 variable and adjust compute_control_dep_chain caller.
195 (find_def_preds): Likewise.
197 2014-02-13 Jakub Jelinek <jakub@redhat.com>
200 * expr.c (compress_float_constant): If x is a hard register,
201 extend into a pseudo and then move to x.
203 2014-02-11 Richard Henderson <rth@redhat.com>
204 Jakub Jelinek <jakub@redhat.com>
207 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
208 around drhs if type conversion to lacc->type is not useless.
210 2014-02-08 Jakub Jelinek <jakub@redhat.com>
213 * ipa-cp.c (determine_versionability): Fail at -O0
214 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
215 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
217 2014-02-06 Jakub Jelinek <jakub@redhat.com>
220 * tree.h (opts_for_fn): New inline function.
221 (opt_for_fn): Define.
222 * config/i386/i386.c (ix86_function_regparm): Use
223 opt_for_fn (decl, optimize) instead of optimize.
225 2014-02-05 Jakub Jelinek <jakub@redhat.com>
228 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
229 bb with no successors.
231 2014-03-04 Richard Biener <rguenther@suse.de>
233 PR tree-optimization/60382
234 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
235 dead PHIs a reduction.
237 2014-02-25 Richard Biener <rguenther@suse.de>
239 Backport from mainline
240 2014-02-21 Richard Biener <rguenther@suse.de>
242 PR tree-optimization/60276
243 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
244 (STMT_VINFO_MIN_NEG_DIST): New macro.
245 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
246 STMT_VINFO_MIN_NEG_DIST.
247 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
248 made for negative dependence distances still hold.
250 2014-02-25 Richard Biener <rguenther@suse.de>
252 Backport from mainline
253 2014-02-21 Richard Biener <rguenther@suse.de>
256 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
257 DECL_INITIAL for globals not in the current function context.
259 2014-02-20 Richard Biener <rguenther@suse.de>
262 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
265 2014-02-14 Richard Biener <rguenther@suse.de>
267 PR tree-optimization/60183
268 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
270 (tree_ssa_phiprop): Calculate and free post-dominators.
272 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
275 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
278 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
280 * config/pa/pa.c (pa_output_move_double): Don't valididate when
281 adjusting offsetable addresses.
283 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
285 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg names
287 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
289 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
292 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
294 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
295 and define TARGET_ASM_OUTPUT_MI_THUNK and
296 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
298 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
300 * config/microblaze/predicates.md: Add cmp_op predicate.
301 * config/microblaze/microblaze.md: Add branch_compare instruction
302 which uses cmp_op predicate and emits cmp insn before branch.
303 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
304 to microblaze_expand_conditional_branch and consolidate logic.
305 (microblaze_expand_conditional_branch): emit branch_compare
306 insn instead of handling cmp op separate from branch insn.
308 2014-02-21 Martin Jambor <mjambor@suse.cz>
311 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
312 info when checking whether lattices are bottom.
314 2014-02-21 Jakub Jelinek <jakub@redhat.com>
316 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
317 mode for mask of V8SFmode permutation.
319 2014-02-20 Richard Henderson <rth@redhat.com>
322 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
323 on failure the store back into EXPECT. Always make a new pseudo for
326 2014-02-20 Jakub Jelinek <jakub@redhat.com>
329 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
330 gen_reg_rtx if d->testing_p.
331 (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
332 expand_vec_perm_broadcast_1): Return early if d->testing_p and
333 we will certainly return true.
335 2014-02-20 Richard Biener <rguenther@suse.de>
337 * tree-cfg.c (replace_uses_by): Mark altered BBs before
338 doing the substitution.
340 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
342 Backport from mainline
343 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
346 * config/i386/i386.c (construct_container): Remove TFmode check
347 for X86_64_INTEGER_CLASS.
349 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
351 Backport from mainline
352 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
355 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
356 only when -Wpsabi is enabled.
358 2014-02-19 Terry Guo <terry.guo@arm.com>
360 Backport from mainline
361 2014-02-08 Terry Guo <terry.guo@arm.com>
363 * doc/invoke.texi: Document ARM -march=armv7e-m.
365 2014-02-18 Kai Tietz <ktietz@redhat.com>
367 Backport from mainline
368 2014-02-18 Kai Tietz <ktietz@redhat.com>
371 * config/i386/i386.c (ix86_expand_prologue): Use
372 rax register as displacement for restoring %r10, %rax.
373 Additional fix wrong offset for restoring both-registers.
375 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
377 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
378 assertion with conditional return.
380 2014-02-18 Jakub Jelinek <jakub@redhat.com>
381 Uros Bizjak <ubizjak@gmail.com>
384 * config/i386/driver-i386.c (host_detect_local_cpu): If
385 YMM state is not saved by the OS, also clear has_f16c. Move
386 CPUID 0x80000001 handling before YMM state saving checking.
388 2014-02-14 Roland McGrath <mcgrathr@google.com>
390 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
391 * configure: Regenerated.
392 * config.in: Regenerated.
393 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
394 instead of ASM_SHORT.
396 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
398 Backport from mainline
399 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
401 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
402 operands[2], not operands[3].
404 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
406 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
407 caused by bad second argument to warning_at() with -mhotpatch and
408 nested functions (e.g. with gfortran).
410 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
412 Backport from mainline
413 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
414 Uros Bizjak <ubizjak@gmail.com>
417 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
419 2014-02-12 Eric Botcazou <ebotcazou@adacore.com>
421 PR rtl-optimization/60116
422 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
423 other_insn once the combination has been validated.
425 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
427 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
428 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
430 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
432 * config/microblaze/microblaze.c: Extend mcpu version format
434 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
436 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
438 2014-02-10 Richard Biener <rguenther@suse.de>
440 Backport from mainline
441 2014-01-30 Richard Biener <rguenther@suse.de>
443 PR tree-optimization/59903
444 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
447 2014-02-10 Richard Biener <rguenther@suse.de>
449 PR tree-optimization/60115
450 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
451 MEM_REF handling. Properly verify that the accesses are not
452 out of the objects bound.
454 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
456 Backport from mainline.
457 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
460 * doc/invoke.texi (-march): Clarify documentation for ARM.
464 2014-02-04 John David Anglin <danglin@gcc.gnu.org>
467 * config/pa/pa.c (legitimize_tls_address): Return original address
468 if not passed a SYMBOL_REF rtx.
469 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
471 (pa_emit_move_sequence): Simplify TLS source operands.
472 (pa_legitimate_constant_p): Reject all TLS constants.
473 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
474 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
476 2014-02-04 Uros Bizjak <ubizjak@gmail.com>
478 Backport from mainline
479 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
482 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
483 when calculating size of integer atomic types.
485 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
487 Backport from mainline
488 2014-01-30 Jakub Jelinek <jakub@redhat.com>
490 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
492 2014-01-31 Richard Henderson <rth@redhat.com>
495 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
496 until after else_eh is processed.
498 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
500 Backport from mainline
501 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
502 comparison_operator with ordered_comparison_operator.
504 2014-01-25 Walter Lee <walt@tilera.com>
506 Backport from mainline
507 2014-01-25 Walter Lee <walt@tilera.com>
509 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
510 avoid clobbering a live register.
512 2014-01-25 Walter Lee <walt@tilera.com>
514 Backport from mainline
515 2014-01-25 Walter Lee <walt@tilera.com>
517 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
518 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
519 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
520 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
522 2014-01-25 Walter Lee <walt@tilera.com>
524 Backport from mainline
525 2014-01-25 Walter Lee <walt@tilera.com>
527 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
528 insns before bundling.
529 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
531 2014-01-25 Walter Lee <walt@tilera.com>
533 Backport from mainline
534 2014-01-25 Walter Lee <walt@tilera.com>
536 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
537 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
538 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
540 2014-01-25 Walter Lee <walt@tilera.com>
542 Backport from mainline
543 2014-01-25 Walter Lee <walt@tilera.com>
545 * config/tilepro/tilepro.md (ctzdi2): Use register_operand
550 2014-01-25 Walter Lee <walt@tilera.com>
552 Backport from mainline
553 2014-01-25 Walter Lee <walt@tilera.com>
555 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
556 (TARGET_EXPAND_TO_RTL_HOOK): Define.
558 2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
560 Backport from mainline
561 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
564 * config/i386/i386.md (pushsf splitter): Get stack adjustment
565 from push operand if code of push isn't PRE_DEC.
567 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
569 Backport from mainline.
570 * config/microblaze/microblaze.md: Add trap insn and attribute
572 2014-01-23 Marek Polacek <polacek@redhat.com>
574 Backport from mainline
575 2013-10-21 Marek Polacek <polacek@redhat.com>
578 * fold-const.c (fold_range_test): Return 0 if the type is not
581 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
583 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
585 2014-01-22 Uros Bizjak <ubizjak@gmail.com>
587 Backport from mainline
588 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
590 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
591 for SImode_address_operand operands, having only a REG argument.
593 2014-01-20 Jakub Jelinek <jakub@redhat.com>
596 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
597 if operands[1] is a REG or ZERO_EXTEND of a REG.
599 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
600 H.J. Lu <hongjiu.lu@intel.com>
603 * config/i386/i386.md (*lea<mode>): Zero-extend return register
604 to DImode for zero-extended addresses.
606 2014-01-21 Andrew Pinski <apinski@cavium.com>
607 Steve Ellcey <sellcey@mips.com>
610 * config/mips/mips.c (mips_print_operand): Check operand mode instead
613 2014-01-21 Andrey Belevantsev <abel@ispras.ru>
615 Backport from mainline
616 2013-12-23 Andrey Belevantsev <abel@ispras.ru>
618 PR rtl-optimization/57422
619 * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
622 2014-01-20 Jakub Jelinek <jakub@redhat.com>
625 * tree.h (fold_builtin_strcat): New prototype.
626 * builtins.c (fold_builtin_strcat): No longer static. Add len
627 argument, if non-NULL, don't call c_strlen. Optimize
628 directly into __builtin_memcpy instead of __builtin_strcpy.
629 (fold_builtin_2): Adjust fold_builtin_strcat caller.
630 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
632 2014-01-20 Richard Biener <rguenther@suse.de>
635 * builtins.c (fold_builtin_strcat): Remove case better handled
636 by tree-ssa-strlen.c.
638 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
640 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
641 long non-pic millicode calls.
643 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
645 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
646 call to $$dyncall when TARGET_LONG_CALLS is true.
648 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
650 Backport from mainline
651 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
654 * config/i386/i386.c (type_natural_mode): Add a bool parameter
655 to indicate if type is used for function return value. Warn
656 ABI change if the vector mode isn't available for function
658 (ix86_function_arg_advance): Pass false to type_natural_mode.
659 (ix86_function_arg): Likewise.
660 (ix86_gimplify_va_arg): Likewise.
661 (function_arg_32): Don't warn ABI change.
662 (ix86_function_value): Pass true to type_natural_mode.
663 (ix86_return_in_memory): Likewise.
664 (ix86_struct_value_rtx): Removed.
665 (TARGET_STRUCT_VALUE_RTX): Likewise.
667 2014-01-17 Charles Baylis <charles.baylis@linaro.org>
669 Backport from mainline
670 2013-12-19 Charles Baylis <charles.baylis@linaro.org>
673 * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
675 * config/arm/ldmstm.md: Regenerate.
677 2013-12-19 Charles Baylis <charles.baylis@linaro.org>
680 * config/arm/predicates.md (arm_hard_general_register_operand):
682 (arm_hard_register_operand): Remove.
683 * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
685 * config/arm/ldmstm.md: Regenerate.
687 2013-12-19 Charles Baylis <charles.baylis@linaro.org>
690 * config/arm/predicates.md (vfp_hard_register_operand): New predicate.
691 * config/arm/arm.md (vfp_pop_multiple_with_writeback): Use
692 vfp_hard_register_operand.
694 2014-01-17 Kugan Vivekanandarajah <kuganv@linaro.org>
696 Backport from mainline
697 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
698 Kugan Vivekanandarajah <kuganv@linaro.org>
701 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
704 2014-01-17 Terry Guo <terry.guo@arm.com>
707 * config/arm/arm.md (prefetch): Set insn type attribute to load1.
709 2014-01-16 Jakub Jelinek <jakub@redhat.com>
712 * config/i386/i386.c (ix86_expand_builtin): If target doesn't
713 satisfy operand 0 predicate for gathers, use a new pseudo as
716 2014-01-16 Richard Henderson <rth@redhat.com>
719 * reginfo.c (global_regs_decl): Globalize.
720 * rtl.h (global_regs_decl): Declare.
721 * ira.c (do_reload): Diagnose frame_pointer_needed and it
722 reserved via global_regs.
724 2014-01-16 Peter Bergner <bergner@vnet.ibm.com>
726 Backport from mainline
727 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
729 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
730 VALID_AVX256_REG_OR_OI_MODE.
732 2013-09-05 Peter Bergner <bergner@vnet.ibm.com>
735 * reginfo.c (choose_hard_reg_mode): Scan through all mode classes
736 looking for widest mode.
738 2014-01-16 Marek Polacek <polacek@redhat.com>
740 Backported from mainline
741 2014-01-16 Marek Polacek <polacek@redhat.com>
744 * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
745 it is error_mark_node.
747 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
750 * config/s390/s390.c (s390_preferred_reload_class): Don't return
751 ADDR_REGS for invalid symrefs in non-PIC code.
753 2014-01-14 Uros Bizjak <ubizjak@gmail.com>
756 2014-01-08 Uros Bizjak <ubizjak@gmail.com>
758 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
759 from prefetch_block tune setting.
761 2014-01-13 Jakub Jelinek <jakub@redhat.com>
763 Backported from mainline
764 2014-01-10 Jakub Jelinek <jakub@redhat.com>
766 PR tree-optimization/59745
767 * tree-predcom.c (tree_predictive_commoning_loop): Call
768 free_affine_expand_cache if giving up because components is NULL.
770 2014-01-10 Yufeng Zhang <yufeng.zhang@arm.com>
772 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
773 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
774 rtx is const0_rtx or not.
776 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
778 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
779 extraction in good case.
781 2014-01-10 Huacai Chen <chenhc@lemote.com>
783 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
784 kernel strings for Loongson-2E/2F/3A.
786 2014-01-10 Richard Biener <rguenther@suse.de>
788 PR tree-optimization/59715
789 * tree-flow.h (split_critical_edges): Declare.
790 * tree-cfg.c (split_critical_edges): Export.
791 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
793 2014-01-09 Richard Sandiford <rdsandiford@googlemail.com>
795 * config/mips/mips.h (ISA_HAS_WSBH): Define.
796 * config/mips/mips.md (UNSPEC_WSBH, UNSPEC_DSBH, UNSPEC_DSHD): New
798 (bswaphi2, bswapsi2, bswapdi2, wsbh, dsbh, dshd): New patterns.
800 2014-01-09 Richard Sandiford <rdsandiford@googlemail.com>
802 PR rtl-optimization/59137
803 * reorg.c (steal_delay_list_from_target): Call update_block for
805 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
807 2014-01-09 Richard Sandiford <rdsandiford@googlemail.com>
810 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
812 * config/mips/mips.c (mips_truncated_op_cost): New function.
813 (mips_rtx_costs): Adjust test for BADDU.
814 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
816 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
818 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
819 (*baddu_si): ...this new pattern.
821 2014-01-09 Richard Biener <rguenther@suse.de>
823 Backport from mainline
824 2013-11-18 Richard Biener <rguenther@suse.de>
826 PR tree-optimization/59125
827 PR tree-optimization/54570
828 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): When inlining
829 is not complete do not treat component-references with offset zero
830 but different fields as equal.
831 * tree-object-size.c: Include tree-phinodes.h and ssa-iterators.h.
832 (compute_object_sizes): Apply TLC. Propagate the constant
833 results into all uses and fold their stmts.
834 * passes.def (pass_all_optimizations): Move pass_object_sizes
835 after the first pass_forwprop and before pass_fre.
837 2013-12-03 Jakub Jelinek <jakub@redhat.com>
839 PR tree-optimization/59362
840 * tree-object-size.c (object_sizes): Change into array of
841 vec<unsigned HOST_WIDE_INT>.
842 (compute_builtin_object_size): Check computed bitmap for
843 non-NULL instead of object_sizes. Call safe_grow on object_sizes
844 vector if new SSA_NAMEs appeared.
845 (init_object_sizes): Check computed bitmap for non-NULL.
846 Call safe_grow on object_sizes elements instead of initializing
848 (fini_object_sizes): Call release on object_sizes elements, don't
851 2014-01-09 Richard Earnshaw <rearnsha@arm.com>
853 PR rtl-optimization/54300
854 * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
855 outputs in a single-set are killed from the value chains.
857 2014-01-09 Jakub Jelinek <jakub@redhat.com>
859 PR rtl-optimization/59724
860 * ifcvt.c (cond_exec_process_if_block): Don't call
861 flow_find_head_matching_sequence with 0 longest_match.
862 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
863 non-active insns if !stop_after.
864 (try_head_merge_bb): Revert 2014-01-07 changes.
866 2014-01-09 Hans-Peter Nilsson <hp@axis.com>
868 Backport from mainline
869 2013-12-23 Hans-Peter Nilsson <hp@axis.com>
872 * config/cris/predicates.md (cris_nonsp_register_operand):
873 New define_predicate.
874 * config/cris/cris.md: Replace register_operand with
875 cris_nonsp_register_operand for destinations in all
876 define_splits where a register is set more than once.
878 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
880 Backport from mainline
881 2013-12-25 H.J. Lu <hongjiu.lu@intel.com>
884 * config/i386/i386.c (struct ptt): Add a field for processor name.
885 (processor_target_table): Sync with processor_type. Add
887 (cpu_names): Removed.
888 (ix86_option_override_internal): Default x_ix86_tune_string
889 to processor_target_table[TARGET_CPU_DEFAULT].name.
890 (ix86_function_specific_print): Assert arch and tune <
891 PROCESSOR_max. Use processor_target_table to print arch and
893 * config/i386/i386.h (TARGET_CPU_DEFAULT): Default to
895 (target_cpu_default): Removed.
896 (processor_type): Reordered.
898 2014-01-08 Uros Bizjak <ubizjak@gmail.com>
900 Backport from mainline
901 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
903 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
904 from prefetch_block tune setting.
905 (nocona_cost): Correct size of prefetch block to 64.
907 2014-01-08 Martin Jambor <mjambor@suse.cz>
910 * ipa-prop.c (ipa_compute_jump_functions): Bail out if not optimizing.
911 (parm_preserved_before_stmt_p): Assume modification present when not
914 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
917 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
918 for 14-bit register offsets when INT14_OK_STRICT is false.
920 2014-01-07 Roland Stigge <stigge@antcom.de>
921 Michael Meissner <meissner@linux.vnet.ibm.com>
924 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
925 Only check TFmode for SPE constants. Don't check TImode or TDmode.
927 2014-01-07 Jakub Jelinek <jakub@redhat.com>
929 PR rtl-optimization/58668
930 * cfgcleanup.c (flow_find_cross_jump): Don't count
931 any jumps if dir_p is NULL. Remove p1 variable and make USE/CLOBBER
932 check consistent with other places.
933 (flow_find_head_matching_sequence): Don't count USE or CLOBBER insns.
934 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
936 * ifcvt.c (count_bb_insns): Don't count USE or CLOBBER insns.
938 2014-01-07 Mike Stump <mikestump@comcast.net>
939 Jakub Jelinek <jakub@redhat.com>
942 * tree.h (struct tree_optimization_option): Change optabs
943 type from unsigned char * to void *.
944 * optabs.c (init_tree_optimization_optabs): Adjust
945 TREE_OPTIMIZATION_OPTABS initialization.
947 2014-01-07 Jakub Jelinek <jakub@redhat.com>
949 Backported from mainline
950 2013-12-16 Jakub Jelinek <jakub@redhat.com>
954 * gimple.h (walk_stmt_load_store_addr_fn): New typedef.
955 (walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it
957 * gimple.c (walk_stmt_load_store_ops): Likewise.
958 (walk_stmt_load_store_addr_ops): Likewise. Adjust all callback
959 calls to supply the gimple operand containing the base tree
960 as an extra argument.
961 * tree-ssa-ter.c (find_ssaname, find_ssaname_in_store): New helper
963 (find_replaceable_in_bb): For calls or GIMPLE_ASM, only set
964 same_root_var if USE is used somewhere in the stores of the stmt.
965 * ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt
966 argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
967 * ipa-pure-const.c (check_load, check_store, check_ipa_load,
968 check_ipa_store): Likewise.
969 * gimple.c (gimple_ior_addresses_taken_1): Likewise.
970 * ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise.
971 (verify_non_ssa_vars, visit_bb): Adjust their callers.
972 * cfgexpand.c (add_scope_conflicts_1): Use
973 walk_stmt_load_store_addr_fn type for visit variable.
974 (visit_op, visit_conflict): Remove name of the stmt
975 argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
976 * tree-sra.c (asm_visit_addr): Likewise. Remove name of the data
977 argument and ATTRIBUTE_UNUSED.
978 * cgraphbuild.c (mark_address, mark_load, mark_store): Add another
979 unnamed tree argument.
981 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
983 * config/m68k/m68k.c (handle_move_double): Handle pushes with
984 overlapping registers also for registers other than the stack
987 2014-01-03 Jakub Jelinek <jakub@redhat.com>
990 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
993 2014-01-01 Jakub Jelinek <jakub@redhat.com>
995 PR rtl-optimization/59647
996 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
997 new_rtx into UNSIGNED_FLOAT rtxes.
999 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1001 * doc/invoke.texi (output file options): Document -fada-spec-parent.
1003 2013-12-26 Uros Bizjak <ubizjak@gmail.com>
1005 * config/i386/driver-i386.c (decode_caches_intel): Add missing entries.
1007 2013-12-20 Jakub Jelinek <jakub@redhat.com>
1010 Backported from mainline
1011 2013-08-19 Dehao Chen <dehao@google.com>
1013 * value-prof.c (gimple_ic): Fix the bug of adding EH edge.
1015 2013-12-19 James Greenhalgh <james.greenhalgh@arm.com>
1017 Backport from Mainline.
1018 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
1020 * config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
1022 (cmhi): Rename to...
1024 * config/aarch64/aarch64-simd.md
1025 (simd_mode): Add SF.
1026 (aarch64_vcond_internal): Use new names for unsigned comparison insns.
1027 (aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
1028 * config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
1029 (cstore<mode>_neg): ...This.
1030 * config/aarch64/iterators.md
1032 (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
1034 (UCOMPARISONS): Likewise.
1035 (optab): Add missing comparisons.
1043 (V_cmp_result): Add DF, SF modes.
1044 (v_cmp_result): Likewise.
1047 * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
1049 Partial Backport from mainline.
1050 2013-05-01 James Greenhalgh <james.greenhalgh@arm.com>
1052 * config/aarch64/arm_neon.h
1053 (vc<eq, lt, le, gt, ge, tst><qsd>_<u><8,16,32,64>): Remap
1054 to builtins or C as appropriate.
1056 2013-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
1057 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1059 Backport from mainline
1060 2013-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
1061 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): New
1063 (s390_hotpatch_trampoline_halfwords_max): New constant
1064 (s390_hotpatch_trampoline_halfwords): New static variable
1065 (get_hotpatch_attribute): New function
1066 (s390_handle_hotpatch_attribute): New function
1067 (s390_attribute_table): New target specific attribute table to implement
1068 the hotpatch attribute
1069 (s390_option_override): Parse hotpatch options
1070 (s390_function_num_hotpatch_trampoline_halfwords): New function
1071 (s390_can_inline_p): Implement target hook to
1072 suppress hotpatching for explicitly inlined functions
1073 (s390_asm_output_function_label): Generate hotpatch prologue
1074 (TARGET_ATTRIBUTE_TABLE): Define to implement target attribute table
1075 (TARGET_CAN_INLINE_P): Define to implement target hook
1076 * config/s390/s390.opt (mhotpatch): New options -mhotpatch, -mhotpatch=
1077 * config/s390/s390-protos.h (s390_asm_output_function_label): Add
1079 * config/s390/s390.h (ASM_OUTPUT_FUNCTION_LABEL): Target specific
1080 function label generation for hotpatching
1081 (FUNCTION_BOUNDARY): Align functions to eight bytes
1082 * doc/extend.texi: Document hotpatch attribute
1083 * doc/invoke.texi: Document -mhotpatch option
1085 2013-12-18 Eric Botcazou <ebotcazou@adacore.com>
1087 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Fix thinko.
1089 2013-12-12 Vladimir Makarov <vmakarov@redhat.com>
1092 * lra-coalesce.c (lra_coalesce): Invalidate inheritance pseudo
1093 values if necessary.
1095 2013-12-12 Jakub Jelinek <jakub@redhat.com>
1098 * gimplify.c (omp_check_private): Add copyprivate argument, if it
1099 is true, don't check omp_privatize_by_reference.
1100 (gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
1101 decl is private in outer context. Adjust omp_check_private caller.
1103 2013-12-10 Eric Botcazou <ebotcazou@adacore.com>
1105 PR rtl-optimization/58295
1106 * simplify-rtx.c (simplify_truncation): Restrict the distribution for
1107 WORD_REGISTER_OPERATIONS targets.
1109 2013-12-10 Kai Tietz <ktietz@redhat.com>
1112 * config/i386/i386.c (ix86_expand_prologue): Address saved
1113 registers stack-relative, not via frame-pointer.
1115 2013-12-09 Alan Modra <amodra@gmail.com>
1118 2013-12-05 Alan Modra <amodra@gmail.com>
1119 * configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for
1121 <recursive call for build != host>: Clear GMPINC. Don't bother
1123 * configure: Regenerate.
1125 2013-12-08 Uros Bizjak <ubizjak@gmail.com>
1127 Backport from mainline
1128 2013-12-06 Uros Bizjak <ubizjak@gmail.com>
1131 * config/i386/i386.c (type_natural_mode): Properly handle
1132 size 8 for !TARGET_64BIT.
1134 2013-12-07 Ralf Corsépius <ralf.corsepius@rtems.org>
1136 * config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.
1138 2013-12-06 Jakub Jelinek <jakub@redhat.com>
1140 PR tree-optimization/59388
1141 * tree-ssa-reassoc.c (update_range_test): If op == range->exp,
1142 gimplify tem after stmt rather than before it.
1144 2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1146 Backport from mainline
1147 2013-11-26 Oleg Endo <olegendo@gcc.gnu.org>
1151 * config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
1152 Prefix function names with 'sh_'. Make them non-static.
1153 * config/sh/sh-protos.h (sh_disp_addr_displacement,
1154 sh_max_mov_insn_displacement): Add declarations.
1155 * config/sh/constraints.md (Q): Reject QImode.
1156 (Sdd): Use match_code "mem".
1157 (Snd): Fix erroneous matching of non-memory operands.
1158 * config/sh/predicates.md (short_displacement_mem_operand): New
1160 (general_movsrc_operand): Disallow PC relative QImode loads.
1161 * config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
1162 (*movqi, *movhi): Merge both insns into...
1163 (*mov<mode>): ... this new insn. Replace generic 'm' constraints with
1164 'Snd' and 'Sdd' constraints. Calculate insn length dynamically based
1165 on the operand types.
1167 2013-12-06 Richard Biener <rguenther@suse.de>
1169 Backport from mainline
1170 2013-11-29 Richard Biener <rguenther@suse.de>
1172 PR tree-optimization/59334
1173 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
1176 2013-11-28 Richard Biener <rguenther@suse.de>
1178 PR tree-optimization/59330
1179 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
1180 and fix delayed marking of free calls not necessary.
1182 2013-12-06 Richard Biener <rguenther@suse.de>
1184 Backport from mainline
1185 2013-11-27 Richard Biener <rguenther@suse.de>
1187 PR tree-optimization/59288
1188 * tree-vect-loop.c (get_initial_def_for_induction): Do not
1189 re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
1191 2013-11-19 Richard Biener <rguenther@suse.de>
1193 PR tree-optimization/59164
1194 * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
1195 check whether we can create an epilogue loop to reflect the
1196 cases where we create one.
1198 2013-09-05 Richard Biener <rguenther@suse.de>
1200 PR tree-optimization/58137
1201 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1202 Do not create vectors of pointers.
1203 * tree-vect-loop.c (get_initial_def_for_induction): Use proper
1204 types for the components of the vector initializer.
1205 * tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
1206 allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.
1208 2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
1212 * config/sh/sh.md (*cbranch_t): Check that there are no labels between
1213 the s1 insn and the testing insn. Remove REG_DEAD note from s1 insn.
1215 2013-12-05 Richard Biener <rguenther@suse.de>
1217 Backport from mainline
1218 2013-11-19 Richard Biener <rguenther@suse.de>
1221 * tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
1222 loads into stmts that may clobber it.
1224 2013-12-04 Jakub Jelinek <jakub@redhat.com>
1226 PR rtl-optimization/58726
1227 * combine.c (force_to_mode): Fix comment typo. Don't destructively
1228 modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
1230 2013-12-04 Jakub Jelinek <jakub@redhat.com>
1231 Uros Bizjak <ubizjak@gmail.com>
1234 * config/i386/i386.c (ix86_legitimate_combined_insn): If for
1235 !TARGET_AVX there is misaligned MEM operand with vector mode
1236 and get_attr_ssememalign is 0, return false.
1237 (ix86_expand_special_args_builtin): Add get_pointer_alignment
1238 computed alignment and for non-temporal loads/stores also
1239 at least GET_MODE_ALIGNMENT as MEM_ALIGN.
1240 * config/i386/sse.md
1241 (<sse>_loadu<ssemodesuffix><avxsizesuffix>,
1242 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
1243 <sse2>_loaddqu<avxsizesuffix>,
1244 <sse2>_storedqu<avxsizesuffix>, <sse3>_lddqu<avxsizesuffix>,
1245 sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
1246 sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
1247 *vec_interleave_highv2df, *vec_interleave_lowv2df,
1248 *vec_extractv2df_1_sse, sse2_loadhpd, sse2_loadlpd, sse2_movsd,
1249 sse4_1_<code>v8qiv8hi2, sse4_1_<code>v4qiv4si2,
1250 sse4_1_<code>v4hiv4si2, sse4_1_<code>v2qiv2di2,
1251 sse4_1_<code>v2hiv2di2, sse4_1_<code>v2siv2di2, sse4_2_pcmpestr,
1252 *sse4_2_pcmpestr_unaligned, sse4_2_pcmpestri, sse4_2_pcmpestrm,
1253 sse4_2_pcmpestr_cconly, sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned,
1254 sse4_2_pcmpistri, sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add
1255 ssememalign attribute.
1256 * config/i386/i386.md (ssememalign): New define_attr.
1258 2013-12-03 Jakub Jelinek <jakub@redhat.com>
1261 * gimplify.c (nonlocal_vla_vars): New variable.
1262 (gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
1263 nonlocal_vla_vars chain.
1264 (gimplify_body): Call declare_vars on nonlocal_vla_vars chain
1265 if outer_bind has DECL_INITIAL (current_function_decl) block.
1268 * optabs.c (emit_conditional_move): Save and restore
1269 pending_stack_adjust and stack_pointer_delta if cmove can't be used.
1271 2013-12-02 Jakub Jelinek <jakub@redhat.com>
1273 PR tree-optimization/59358
1274 * tree-vrp.c (union_ranges): To check for the partially
1275 overlapping ranges or adjacent ranges, also compare *vr0max
1278 2013-12-02 Richard Biener <rguenther@suse.de>
1280 PR tree-optimization/59139
1281 * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
1282 code in get_val_for.
1283 (get_val_for): Use gcc_checking_asserts.
1285 2013-11-27 Tom de Vries <tom@codesourcery.com>
1286 Marc Glisse <marc.glisse@inria.fr>
1289 * fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
1291 * gimplify.c (gimple_fold_indirect_ref): Same.
1293 2013-12-01 Eric Botcazou <ebotcazou@adacore.com>
1295 * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
1298 2013-12-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1300 * expr.c (emit_group_store): Fix off-by-one BITFIELD_END argument.
1302 2013-11-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1304 Backport from mainline
1305 2013-11-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1307 * config/arm/iterators.md (vrint_conds): New int attribute.
1308 * config/arm/vfp.md (<vrint_pattern><SDF:mode>2): Set conds attribute.
1309 (smax<mode>3): Likewise.
1310 (smin<mode>3): Likewise.
1312 2013-11-28 Uros Bizjak <ubizjak@gmail.com>
1314 Backport from mainline
1315 2013-11-27 Uros Bizjak <ubizjak@gmail.com>
1316 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1319 * gcc.target/i386/xop-frczX.c: New test.
1321 2013-11-28 Terry Guo <terry.guo@arm.com>
1323 Backport mainline r205391
1324 2013-11-26 Terry Guo <terry.guo@arm.com>
1326 * config/arm/arm.c (require_pic_register): Handle high pic base
1327 register for thumb-1.
1328 (arm_load_pic_register): Also initialize high pic base register.
1329 * doc/invoke.texi: Update documentation for option -mpic-register.
1331 2013-11-27 Jakub Jelinek <jakub@redhat.com>
1333 Backported from mainline
1334 2013-11-26 Jakub Jelinek <jakub@redhat.com>
1336 PR tree-optimization/59014
1337 * tree-vrp.c (register_edge_assert_for_1): Don't look
1338 through conversions from non-integral types or through
1339 narrowing conversions.
1341 2013-11-27 Eric Botcazou <ebotcazou@adacore.com>
1344 * expr.c (emit_group_store): Don't write past the end of the structure.
1345 (store_bit_field): Fix formatting.
1347 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1349 Backport from mainline
1350 2013-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
1352 * config/sparc/t-rtems: Add leon3 multilibs.
1354 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1356 Backport from mainline
1357 2013-08-09 Eric Botcazou <ebotcazou@adacore.com>
1359 * configure.ac: Add GAS check for LEON instructions on SPARC.
1360 * configure: Regenerate.
1361 * config.in: Likewise.
1362 * config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the
1364 * config/sparc/sparc.opt (LEON, LEON3): New masks.
1365 * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG
1367 (ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3.
1368 (AS_LEON_FLAG): New macro.
1369 * config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon
1370 and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined.
1371 Deal with LEON and LEON3 for the memory model.
1372 * config/sparc/sync.md (atomic_compare_and_swap<mode>): Enable if LEON3
1373 (atomic_compare_and_swap<mode>_1): Likewise.
1374 (*atomic_compare_and_swap<mode>_1): Likewise.
1376 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1378 Backport from mainline
1379 2013-07-23 Eric Botcazou <ebotcazou@adacore.com>
1381 * doc/invoke.texi (SPARC Options): Document new leon3 processor value.
1383 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1385 Backport from mainline
1386 2013-07-22 Eric Botcazou <ebotcazou@adacore.com>
1388 * config.gcc (sparc*-*-*): Accept leon3 processor.
1389 (sparc-leon*-*): Merge with sparc*-*-* and add leon3 support.
1390 * doc/invoke.texi (SPARC Options): Adjust -mfix-ut699 entry.
1391 * config/sparc/sparc-opts.h (enum processor_type): Add PROCESSOR_LEON3.
1392 * config/sparc/sparc.opt (enum processor_type): Add leon3.
1393 (mfix-ut699): Adjust comment.
1394 * config/sparc/sparc.h (TARGET_CPU_leon3): New define.
1395 (CPP_CPU32_DEFAULT_SPEC): Add leon3 support.
1396 (CPP_CPU_SPEC): Likewise.
1397 (ASM_CPU_SPEC): Likewise.
1398 * config/sparc/sparc.c (leon3_cost): New constant.
1399 (sparc_option_override): Add leon3 support.
1400 (mem_ref): New function.
1401 (sparc_gate_work_around_errata): Return true if -mfix-ut699 is enabled.
1402 (sparc_do_work_around_errata): Look into the instruction in the delay
1403 slot and adjust accordingly. Add fix for the data cache nullify issues
1404 of the UT699. Change insertion position for the NOP.
1405 * config/sparc/leon.md (leon_fpalu, leon_fpmds, write_buf): Delete.
1406 (leon3_load): New reservation.
1407 (leon_store): Bump latency to 2.
1408 (grfpu): New automaton.
1409 (grfpu_alu): New unit.
1410 (grfpu_ds): Likewise.
1411 (leon_fp_alu): Adjust.
1412 (leon_fp_mult): Delete.
1413 (leon_fp_div): Split into leon_fp_divs and leon_fp_divd.
1414 (leon_fp_sqrt): Split into leon_fp_sqrts and leon_fp_sqrtd.
1415 * config/sparc/sparc.md (cpu): Add leon3.
1416 * config/sparc/sync.md (atomic_exchangesi): Disable if -mfix-ut699.
1418 (atomic_test_and_set): Likewise.
1421 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1423 Backport from mainline
1424 2013-04-10 Steven Bosscher <steven@gcc.gnu.org>
1426 * config/sparc/sparc.c: Include tree-pass.h.
1427 (TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
1428 (sparc_reorg): Rename to sparc_do_work_around_errata. Move to
1429 head of file. Change return type. Split off gate function.
1430 (sparc_gate_work_around_errata): New function.
1431 (pass_work_around_errata): New pass definition.
1432 (insert_pass_work_around_errata) New pass insert definition to
1433 insert pass_work_around_errata just after delayed-branch scheduling.
1434 (sparc_option_override): Insert the pass.
1435 * config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
1437 2013-11-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
1439 Backport from mainline
1440 2013-05-28 Eric Botcazou <ebotcazou@adacore.com>
1442 * doc/invoke.texi (SPARC Options): Document -mfix-ut699.
1443 * builtins.c (expand_builtin_mathfn) <BUILT_IN_SQRT>: Try to widen the
1444 mode if the instruction isn't available in the original mode.
1445 * config/sparc/sparc.opt (mfix-ut699): New option.
1446 * config/sparc/sparc.md (muldf3_extend): Disable if -mfix-ut699.
1447 (divdf3): Turn into expander.
1448 (divdf3_nofix): New insn.
1449 (divdf3_fix): Likewise.
1450 (divsf3): Disable if -mfix-ut699.
1451 (sqrtdf2): Turn into expander.
1452 (sqrtdf2_nofix): New insn.
1453 (sqrtdf2_fix): Likewise.
1454 (sqrtsf2): Disable if -mfix-ut699.
1456 2013-11-22 Eric Botcazou <ebotcazou@adacore.com>
1458 * print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.
1460 2013-11-21 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1463 Backport from mainline: r197467 and r198999.
1464 2013-04-03 Jeff Law <law@redhat.com>
1466 * Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).
1467 (lra-eliminations.o): Likewise.
1469 2013-05-16 Jeff Law <law@redhat.com>
1471 * Makefile.in (tree-switch-conversion.o): Depend on $(OPTABS_H).
1473 2013-11-20 Eric Botcazou <ebotcazou@adacore.com>
1476 * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
1477 Make sure neg2_ovf is set before being used.
1479 2013-11-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1480 Dominik Vogt <vogt@linux.vnet.ibm.com>
1482 Backport from mainline
1483 * config/s390/s390.c (s390_canonicalize_comparison): Don't fold
1484 int comparisons with an out of range condition code.
1485 (s390_optimize_nonescaping_tx): Skip empty BBs.
1486 Generate the new tbegin RTX when removing the FPR clobbers (with
1488 (s390_expand_tbegin): Fix the retry loop counter. Copy CC to the
1489 result before doing the retry calculations.
1490 (s390_init_builtins): Make tbegin "returns_twice" and tabort
1492 * config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
1493 the TDB setting part of an tbegin.
1494 ("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
1495 ("tx_assist"): Set unused argument to an immediate zero instead of
1496 loading zero into a GPR and pass it as argument.
1497 * config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
1498 Remove inline and related attributes.
1499 (__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
1500 (__TM_is_illegal, __TM_is_footprint_exceeded)
1501 (__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
1504 2013-11-19 Uros Bizjak <ubizjak@gmail.com>
1506 Backport from mainline
1507 2013-11-18 Uros Bizjak <ubizjak@gmail.com>
1509 * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
1510 ix86_address_subreg_operand. Move subreg checks to
1511 ix86_validate_address_register. Move address override check to
1512 ix86_legitimate_address_p.
1513 (ix86_validate_address_register): New function.
1514 (ix86_legitimate_address_p): Call ix86_validate_address_register
1515 to validate base and index registers. Add address override check
1516 from ix86_decompose_address.
1517 (ix86_decompose_address): Remove.
1519 Backport from mainline
1520 2013-11-17 Uros Bizjak <ubizjak@gmail.com>
1523 * config/i386/i386.c (ix86_address_subreg_operand): Do not
1524 reject non-integer subregs.
1525 (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
1526 Move check for invalid x32 constant addresses ...
1527 (ix86_legitimate_address_p): ... here.
1529 2013-11-19 Richard Biener <rguenther@suse.de>
1531 Backport from mainline
1532 2013-11-07 Richard Biener <rguenther@suse.de>
1534 * tree-dfa.c (get_ref_base_and_extent): Fix casting.
1536 2013-11-19 Richard Biener <rguenther@suse.de>
1538 PR tree-optimization/57517
1539 * tree-predcom.c (combinable_refs_p): Verify the combination
1540 is always executed when the refs are.
1542 2013-11-19 Richard Biener <rguenther@suse.de>
1544 Backport from mainline
1545 2013-11-05 Richard Biener <rguenther@suse.de>
1548 * tree-dfa.c (get_ref_base_and_extent): Merge common code
1549 in MEM_REF and TARGET_MEM_REF handling. Make sure to
1550 process trailing array detection before diving into the
1551 view-converted object (and possibly apply some extra offset).
1553 2013-11-18 Richard Biener <rguenther@suse.de>
1555 Backport from mainline
1556 2013-10-21 Richard Biener <rguenther@suse.de>
1558 PR tree-optimization/58794
1559 * fold-const.c (operand_equal_p): Compare FIELD_DECL operand
1560 of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.
1562 2013-10-21 Richard Biener <rguenther@suse.de>
1565 * fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
1566 to (T) X for sign-changing conversions (or no conversion).
1568 2013-11-06 Richard Biener <rguenther@suse.de>
1570 PR tree-optimization/58653
1571 * tree-predcom.c (ref_at_iteration): Rewrite to generate
1573 (prepare_initializers_chain): Adjust.
1575 PR tree-optimization/59047
1576 * tree-predcom.c (ref_at_iteration): Handle bitfield accesses
1579 2013-10-15 Richard Biener <rguenther@suse.de>
1581 PR tree-optimization/58143
1582 * tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
1584 (rewrite_to_defined_overflow): Likewise.
1585 (move_computations_dom_walker::before_dom): Rewrite stmts
1586 with undefined signed overflow that are not always executed
1587 into unsigned arithmetic.
1589 2013-11-14 Uros Bizjak <ubizjak@gmail.com>
1591 Backport from mainline
1592 2013-11-10 Uros Bizjak <ubizjak@gmail.com>
1594 * mode-switching.c (optimize_mode_switching): Mark block as
1595 nontransparent, if last_mode at block exit is different from no_mode.
1597 Backport from mainline
1598 2013-11-06 Uros Bizjak <ubizjak@gmail.com>
1601 * config/i386/i386.c (ix86_avx_u128_mode_needed): Require
1602 AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
1603 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
1604 RTXes that return in AVX256 register.
1606 2013-11-14 Jakub Jelinek <jakub@redhat.com>
1607 Uros Bizjak <ubizjak@gmail.com>
1610 * config/i386/i386.md (*anddi_2): Only allow CCZmode if
1611 operands[2] satisfies_constraint_Z that might have bit 31 set.
1613 2013-11-12 H.J. Lu <hongjiu.lu@intel.com>
1615 Backported from mainline
1616 2013-11-12 H.J. Lu <hongjiu.lu@intel.com>
1619 * config/i386/i386.c (initial_ix86_tune_features): Set
1620 X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
1621 X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for m_HASWELL.
1623 2013-11-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1625 Backported from mainline
1626 2013-10-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1629 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
1631 2013-11-11 Jakub Jelinek <jakub@redhat.com>
1633 Backported from mainline
1634 2013-11-06 Jakub Jelinek <jakub@redhat.com>
1637 * expr.c (get_bit_range): Handle *offset == NULL_TREE.
1638 (expand_assignment): If *bitpos is negative, set *offset
1639 and adjust *bitpos, so that it is not negative.
1641 2013-11-05 Jakub Jelinek <jakub@redhat.com>
1643 PR rtl-optimization/58997
1644 * loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
1645 get_iv_value to be in iv->mode rather than iv->extend_mode.
1646 (iv_extend): Likewise. Otherwise, if iv->extend != extend,
1647 use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
1648 * loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
1651 2013-11-10 Karlson2k <k2k@narod.ru>
1652 Kai Tietz <ktietz@redhat.com>
1656 * configure.ac: Adding for exported symbols check
1657 and for rdynamic-check executable-extension.
1658 * configure: Regenerated.
1660 2013-11-07 H.J. Lu <hongjiu.lu@intel.com>
1663 * config/i386/i386.md (push peepholer/splitter): Use Pmode
1664 with stack_pointer_rtx.
1666 2013-11-05 Uros Bizjak <ubizjak@gmail.com>
1668 * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
1670 2013-11-05 Jakub Jelinek <jakub@redhat.com>
1672 PR tree-optimization/58984
1673 * ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
1674 set *SIZE_P if non-NULL on success.
1675 (ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
1677 (ipcp_transform_function): Likewise. Punt if size of access
1678 is different from TYPE_SIZE on v->value's type.
1680 2013-11-03 H.J. Lu <hongjiu.lu@intel.com>
1682 Backport from mainline
1683 2013-10-12 H.J. Lu <hongjiu.lu@intel.com>
1686 * config/i386/i386.c (ix86_copy_addr_to_reg): New function.
1687 (ix86_expand_movmem): Replace copy_addr_to_reg with
1688 ix86_copy_addr_to_reg.
1689 (ix86_expand_setmem): Likewise.
1691 2013-10-29 Uros Bizjak <ubizjak@gmail.com>
1693 Backport from mainline
1694 2013-08-08 Richard Sandiford <rdsandiford@googlemail.com>
1696 PR rtl-optimization/58079
1697 * combine.c (combine_simplify_rtx): Avoid using SUBST if
1698 simplify_comparison has widened a comparison with an integer.
1700 2013-10-29 Martin Jambor <mjambor@suse.cz>
1703 Backport from mainline
1704 2013-05-09 Martin Jambor <mjambor@suse.cz>
1707 * gimple-fold.c (canonicalize_constructor_val): Call
1708 cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
1710 Backport from mainline
1711 2013-03-16 Jan Hubicka <jh@suse.cz>
1713 * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
1714 * cgraph.c (cgraph_get_create_real_symbol_node): New function.
1715 * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
1716 of cgraph_get_create_node.
1717 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1719 2013-10-28 Tom de Vries <tom@codesourcery.com>
1721 * cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
1722 Don't commit insertions after NOTE_INSN_FUNCTION_BEG.
1724 2013-10-26 Uros Bizjak <ubizjak@gmail.com>
1726 Backport from mainline
1727 2013-10-22 Uros Bizjak <ubizjak@gmail.com>
1730 * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
1731 Remove CCCmode handling.
1732 <case LTU>: Return 'c' suffix for CCCmode.
1733 <case GEU>: Return 'nc' suffix for CCCmode.
1734 (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
1735 * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
1736 (*sub<mode>3_cc_overflow): Ditto.
1737 (*subsi3_zext_cc_overflow): Ditto.
1739 2013-10-26 Uros Bizjak <ubizjak@gmail.com>
1741 Backport from mainline
1742 2013-10-19 Uros Bizjak <ubizjak@gmail.com>
1745 * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
1746 ST1_REG and XMM1_REG for 32bit and 64bit targets. Also add DI_REG
1747 and SI_REG for 64bit SYSV ABI targets.
1749 2013-08-25 Richard Henderson <rth@twiddle.net>
1752 * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
1753 instead of create_convert_operand_to.
1754 (maybe_emit_sync_lock_test_and_set): Likewise.
1755 (expand_atomic_compare_and_swap): Likewise.
1756 (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
1758 2013-10-25 Eric Botcazou <ebotcazou@adacore.com>
1760 PR rtl-optimization/58831
1761 * alias.c (init_alias_analysis): At the beginning of each iteration, set
1762 the reg_seen[N] bit if static_reg_base_value[N] is non-null.
1764 2013-10-25 Eric Botcazou <ebotcazou@adacore.com>
1766 * recog.c (search_ofs): New static variable moved from...
1767 (peep2_find_free_register): ...here.
1768 (peephole2_optimize): Initialize it.
1770 2013-10-24 David Edelsohn <dje.gcc@gmail.com>
1772 Backport from mainline
1773 2013-10-23 David Edelsohn <dje.gcc@gmail.com>
1776 * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
1777 TARGET_32BIT final condition.
1778 (mulsi3_internal2 and splitter): Same.
1780 2013-10-23 Tom de Vries <tom@codesourcery.com>
1782 PR tree-optimization/58805
1783 * tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
1785 2013-10-23 Richard Biener <rguenther@suse.de>
1787 Backport from mainline
1788 2013-06-24 Richard Biener <rguenther@suse.de>
1790 PR tree-optimization/57488
1791 * tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
1793 2013-10-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
1795 Backport from mainline
1796 2013-10-16 Ganesh Gopalasubramanian
1797 <Ganesh.Gopalasubramanian@amd.com>
1799 * config/i386/i386.c (ix86_option_override_internal): Enable FMA4
1802 2013-10-16 Jakub Jelinek <jakub@redhat.com>
1804 * BASE-VER: Set to 4.8.3.
1805 * DEV-PHASE: Set to prerelease.
1807 2013-10-16 Release Manager
1809 * GCC 4.8.2 released.
1811 2013-10-12 James Greenhalgh <james.greenhalgh@arm.com>
1813 Backport from mainline.
1814 2013-10-12 James Greenhalgh <james.greenhalgh@arm.com>
1816 * config/aarch64/arm_neon.h
1817 (vtbx<1,3>_<psu>8): Fix register constriants.
1819 2013-10-10 Jakub Jelinek <jakub@redhat.com>
1822 * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
1823 if any labels are in FALLTHRU_BB, use a special label emitted
1824 immediately after the asm goto insn rather than label_rtx
1826 (expand_asm_stmt): Adjust caller.
1827 * cfgrtl.c (commit_one_edge_insertion): Force splitting of
1828 edge if the last insn in predecessor is a jump with single successor,
1829 but it isn't simplejump_p.
1831 2013-10-09 Jakub Jelinek <jakub@redhat.com>
1833 Backport from mainline
1834 2013-09-26 Richard Biener <rguenther@suse.de>
1836 PR tree-optimization/58539
1837 * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
1838 the fact that debug statements are not taking part in loop-closed
1841 2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1843 * config/s390/s390.c (s390_register_info): Make the call-saved FPR
1844 loop to work also for 31bit ABI.
1845 Save the stack pointer for frame_size > 0.
1847 2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1849 * config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
1850 ("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
1851 constraint letters from expanders.
1852 ("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
1853 retry count to general_operand.
1854 ("tabort"): Give operand 0 a mode.
1855 ("tabort_1"): Add mode and constraint letter for operand 0.
1856 * doc/extend.texi: Fix protoype of __builtin_non_tx_store.
1858 2013-10-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
1860 Backport from mainline.
1863 * config/aarch64/aarch64.md (*add_<shift>_<mode>)
1864 (*add_<shift>_si_uxtw,*add_mul_imm_<mode>)
1865 (*sub_<shift>_<mode>)
1866 (*sub_<shift>_si_uxtw,*sub_mul_imm_<mode>, *sub_mul_imm_si_uxtw):
1867 Remove k constraint.
1869 2013-10-02 John David Anglin <danglin@gcc.gnu.org>
1871 * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
1873 2013-10-01 Jakub Jelinek <jakub@redhat.com>
1874 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1877 * config/s390/s390.c (s390_chunkify_start): Handle tablejump_p first,
1878 continue when done, for other jumps look through PARALLEL
1881 2013-09-30 Jakub Jelinek <jakub@redhat.com>
1884 * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
1885 optimization, punt if sign_bit_p looked through any zero extension.
1887 2013-09-27 Paulo Matos <pmatos@broadcom.com>
1889 Backport from mainline.
1892 2013-03-27 Richard Biener <rguenther@suse.de>
1894 PR tree-optimization/56716
1895 * tree-ssa-structalias.c (perform_var_substitution): Adjust
1896 dumping for ref nodes.
1898 2013-09-27 Paulo Matos <pmatos@broadcom.com>
1900 Backport from mainline.
1902 2013-09-27 Paulo Matos <pmatos@broadcom.com>
1904 * gcc.dg/pr58463.c: New test.
1906 2013-09-23 Eric Botcazou <ebotcazou@adacore.com>
1908 * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
1909 assignment statements.
1911 2013-09-23 Alan Modra <amodra@gmail.com>
1914 * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
1916 2013-09-23 Alan Modra <amodra@gmail.com>
1918 * config/rs6000/predicates.md (add_cint_operand): New.
1919 (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
1920 * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
1921 using add_cint_operand.
1922 (largetoc_high_plus_aix): Likewise.
1923 * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
1925 2013-09-20 John David Anglin <danglin@gcc.gnu.org>
1928 * config/pa/pa.c (pa_option_override): Disable auto increment and
1929 decrement instructions until reload is completed.
1931 * config/pa/pa.md: In "scc" insn patterns, change output template to
1932 handle const0_rtx in reg_or_0_operand operands.
1934 2013-09-19 Jakub Jelinek <jakub@redhat.com>
1936 * omp-low.c (expand_omp_sections): Always pass len - 1 to
1937 GOMP_sections_start, even if !exit_reachable.
1939 2013-09-18 Richard Earnshaw <rearnsha@arm.com>
1941 * arm.c (arm_expand_prologue): Validate architecture supports
1942 LDRD/STRD before accepting tuning preferences.
1943 (arm_expand_epilogue): Likewise.
1945 2013-09-18 Daniel Morris <danielm@ecoscentric.com>
1946 Paolo Carlini <paolo.carlini@oracle.com>
1949 * doc/implement-cxx.texi: Fix references to the C++ standards.
1951 2013-09-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1953 PR tree-optimization/58088
1954 * fold-const.c (mask_with_trailing_zeros): New function.
1955 (fold_binary_loc): Make sure we don't recurse infinitely
1956 when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
1957 Use mask_with_trailing_zeros where appropriate.
1959 2013-09-14 John David Anglin <danglin@gcc.gnu.org>
1962 * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
1965 2013-09-13 Christian Bruel <christian.bruel@st.com>
1968 * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
1970 2013-09-11 Andi Kleen <ak@linux.intel.com>
1972 Backport from mainline
1973 * doc/extend.texi: Use __atomic_store_n instead of
1974 __atomic_store in HLE example.
1976 2013-09-11 Andi Kleen <ak@linux.intel.com>
1978 Backport from mainline
1979 * doc/extend.texi: Dont use __atomic_clear in HLE
1982 2013-09-11 Andi Kleen <ak@linux.intel.com>
1984 Backport from mainline
1985 * doc/extend.texi: Document that __atomic_clear and
1986 __atomic_test_and_set should only be used with bool.
1988 2013-09-11 Richard Biener <rguenther@suse.de>
1991 * passes.c (init_optimization_passes): Split critical edges
1992 before late uninit warning pass in the -Og pipeline.
1994 2013-09-11 Jakub Jelinek <jakub@redhat.com>
1996 PR tree-optimization/58385
1997 * fold-const.c (build_range_check): If both low and high are NULL,
1998 use omit_one_operand_loc to preserve exp side-effects.
2000 2013-09-10 Richard Earnshaw <rearnsha@arm.com>
2003 * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
2004 support conditional execution.
2005 (combine_vcvt_f64_<FCVTI32typename>): Likewise.
2007 2013-09-10 Jakub Jelinek <jakub@redhat.com>
2009 PR rtl-optimization/58365
2010 * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
2011 resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
2014 2013-09-09 Jakub Jelinek <jakub@redhat.com>
2016 PR tree-optimization/58364
2017 * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
2018 BOOLEAN_TYPE, only invert in_p and continue with arg0 if
2019 the current range can't be an unconditional true or false.
2021 2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2024 Backport from mainline
2025 2013-04-30 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2027 * explow.c (plus_constant): Pass "mode" to immed_double_int_const.
2028 Use gen_int_mode rather than GEN_INT.
2030 2013-09-09 Richard Biener <rguenther@suse.de>
2032 Backport from mainline
2033 2013-08-27 Richard Biener <rguenther@suse.de>
2035 PR tree-optimization/57521
2036 * tree-if-conv.c (if_convertible_bb_p): Verify that at least
2037 one edge is non-critical.
2038 (find_phi_replacement_condition): Make sure to use a non-critical
2039 edge. Cleanup and remove old bug workarounds.
2040 (bb_postdominates_preds): Remove.
2041 (if_convertible_loop_p_1): Do not compute post-dominators.
2042 (combine_blocks): Do not free post-dominators.
2043 (main_tree_if_conversion): Likewise.
2045 2013-09-09 Richard Biener <rguenther@suse.de>
2047 Backport from mainline
2048 2013-09-03 Richard Biener <rguenther@suse.de>
2051 * fold-const.c (negate_expr_p): Fix division case.
2052 (negate_expr): Likewise.
2054 2013-09-09 Richard Biener <rguenther@suse.de>
2056 Backport from mainline
2057 2013-08-29 Richard Biener <rguenther@suse.de>
2059 PR tree-optimization/57685
2060 * tree-vrp.c (register_edge_assert_for_1): Recurse only for
2061 single-use operands to avoid exponential complexity.
2063 2013-09-09 Richard Biener <rguenther@suse.de>
2065 Backport from mainline
2066 2013-08-30 Richard Biener <rguenther@suse.de>
2068 PR tree-optimization/58223
2069 * tree-loop-distribution.c (has_anti_dependence): Rename to ...
2070 (has_anti_or_output_dependence): ... this and adjust to also
2071 look for output dependences.
2072 (mark_nodes_having_upstream_mem_writes): Adjust.
2073 (rdg_flag_uses): Likewise.
2075 2013-09-03 Richard Biener <rguenther@suse.de>
2077 Backport from mainline
2078 2013-08-29 Richard Biener <rguenther@suse.de>
2080 PR tree-optimization/58246
2081 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
2082 handle the dominance check inside a basic-block.
2084 2013-09-03 Richard Biener <rguenther@suse.de>
2086 Backport from mainline
2087 2013-08-30 Richard Biener <rguenther@suse.de>
2089 PR tree-optimization/58228
2090 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
2091 allow invariant loads in nested loop vectorization.
2093 2013-09-03 Richard Biener <rguenther@suse.de>
2095 Backport from mainline
2096 2013-08-30 Richard Biener <rguenther@suse.de>
2098 PR tree-optimization/58010
2099 * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
2100 assert that we have a loop-closed PHI.
2102 2013-09-01 Uros Bizjak <ubizjak@gmail.com>
2104 Backport from mainline
2105 2013-08-31 Uros Bizjak <ubizjak@gmail.com>
2107 * config/alpha/alpha.c (alpha_emit_conditional_move): Update
2108 "cmp" RTX before signed_comparison_operator check to account
2111 2013-09-01 John David Anglin <danglin@gcc.gnu.org>
2113 * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
2115 2013-08-30 Jakub Jelinek <jakub@redhat.com>
2117 PR tree-optimization/58277
2118 * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
2119 after seeing too many stmts with vdef in between dombb and current
2120 bb, invalidate everything.
2122 2013-08-29 Oleg Endo <olegendo@gcc.gnu.org>
2124 Backport from mainline
2125 2013-08-05 Oleg Endo <olegendo@gcc.gnu.org>
2128 * recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
2130 * expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
2131 rtx (*) (rtx, ...) with insn_gen_fn.
2132 * genoutput.c (output_insn_data): Cast gen_? function pointers to
2133 insn_gen_fn::stored_funcptr. Add initializer braces.
2135 Backport from mainline
2136 2013-08-07 Oleg Endo <olegendo@gcc.gnu.org>
2139 * config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
2140 (rs6000_emit_swdiv_high_precision, rs6000_emit_swdiv_low_precision,
2141 rs6000_emit_swrsqrt): Don't cast result of GEN_FCN to gen_2arg_fn_t.
2143 2013-08-29 Jakub Jelinek <jakub@redhat.com>
2145 Backported from mainline
2146 2013-05-27 Richard Biener <rguenther@suse.de>
2149 PR tree-optimization/57417
2150 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Fix test
2152 (set_ssa_val_to): Compare addresses using
2153 get_addr_base_and_unit_offset.
2155 PR tree-optimization/57396
2156 * tree-affine.c (double_int_constant_multiple_p): Properly
2157 return false for val == 0 and div != 0.
2159 PR tree-optimization/57343
2160 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not
2161 use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED.
2162 (number_of_iterations_cond): Do not build the folded tree.
2164 2013-08-28 Jakub Jelinek <jakub@redhat.com>
2167 * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
2169 2013-08-28 Richard Biener <rguenther@suse.de>
2171 Backport from mainline
2172 2013-06-24 Richard Biener <rguenther@suse.de>
2175 * passes.c (init_optimization_passes): Move pass_fold_builtins
2176 and pass_dce earlier with -Og.
2178 2013-08-28 Uros Bizjak <ubizjak@gmail.com>
2180 Backport from mainline
2181 2013-08-27 H.J. Lu <hongjiu.lu@intel.com>
2183 * config/i386/driver-i386.c (host_detect_local_cpu): Update
2184 Haswell processor detection.
2186 Backport from mainline
2187 2013-08-27 Christian Widmer <shadow@umbrox.de>
2190 * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
2191 of Ivy Bridge and Haswell processors. Assume core-avx2 for unknown
2192 AVX2 capable processors.
2194 2013-08-23 Jakub Jelinek <jakub@redhat.com>
2197 * config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
2198 * config/i386/i386.c (x86_64_elf_section_type_flags): New function.
2200 PR tree-optimization/58209
2201 * tree-tailcall.c (find_tail_calls): Give up for pointer result types
2202 if m or a is non-NULL.
2204 2013-08-21 Richard Earnshaw <rearnsha@arm.com>
2207 * arm.c (aapcs_vfp_allocate): Decompose the argument if the
2208 suggested mode for the assignment isn't compatible with the
2211 2013-08-20 Alan Modra <amodra@gmail.com>
2214 * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
2215 (rs6000_emit_epilogue): Likewise.
2217 2013-08-19 Peter Bergner <bergner@vnet.ibm.com>
2218 Jakub Jelinek <jakub@redhat.com>
2220 Backport from mainline
2221 * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping
2222 destination and source operands.
2224 2013-08-18 Jakub Jelinek <jakub@redhat.com>
2226 PR tree-optimization/58006
2227 * tree-parloops.c (take_address_of): Don't ICE if get_name
2229 (eliminate_local_variables_stmt): Remove clobber stmts.
2231 2013-08-16 Jakub Jelinek <jakub@redhat.com>
2233 PR tree-optimization/58164
2234 * gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
2235 walk gimple_goto_dest of GIMPLE_GOTO.
2237 PR tree-optimization/58165
2238 * tree-call-cdce.c (shrink_wrap_one_built_in_call): If
2239 bi_call must be the last stmt in a bb, don't split_block, instead
2240 use fallthru edge from it and give up if there is none.
2241 Release conds vector when returning early.
2243 2013-08-15 David Given <dg@cowlark.com>
2245 Backport from mainline
2246 2013-04-26 Vladimir Makarov <vmakarov@redhat.com>
2248 * lra-constraints.c (process_alt_operands): Use #if HAVE_ATTR_enable
2251 2013-08-14 Jakub Jelinek <jakub@redhat.com>
2253 PR tree-optimization/58145
2254 * tree-sra.c (build_ref_for_offset): If prev_base has
2255 TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
2257 2013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2259 * config/s390/htmxlintrin.h: Add file missing from last commit.
2260 * config/s390/htmintrin.h: Likewise.
2261 * config/s390/s390intrin.h: Likewise.
2263 2013-08-14 Uros Bizjak <ubizjak@gmail.com>
2265 Backport from mainline
2266 2013-08-13 Uros Bizjak <ubizjak@gmail.com>
2268 * config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
2269 when Pmode != word_mode. Add length_address attribute.
2270 (sse3_monitor_<mode>): Merge from sse3_monitor and
2271 sse3_monitor64_<mode> insn patterns. Emit addr32 prefix when
2272 Pmode != word_mode. Update insn length attribute.
2273 * config/i386/i386.c (ix86_option_override_internal): Update
2274 ix86_gen_monitor selection for merged sse3_monitor insn.
2276 2013-08-14 Jakub Jelinek <jakub@redhat.com>
2277 Alexandre Oliva <aoliva@redhat.com>
2280 * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
2281 and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
2282 there also UNSPEC_PLTOFF.
2284 2013-08-13 Jakub Jelinek <jakub@redhat.com>
2287 * asan.c (instrument_strlen_call): Fix typo in comment.
2288 Use char * type even for the lhs of POINTER_PLUS_EXPR.
2290 2013-08-13 Vladimir Makarov <vmakarov@redhat.com>
2292 Backport from mainline
2293 2013-06-06 Vladimir Makarov <vmakarov@redhat.com>
2295 PR rtl-optimization/57459
2296 * lra-constraints.c (update_ebb_live_info): Fix typo for operand
2297 type when setting live regs.
2299 2013-08-13 Marek Polacek <polacek@redhat.com>
2300 Jakub Jelinek <jakub@redhat.com>
2302 PR tree-optimization/57980
2303 * tree-tailcall.c (process_assignment): Return false
2304 when not dealing with integers or floats.
2306 2013-08-12 Andrew Haley <aph@redhat.com>
2308 Backport from mainline:
2309 * 2013-07-11 Andreas Schwab <schwab@suse.de>
2311 * config/aarch64/aarch64-linux.h (CPP_SPEC): Define.
2313 2013-08-13 Uros Bizjak <ubizjak@gmail.com>
2315 Backport from mainline
2316 2013-08-12 Perez Read <netfirewall@gmail.com>
2319 * config/i386/i386.md (*movabs<mode>_1): Add <ptrsize> PTR before
2320 operand 0 for intel asm alternative.
2321 (*movabs<mode>_2): Ditto for operand 1.
2323 2013-08-09 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2325 Backport from mainline:
2326 2013-08-09 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2328 * config/arm/neon.md (vcond): Fix floating-point vector
2329 comparisons against 0.
2331 2013-08-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2333 Backport from mainline:
2334 2013-08-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2336 * config/arm/neon.md (movmisalign<mode>): Disable when we
2337 don't allow unaligned accesses.
2338 (*movmisalign<mode>_neon_store): Likewise.
2339 (*movmisalign<mode>_neon_load): Likewise.
2340 (*movmisalign<mode>_neon_store): Likewise.
2341 (*movmisalign<mode>_neon_load): Likewise.
2343 2013-08-06 Martin Jambor <mjambor@suse.cz>
2346 * gimple-ssa-strength-reduction.c (replace_ref): Make sure built
2347 MEM_REF has proper alignment information.
2349 2013-08-05 Richard Earnshaw <rearnsha@arm.com>
2351 PR rtl-optimization/57708
2352 * recog.c (peep2_find_free_register): Validate all regs in a
2355 2013-08-02 Eric Botcazou <ebotcazou@adacore.com>
2357 * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
2358 the implied StoreLoad barrier for atomic operations if before.
2360 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2362 Backports from mainline:
2363 2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2365 * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
2366 UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
2367 (struct machine_function): Add tbegin_p.
2368 (s390_canonicalize_comparison): Fold CC mode compares to
2369 conditional jump if possible.
2370 (s390_emit_jump): Return the emitted jump.
2371 (s390_branch_condition_mask, s390_branch_condition_mnemonic):
2372 Handle CCRAWmode compares.
2373 (s390_option_override): Default to -mhtm if available.
2374 (s390_reg_clobbered_rtx): Handle floating point regs as well.
2375 (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
2376 FPRs instead of df_regs_ever_live_p.
2377 (s390_optimize_nonescaping_tx): New function.
2378 (s390_init_frame_layout): Extend clobbered_regs array to cover
2380 (s390_emit_prologue): Call s390_optimize_nonescaping_tx.
2381 (s390_expand_tbegin): New function.
2382 (enum s390_builtin): New enum definition.
2383 (code_for_builtin): New array definition.
2384 (s390_init_builtins): New function.
2385 (s390_expand_builtin): New function.
2386 (TARGET_INIT_BUILTINS): Define.
2387 (TARGET_EXPAND_BUILTIN): Define.
2388 * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX.
2389 * config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
2390 (s390_alc_comparison): Likewise.
2391 * config/s390/s390-modes.def: Add CCRAWmode.
2392 * config/s390/s390.h (processor_flags): Add PF_TX.
2393 (TARGET_CPU_HTM): Define macro.
2394 (TARGET_HTM): Define macro.
2395 (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
2396 * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
2397 UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
2398 (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
2399 (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
2401 (TBEGIN_MASK, TBEGINC_MASK): New constants.
2402 ("*cc_to_int"): Move up.
2403 ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
2404 constants other than 0.
2405 ("*ccraw_to_int"): New insn and splitter definition.
2406 ("tbegin", "tbegin_nofloat", "tbegin_retry")
2407 ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
2408 ("tx_assist"): New expander.
2409 ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
2410 ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
2411 * config/s390/s390.opt: Add -mhtm option.
2412 * config/s390/s390-protos.h (s390_emit_jump): Add return type.
2413 * config/s390/htmxlintrin.h: New file.
2414 * config/s390/htmintrin.h: New file.
2415 * config/s390/s390intrin.h: New file.
2416 * doc/extend.texi: Document htm builtins.
2417 * config.gcc: Add the new header files to extra_headers.
2419 2013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2421 * config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
2422 enabled without -march=zEC12.
2423 * config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
2426 2013-08-01 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2428 Backport from mainline
2429 2013-05-13 Ganesh Gopalasubramanian
2430 <Ganesh.Gopalasubramanian@amd.com>
2432 * config/i386/i386.c (processor_target_table): Modified default
2433 alignment values for AMD BD and BT architectures.
2435 2013-07-31 Sriraman Tallam <tmsriram@google.com>
2437 * config/i386/i386.c (dispatch_function_versions): Fix array
2438 indexing of function_version_info to match actual_versions.
2440 2013-07-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
2442 * config.gcc (*-*-rtems*): Use __cxa_atexit by default.
2443 * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
2445 2013-07-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2447 Backport from mainline
2448 2013-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2450 * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
2452 2013-07-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2454 * config/s390/linux-unwind.h: Use the proper dwarf to hard reg
2455 mapping for FPRs when creating the fallback framestate.
2457 2013-07-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
2459 * config/s390/s390.md ("movcc"): Swap load and store instructions.
2461 2013-07-25 Terry Guo <terry.guo@arm.com>
2463 Backport from mainline:
2464 2013-07-25 Terry Guo <terry.guo@arm.com>
2466 * config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
2467 shift_add/shift_sub0/shift_sub1 RTXs.
2469 2013-07-22 Iain Sandoe <iain@codesourcery.com>
2471 Backport from mainline:
2472 2013-07-22 Uros Bizjak <ubizjak@gmail.com>
2474 * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
2475 it is not needed after split.
2477 2013-07-20 Iain Sandoe <iain@codesourcery.com>
2480 * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
2481 second label for nonlocal goto receivers. Don't output pic base labels
2482 unless we're producing PIC; mark that action unreachable().
2483 (ix86_save_reg): If the function contains a nonlocal label, save the
2485 * config/darwin-protos.h (machopic_should_output_picbase_label): New.
2486 * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
2487 (update_pic_label_number_if_needed): New.
2488 (machopic_output_function_base_name): Adjust for nonlocal receiver
2490 (machopic_should_output_picbase_label): New.
2491 * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
2492 (nonlocal_goto_receiver): New insn and split.
2494 2013-07-19 Wei Mi <wmi@google.com>
2496 Backport from mainline:
2497 2013-07-18 Vladimir Makarov <vmakarov@redhat.com>
2498 Wei Mi <wmi@google.com>
2500 PR rtl-optimization/57878
2501 * lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
2502 top. Promote lra_assert to gcc_assert.
2503 (reload_pseudo_compare_func): Check regs first for reload pseudos.
2505 2013-07-11 Georg-Johann Lay <avr@gjlay.de>
2507 Backport from 2013-07-19 trunk r201051.
2510 * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
2511 * config/avr/avr.md (adjust_len): Add `round'.
2512 * config/avr/avr-protos.h (avr_out_round): New prototype.
2513 (avr_out_plus): Add `out_label' argument.
2514 * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
2515 (avr_out_plus): Pass down `out_label' to avr_out_plus_1.
2516 Handle the case where `insn' is just a pattern.
2517 (avr_out_bitop): Handle the case where `insn' is just a pattern.
2518 (avr_out_round): New function.
2519 (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
2521 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
2523 * config/i386/bmiintrin.h (_bextr_u32): New.
2524 (_bextr_u64): Ditto.
2529 (_blsmsk_u32): Ditto.
2530 (_blsmsk_u64): Ditto.
2531 (_tzcnt_u32): Ditto.
2532 (_tzcnt_u64): Ditto.
2534 2013-07-17 James Greenhalgh <james.greenhalgh@arm.com>
2536 Backport From mainline:
2537 2013-07-03 James Greenhalgh <james.greenhalgh@arm.com>
2539 * config/aarch64/aarch64-builtins.c
2540 (aarch64_simd_expand_builtin): Handle AARCH64_SIMD_STORE1.
2541 * config/aarch64/aarch64-simd-builtins.def (ld1): New.
2543 * config/aarch64/aarch64-simd.md
2544 (aarch64_ld1<VALL:mode>): New.
2545 (aarch64_st1<VALL:mode>): Likewise.
2546 * config/aarch64/arm_neon.h
2547 (vld1<q>_<fpsu><8, 16, 32, 64>): Convert to RTL builtins.
2549 2013-07-11 Georg-Johann Lay <avr@gjlay.de>
2551 Backport from 2013-07-11 trunk r200901.
2554 * config/avr/avr.c (avr_set_current_function): Sanity-check signal
2555 name seen by assembler/linker if available.
2557 2013-07-10 Georg-Johann Lay <avr@gjlay.de>
2559 Backport from 2013-07-10 trunk r200872.
2562 * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
2565 2013-07-10 Georg-Johann Lay <avr@gjlay.de>
2567 Backport from 2013-07-10 trunk r200870.
2570 * config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
2571 (atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
2572 (atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
2573 Remove duplicate devices.
2574 * config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
2575 * config/avr/t-multilib: Regenerate.
2576 * config/avr/avr-tables.opt: Regenerate.
2577 * doc/avr-mmcu.texi: Regenerate.
2579 2013-07-10 Georg-Johann Lay <avr@gjlay.de>
2582 * config/avr/avr.opt (Waddr-space-convert): Fix typo.
2584 2013-07-09 Joseph Myers <joseph@codesourcery.com>
2586 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
2587 adjust register size for TDmode and TFmode for VSX registers.
2589 2013-07-08 Kai Tietz <ktietz@redhat.com>
2591 Backport from mainline
2593 * config/i386/i386.c (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define as
2594 hook_bool_const_tree_true.
2596 2013-07-08 Uros Bizjak <ubizjak@gmail.com>
2598 Backport from mainline
2599 2013-07-07 Uros Bizjak <ubizjak@gmail.com>
2601 * config/i386/driver-i386.c (host_detect_local_cpu): Do not check
2602 signature_TM2_ebx, it interferes with signature_INTEL_ebx.
2604 Backport from mainline
2605 2013-07-06 Uros Bizjak <ubizjak@gmail.com>
2607 * config/i386/sse.md (sse_movlhps): Change alternative 3
2608 of operand 2 to "m".
2610 2013-07-08 Eric Botcazou <ebotcazou@adacore.com>
2612 * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
2614 2013-07-08 Jakub Jelinek <jakub@redhat.com>
2616 PR rtl-optimization/57829
2617 * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
2618 mask bits outside of mode are just sign-extension from mode to HWI.
2620 2013-07-03 Jakub Jelinek <jakub@redhat.com>
2623 * config/i386/predicates.md (vsib_address_operand): Disallow
2624 SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
2626 2013-06-30 Terry Guo <terry.guo@arm.com>
2628 Backport from mainline
2629 2013-03-27 Bin Cheng <bin.cheng@arm.com>
2632 * config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
2633 rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
2636 2013-06-28 Jakub Jelinek <jakub@redhat.com>
2639 * config/i386/i386.c (ix86_expand_builtin): If target == NULL
2640 and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
2643 2013-06-27 Jakub Jelinek <jakub@redhat.com>
2646 * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
2647 constraints of operand 1 and 2.
2650 * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
2651 to match RTL canonicalization. Swap predicates and
2652 constraints of operand 1 and 2.
2654 * tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
2655 decl before the loop, initialize to NULL.
2656 (vectorizable_load): Initialize ptr_incr to NULL.
2658 2013-06-24 Martin Jambor <mjambor@suse.cz>
2660 PR tree-optimization/57358
2661 * ipa-prop.c (parm_ref_data_preserved_p): Always return true when
2664 2013-06-24 Alan Modra <amodra@gmail.com>
2666 * config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
2667 (gen_easy_altivec_constant): Likewise.
2668 * config/rs6000/predicates.md (easy_vector_constant_add_self,
2669 easy_vector_constant_msb): Likewise.
2671 2013-06-21 Uros Bizjak <ubizjak@gmail.com>
2673 Backport from mainline
2674 2013-06-20 Uros Bizjak <ubizjak@gmail.com>
2677 * config/i386/i386.c (construct_container): Report error if
2678 long double is used with disabled x87 float returns.
2680 2013-06-20 Wei Mi <wmi@google.com>
2682 Backport from mainline
2683 2013-06-19 Wei Mi <wmi@google.com>
2685 PR rtl-optimization/57518
2686 * ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
2687 if regno is used in paradoxical subreg.
2688 (update_equiv_regs): Check pdx_subregs[regno] before
2689 set a reg to be equivalent with a mem.
2692 2013-06-20 David Edelsohn <dje.gcc@gmail.com>
2694 Backport from mainline
2695 2013-06-19 David Edelsohn <dje.gcc@gmail.com>
2698 * collect2.c (collect_atexit): New.
2699 (collect_exit): Delete.
2700 (main): Register collect_atexit with atexit.
2701 (collect_wait): Change collect_exit to exit.
2703 * collect2.h (collect_exit): Delete.
2704 * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
2706 2013-06-19 Matthias Klose <doko@ubuntu.com>
2709 * file-find.h (find_a_file): Add a mode parameter.
2710 * file-find.c (find_a_file): Likewise.
2711 * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
2712 with X_OK for the executables.
2713 * collect2.c (main): Call find_a_file with X_OK.
2715 2013-06-19 Igor Zamyatin <igor.zamyatin@intel.com>
2717 * doc/invoke.texi (core-avx2): Document.
2718 (atom): Updated with MOVBE.
2720 2013-06-19 Jakub Jelinek <jakub@redhat.com>
2723 * gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
2724 PERSONALITY in $PATH derived prefixes.
2726 2013-06-19 Paolo Carlini <paolo.carlini@oracle.com>
2729 * doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
2730 that now in C++ the value is correct per the C++ standards.
2732 2013-06-19 Alan Modra <amodra@gmail.com>
2734 Apply mainline patches
2735 2013-06-13 Alan Modra <amodra@gmail.com>
2736 * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define.
2737 * config/rs6000/rs6000.md (signbittf2): New insn.
2738 (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST.
2739 (abstf2_internal, cmptf_internal2): Likewise.
2740 * config/rs6000/spe.md (spe_abstf2_cmp, spe_abstf2_tst): Likewise.
2742 2013-06-11 Anton Blanchard <anton@samba.org>
2743 * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
2744 correct shift value in little-endian mode.
2746 2013-06-07 Alan Modra <amodra@gmail.com>
2747 * config/rs6000/rs6000.c (setup_incoming_varargs): Round up
2750 2013-06-04 Alan Modra <amodra@gmail.com>
2751 * config/rs6000/rs6000.c (output_toc): Correct little-endian float
2754 2013-05-10 Alan Modra <amodra@gmail.com>
2755 * configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
2756 (HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
2757 * configure: Regenerate.
2759 2013-05-09 Alan Modra <amodra@gmail.com>
2760 * configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
2762 * configure: Regenerate.
2764 2013-05-07 Anton Blanchard <anton@samba.org>
2765 * configure.ac (HAVE_LD_LARGE_TOC): Use right linker emulation
2766 for powerpc64 little endian.
2767 * configure: Regenerate.
2769 2013-05-06 Alan Modra <amodra@gmail.com>
2770 * config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
2771 (LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
2772 * config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
2773 * config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
2774 (LINK_TARGET_SPEC): Use ENDIAN_SELECT.
2775 * config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
2777 2013-05-06 Alan Modra <amodra@gmail.com>
2778 * config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
2779 (ASM_SPEC): ..here. Emit DEFAULT_ASM_ENDIAN too.
2780 (DEFAULT_ASM_ENDIAN): Define.
2781 (CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
2782 * config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
2783 Update -K PIC clause from sysv4.h.
2784 (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
2785 (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
2787 2013-05-06 Alan Modra <amodra@gmail.com>
2788 * config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
2789 twice for little-endian.
2790 (ashrdi3_no_power, ashrdi3): Support little-endian.
2792 2013-04-25 Alan Modra <amodra@gmail.com>
2793 * config.gcc: Support little-endian powerpc-linux targets.
2794 * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
2795 (LINK_OS_LINUX_SPEC): Define.
2796 * config/rs6000/linuxspe.h (TARGET_DEFAULT):
2797 Preserve MASK_LITTLE_ENDIAN.
2798 * config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
2799 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
2800 * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
2801 (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
2802 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
2803 * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
2804 Correct fp word order for little-endian. Don't shift toc entries
2805 smaller than a word for little-endian.
2806 * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
2807 (bswapdi2 splits): Correct low-part subreg for little-endian.
2808 Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
2809 low/high where such is correct only for be.
2810 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
2811 little-endian for -mcall-aixdesc.
2813 2013-06-12 Martin Jambor <mjambor@suse.cz>
2815 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that param_index is
2816 within bounds at the beginning of the function.
2818 2013-06-12 Jakub Jelinek <jakub@redhat.com>
2820 PR tree-optimization/57537
2821 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
2822 vect_handle_widen_op_by_const, convert oprnd1 to half_type1.
2824 2013-06-10 Uros Bizjak <ubizjak@gmail.com>
2826 Backport from mainline
2827 2013-06-10 Uros Bizjak <ubizjak@gmail.com>
2829 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
2830 cmp_code to construct REG_EQUAL note.
2832 2013-06-10 Oleg Endo <olegendo@gcc.gnu.org>
2834 Backport from mainline
2835 2013-05-20 Oleg Endo <olegendo@gcc.gnu.org>
2838 * config/sh/sh.md (fmasf4): Remove empty constraints strings.
2839 (*fmasf4, *fmasf4_media): New insns.
2841 2013-06-09 Jakub Jelinek <jakub@redhat.com>
2844 * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
2845 that operands[2] doesn't overlap with operands[0].
2847 2013-06-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2849 * recog.c (offsettable_address_addr_space_p): Fix calculation of
2850 address mode. Move pointer mode initialization to the same place.
2852 2013-06-07 Sofiane Naci <sofiane.naci@arm.com>
2854 Backport from mainline
2855 * config/aarch64/aarch64.md (*movdi_aarch64): Define "simd" attribute.
2857 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
2859 Backport from mainline
2860 2013-06-05 Uros Bizjak <ubizjak@gmail.com>
2862 * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
2863 GE, GT, GEU and GTU compares, modulo DImode compares with zero.
2865 Backport from mainline
2866 2013-05-23 Uros Bizjak <ubizjak@gmail.com>
2869 * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
2870 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
2871 REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
2873 2013-06-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2875 Backport from mainline.
2876 2013-05-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2878 * config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
2880 2013-06-03 James Greenhalgh <james.greenhalgh@arm.com>
2882 Backport from mainline.
2883 2013-04-25 James Greenhalgh <james.greenhalgh@arm.com>
2885 * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
2886 format specifier in 'X' case.
2888 2013-05-31 Richard Henderson <rth@redhat.com>
2891 * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
2892 (ix86_reorg): Call it.
2894 2012-05-31 Jakub Jelinek <jakub@redhat.com>
2896 * BASE-VER: Set to 4.8.2.
2897 * DEV-PHASE: Set to prerelease.
2899 2013-05-31 Release Manager
2901 * GCC 4.8.1 released.
2903 2013-05-24 Greta Yorsh <Greta.Yorsh@arm.com>
2905 Backport from mainline
2906 2013-05-02 Greta Yorsh <Greta.Yorsh@arm.com>
2909 * config/arm/arm.c (arm_expand_epilogue): Check really_return before
2910 generating simple_return for naked functions.
2912 2013-05-24 Alexander Ivchenko <alexander.ivchenko@intel.com>
2915 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
2916 that index is not negative.
2918 2013-05-23 Martin Jambor <mjambor@suse.cz>
2921 * tree.h (contains_bitfld_component_ref_p): Declare.
2922 * tree-sra.c (contains_bitfld_comp_ref_p): Move...
2923 * tree.c (contains_bitfld_component_ref_p): ...here. Adjust its caller.
2924 * ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
2925 not access a bit-field. Assert all final offsets are byte-aligned.
2927 2013-05-23 Richard Biener <rguenther@suse.de>
2929 PR rtl-optimization/57341
2930 * ira.c (validate_equiv_mem_from_store): Use anti_dependence
2931 instead of true_dependence.
2933 2013-05-23 Jakub Jelinek <jakub@redhat.com>
2936 * expmed.c (store_split_bit_field): If op0 is a REG or
2937 SUBREG of a REG, don't lower unit. Handle unit not being
2938 always BITS_PER_WORD.
2940 2013-05-22 Uros Bizjak <ubizjak@gmail.com>
2943 * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
2944 for non-sse2 targets.
2945 (*movti_internal): Simplify mode attribute calculation.
2947 2013-05-22 Richard Biener <rguenther@suse.de>
2949 Backport from mainline
2950 2013-05-21 Richard Biener <rguenther@suse.de>
2952 PR tree-optimization/57318
2953 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
2954 estimate stmts with side-effects as likely eliminated.
2956 2013-05-21 Richard Biener <rguenther@suse.de>
2958 PR tree-optimization/57330
2959 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
2960 preserve the call stmts fntype.
2962 2013-05-21 Richard Biener <rguenther@suse.de>
2964 PR tree-optimization/57303
2965 * tree-ssa-sink.c (statement_sink_location): Properly handle
2968 2013-05-21 Magnus Granberg <baldrick@free.fr>
2971 * Makefile.in (PLUGIN_HEADERS): Add $(TARGET_H).
2973 2013-05-21 Eric Botcazou <ebotcazou@adacore.com>
2975 Backport from mainline
2976 2013-05-14 Eric Botcazou <ebotcazou@adacore.com>
2978 * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
2979 * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
2981 2013-05-17 Jakub Jelinek <jakub@redhat.com>
2983 PR rtl-optimization/57281
2984 PR rtl-optimization/57300
2985 * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
2986 (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
2987 what the other splitter did if the registers are dead.
2989 2013-05-17 Uros Bizjak <ubizjak@gmail.com>
2991 Backport from mainline
2992 2013-05-16 Uros Bizjak <ubizjak@gmail.com>
2994 * config/i386/driver-i386.c (host_detect_local_cpu): Determine
2995 cache parameters using detect_caches_amd also for CYRIX,
2996 NSC and TM2 signatures.
2998 2013-05-16 Uros Bizjak <ubizjak@gmail.com>
2999 Dzianis Kahanovich <mahatma@eu.by>
3003 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
3004 VIA/Centaur processors and determine their cache parameters
3005 using detect_caches_amd.
3007 2013-05-15 Uros Bizjak <ubizjak@gmail.com>
3009 * config/i386/i386.c (ix86_option_override_internal): Update
3010 processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags. Add
3011 PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
3012 non-SSE 3dNow! targets. Enable TARGET_PRFCHW for TARGET_3DNOW targets.
3013 * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
3015 (*prefetch_3dnow): Enable for TARGET_PRFCHW only.
3017 2013-05-17 Jakub Jelinek <jakub@redhat.com>
3019 * gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
3022 PR tree-optimization/57051
3023 * fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
3024 case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
3026 2013-05-16 Jakub Jelinek <jakub@redhat.com>
3028 * omp-low.c (extract_omp_for_data): For collapsed loops,
3029 if at least one of the loops is known at compile time to
3030 iterate zero times, set count to 0.
3031 (expand_omp_regimplify_p): New function.
3032 (expand_omp_for_generic): For collapsed loops, if at least
3033 one of the loops isn't known to iterate at least once,
3034 add runtime check with setting count to 0.
3035 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
3036 For unsigned types if it isn't known at compile time that
3037 the loop will iterate at least once, add runtime check to bypass
3038 the whole loop if initial condition isn't true.
3040 2013-05-14 Jakub Jelinek <jakub@redhat.com>
3043 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
3044 the case when both op0 and op1 have VOIDmode.
3046 2013-05-13 Jakub Jelinek <jakub@redhat.com>
3048 PR tree-optimization/57230
3049 * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
3052 2013-05-12 Joern Rennecke <joern.rennecke@embecosm.com>
3054 * config/epiphany/epiphany.c (epiphany_init): Check size of
3055 NUM_MODES_FOR_MODE_SWITCHING.
3056 (epiphany_expand_prologue):
3057 Remove CONFIG_REGNUM initial value handling code.
3058 (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
3059 (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
3060 (emit_set_fp_mode, epiphany_mode_after): Likewise.
3061 (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
3062 Don't return 1 for FP_MODE_NONE.
3063 * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
3064 Add value for EPIPHANY_MSW_ENTITY_CONFIG.
3065 (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
3066 * config/epiphany/epiphany.md (save_config): New pattern.
3068 2013-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
3070 * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
3071 Add mthumb/march=armv7-a multilib.
3072 Add mthumb/march=armv7-r multilib.
3073 Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
3075 2013-05-10 Ralf Corsépius <ralf.corsepius@rtems.org>
3078 * config/v850/t-rtems: Add more multilibs.
3080 2013-05-10 Richard Biener <rguenther@suse.de>
3082 PR tree-optimization/57214
3083 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
3084 not propagate from SSA names that occur in abnormal PHI nodes.
3086 2013-05-10 Alan Modra <amodra@gmail.com>
3089 * varasm.c (default_elf_select_section): Move !DECL_P check..
3090 (get_named_section): ..to here before calling get_section_name.
3092 (default_section_type_flags): Add DECL_P check.
3093 * config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
3094 * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
3096 2013-05-09 Joern Rennecke <joern.rennecke@embecosm.com>
3098 * config/epiphany/epiphany.c (epiphany_expand_prologue):
3099 When using gen_stack_adjust_str with a register offset, add a
3100 REG_FRAME_RELATED_EXPR note.
3102 2013-05-09 Martin Jambor <mjambor@suse.cz>
3105 * ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
3106 * ipa-cp.c (find_aggregate_values_for_callers_subset): Fill in the
3107 by_ref flag of ipa_agg_replacement_value structures.
3108 (known_aggs_to_agg_replacement_list): Likewise.
3109 * ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
3110 (read_agg_replacement_chain): Likewise.
3111 (ipcp_transform_function): Also check that by_ref flags match.
3113 2013-05-08 Diego Novillo <dnovillo@google.com>
3119 2012-08-17 Diego Novillo <dnovillo@google.com>
3122 * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
3123 * config.in: Regenerate.
3124 * configure: Regenerate.
3125 * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
3128 2013-05-08 Paolo Carlini <paolo.carlini@oracle.com>
3130 PR tree-optimization/57200
3131 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
3132 Only call inform if the preceding warning_at returns true.
3134 2013-05-07 Jakub Jelinek <jakub@redhat.com>
3136 PR tree-optimization/57149
3137 * tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
3138 (can_skip_redundant_opnd, compute_uninit_opnds_pos,
3139 collect_phi_def_edges, execute_late_warn_uninitialized): Use
3140 uninit_undefined_value_p instead of ssa_undefined_value_p.
3143 * expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
3144 for modifier == EXPAND_INITIALIZER.
3146 2013-05-07 Richard Biener <rguenther@suse.de>
3148 Backport from mainline
3149 2013-05-06 Richard Biener <rguenther@suse.de>
3151 PR tree-optimization/57185
3152 * tree-parloops.c (add_field_for_reduction): Handle anonymous
3155 2013-04-19 Richard Biener <rguenther@suse.de>
3157 PR tree-optimization/57000
3158 * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
3160 2013-05-06 Michael Meissner <meissner@linux.vnet.ibm.com>
3163 2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
3166 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
3167 to save TFmode registers and DImode to save TImode registers for
3168 caller save operations.
3169 (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
3170 mark being partially clobbered since they only use the first
3173 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
3174 and TDmode only use the upper 64-bits of each VSX register.
3176 2013-05-06 Oleg Endo <olegendo@gcc.gnu.org>
3179 * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
3181 2013-05-06 Uros Bizjak <ubizjak@gmail.com>
3183 Backport from mainline
3184 2013-05-06 Uros Bizjak <ubizjak@gmail.com>
3187 * config/i386/i386.c (add_parameter_dependencies): Add dependence
3188 between "first_arg" and "insn", not "last" and "insn".
3190 2013-05-03 Jakub Jelinek <jakub@redhat.com>
3192 PR rtl-optimization/57130
3193 * combine.c (make_compound_operation) <case SUBREG>: Pass
3194 SET instead of COMPARE as in_code to the recursive call
3197 Backported from mainline
3198 2013-04-26 Jakub Jelinek <jakub@redhat.com>
3200 PR tree-optimization/57051
3201 * fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
3202 and VEC_RSHIFT_EXPR if shift count is a multiple of element
3205 2013-04-12 Marc Glisse <marc.glisse@inria.fr>
3207 * fold-const.c (fold_binary_loc): Call const_binop also for mixed
3208 vector-scalar operations.
3210 2013-05-03 Marek Polacek <polacek@redhat.com>
3212 Backport from mainline
3213 2013-04-25 Marek Polacek <polacek@redhat.com>
3215 PR tree-optimization/57066
3216 * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
3218 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3220 Backport from mainline
3221 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3223 * lra-constraints.c (process_alt_operands): Add checking alt
3224 number to choose the best alternative.
3226 2013-05-01 Vladimir Makarov <vmakarov@redhat.com>
3229 * lra-constraints.c (best_small_class_operands_num): Remove.
3230 (process_alt_operands): Remove small_class_operands_num. Take
3231 small classes operands into losers and only if the operand is not
3232 matched. Modify debugging output.
3233 (curr_insn_transform): Remove best_small_class_operands_num.
3236 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3238 Backport from mainline
3239 2013-04-29 Vladimir Makarov <vmakarov@redhat.com>
3242 * lra-constraints.c (process_alt_operands): Discourage a bit more
3243 using memory for pseudos. Print cost dump for alternatives.
3244 Modify cost values for conflicts with early clobbers.
3245 (curr_insn_transform): Spill pseudos reassigned to NO_REGS.
3247 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3249 Backport from mainline
3250 2013-04-24 Vladimir Makarov <vmakarov@redhat.com>
3252 PR rtl-optimizations/57046
3253 * lra-constraints (split_reg): Set up lra_risky_transformations_p
3254 for multi-reg splits.
3256 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3258 Backport from mainline
3259 2013-04-22 Vladimir Makarov <vmakarov@redhat.com>
3262 * lra-eliminations.c (mark_not_eliminable): Prevent elimination of
3263 a set sp if no stack realignment.
3265 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3267 Backport from mainline
3268 2013-04-18 Vladimir Makarov <vmakarov@redhat.com>
3270 PR rtl-optimization/56999
3271 * lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
3273 (lra_coalesce): Remove split_origin_bitmap and related code.
3274 * lra.c (lra): Coalesce after undoing inheritance. Recreate live
3275 ranges if necessary.
3277 2013-05-02 Vladimir Makarov <vmakarov@redhat.com>
3279 Backport from mainline
3280 2013-04-19 Vladimir Makarov <vmakarov@redhat.com>
3282 PR rtl-optimization/56847
3283 * lra-constraints.c (process_alt_operands): Discourage alternative
3284 with non-matche doffsettable memory constraint fro memory with
3287 2013-05-02 Ian Bolton <ian.bolton@arm.com>
3289 Backport from mainline
3290 2013-03-28 Ian Bolton <ian.bolton@arm.com>
3292 * config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
3293 record only when desired or required.
3295 2013-04-30 Jakub Jelinek <jakub@redhat.com>
3297 PR tree-optimization/57104
3298 * tsan.c (instrument_expr): Don't instrument accesses to
3299 DECL_HARD_REGISTER VAR_DECLs.
3301 2013-04-30 Uros Bizjak <ubizjak@gmail.com>
3303 Backport from mainline
3304 2013-04-29 Uros Bizjak <ubizjak@gmail.com>
3307 * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
3309 (*zero_extendsidi2): Ditto.
3311 Backport from mainline
3312 2013-04-29 Uros Bizjak <ubizjak@gmail.com>
3315 * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
3317 2013-04-29 Richard Biener <rguenther@suse.de>
3320 * tree-cfg.c (move_stmt_op): Fix condition under which to update
3322 (move_stmt_r): Remove redundant checking.
3324 2013-04-29 Christian Bruel <christian.bruel@st.com>
3327 * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
3329 2013-04-29 Jakub Jelinek <jakub@redhat.com>
3331 PR tree-optimization/57083
3332 * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
3333 non-singleton shift count range, zero extend low_bound for uns case.
3335 2013-04-28 Eric Botcazou <ebotcazou@gcc.gnu.org>
3337 * stor-layout.c (finalize_size_functions): Allocate a structure and
3338 reset cfun before dumping the functions.
3340 2013-04-27 Jakub Jelinek <jakub@redhat.com>
3343 * config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
3344 use xop_pmacsdqh if uns_p.
3345 * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
3346 the immediate rotate count.
3348 2013-04-25 Jakub Jelinek <jakub@redhat.com>
3350 PR rtl-optimization/57003
3351 * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
3352 call note_stores with kill_clobbered_value callback again after
3353 killing regs_invalidated_by_call.
3355 2013-04-25 Ian Bolton <ian.bolton@arm.com>
3357 Backported from mainline.
3358 2013-03-22 Ian Bolton <ian.bolton@arm.com>
3360 * config/aarch64/aarch64.c (aarch64_print_operand): New
3361 format specifier for printing a constant in hex.
3362 * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
3363 format specifier for printing second operand.
3365 2013-04-24 James Greenhalgh <james.greenhalgh@arm.com>
3367 Backported from mainline.
3368 2013-04-24 James Greenhalgh <james.greenhalgh@arm.com>
3370 * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
3371 (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
3372 (vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
3374 2013-04-24 Greta Yorsh <Greta.Yorsh@arm.com>
3376 Backported from mainline.
3378 * config/arm/arm.c (load_multiple_sequence): Require SP
3379 as base register for loads if SP is in the register list.
3381 2013-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3382 Steven Bosscher <steven@gcc.gnu.org>
3384 Backported from mainline.
3385 PR rtl-optimization/56605
3386 * loop-iv.c (implies_p): Handle equal RTXs and subregs.
3388 2013-04-22 Marek Polacek <polacek@redhat.com>
3390 Backported from mainline.
3391 2013-04-22 Marek Polacek <polacek@redhat.com>
3394 * tsan.c (instrument_expr): Don't instrument expression
3395 in case its size is zero.
3397 2013-04-22 Yufeng Zhang <yufeng.zhang@arm.com>
3399 Backported from mainline.
3400 2013-04-10 Yufeng Zhang <yufeng.zhang@arm.com>
3401 * config/aarch64/aarch64.c (aarch64_print_extension): New function.
3402 (aarch64_start_file): Use the new function.
3404 2013-04-18 Jakub Jelinek <jakub@redhat.com>
3406 PR tree-optimization/56984
3407 * tree-vrp.c (register_edge_assert_for_2): For (x >> M) < N
3408 and (x >> M) >= N don't register any assertion if N << M is the
3411 2013-04-17 David Edelsohn <dje.gcc@gmail.com>
3414 * config/rs6000/vsx.md (vsx_mov<mode>): Add j->r alternative.
3416 2013-04-15 Jakub Jelinek <jakub@redhat.com>
3418 PR tree-optimization/56962
3419 * gimple-ssa-strength-reduction.c (record_increment): Only set
3420 initializer if gimple_assign_rhs_code is {,POINTER_}PLUS_EXPR and
3421 either rhs1 or rhs2 is equal to c->base_expr.
3423 2013-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3425 * emit-rtl.c (reset_all_used_flags): New function.
3426 (verify_rtl_sharing): Call reset_all_used_flags before and after
3427 performing the checks.
3429 2013-04-15 Eric Botcazou <ebotcazou@adacore.com>
3432 * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
3433 (S_MODES): Set H_MODE bit.
3434 (SF_MODES): Set only S_MODE and SF_MODE bits.
3435 (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
3436 (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
3437 <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
3438 <MODE_FLOAT>: Likewise.
3440 2013-04-12 Vladimir Makarov <vmakarov@redhat.com>
3443 * config/i386/i386.c (ix86_hard_regno_mode_ok): Add
3444 lra_in_progress for return.
3446 2013-04-12 Jakub Jelinek <jakub@redhat.com>
3448 PR tree-optimization/56918
3449 PR tree-optimization/56920
3450 * fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
3451 instead of op1 - op2. Pass 2 * TYPE_PRECISION (type) as second
3452 argument to rshift method.
3454 2013-04-12 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3456 * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
3459 2013-04-11 Marek Polacek <polacek@redhat.com>
3461 PR tree-optimization/48184
3462 * params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
3465 2013-04-11 James Greenhalgh <james.greenhalgh@arm.com>
3467 Backported from mainline.
3468 2013-04-11 James Greenhalgh <james.greenhalgh@arm.com>
3470 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
3471 floating-point vector comparisons against 0.
3473 2013-04-11 Jakub Jelinek <jakub@redhat.com>
3475 PR tree-optimization/56899
3476 * fold-const.c (extract_muldiv_1): Apply distributive law
3477 only if TYPE_OVERFLOW_WRAPS (ctype).
3479 2013-04-10 David S. Miller <davem@davemloft.net>
3481 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
3482 or -mcpu=hypersparc.
3484 2013-04-10 Jakub Jelinek <jakub@redhat.com>
3486 Backported from mainline
3487 2013-04-09 Jakub Jelinek <jakub@redhat.com>
3490 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
3491 expand_omp_for_static_chunk): Use simple_p = true in
3492 force_gimple_operand_gsi calls when assigning to addressable decls.
3494 2013-04-09 Marek Polacek <polacek@redhat.com>
3496 PR tree-optimization/48762
3497 * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
3500 2013-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3502 * config/s390/s390.c (s390_expand_insv): Only accept insertions
3505 2013-04-08 Marek Polacek <polacek@redhat.com>
3507 PR rtl-optimization/48182
3508 * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
3511 2013-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3514 * config/pa/pa.c (legitimize_pic_address): Before incrementing label
3515 nuses, make sure we have a label.
3517 2013-04-04 Ian Lance Taylor <iant@google.com>
3519 Backport from mainline:
3520 * doc/standards.texi (Standards): The Go frontend supports the Go
3521 1 language standard.
3523 2013-04-04 Marek Polacek <polacek@redhat.com>
3525 Backport from mainline:
3526 2013-04-04 Marek Polacek <polacek@redhat.com>
3528 PR tree-optimization/48186
3529 * predict.c (maybe_hot_frequency_p): Return false if
3530 HOT_BB_FREQUENCY_FRACTION is 0.
3531 (cgraph_maybe_hot_edge_p): Likewise.
3533 2013-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3535 Backport from mainline:
3536 2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3539 * config/arm/iterators.md (v_cmp_result): New mode attribute.
3540 * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
3542 2013-04-04 Richard Biener <rguenther@suse.de>
3544 PR tree-optimization/56837
3545 * tree-loop-distribution.c (classify_partition): For non-zero
3546 values require that the value has the same precision as its
3547 mode to be useful as memset value.
3549 2013-04-03 Roland McGrath <mcgrathr@google.com>
3551 Backport from mainline:
3552 2013-03-26 Roland McGrath <mcgrathr@google.com>
3554 * config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
3555 than fprintf with a non-constant, non-format string.
3557 2013-04-03 Marek Polacek <polacek@redhat.com>
3559 Backport from mainline:
3560 2013-04-03 Marek Polacek <polacek@redhat.com>
3563 * tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
3566 2013-04-03 Richard Biener <rguenther@suse.de>
3568 PR tree-optimization/56817
3569 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
3571 (tree_unroll_loops_completely_1): ... new function to manually
3572 walk the loop tree, properly defering outer loops of unrolled
3573 loops to later iterations.
3575 2013-04-02 Jakub Jelinek <jakub@redhat.com>
3577 PR rtl-optimization/56745
3578 * ifcvt.c (cond_exec_find_if_block): Don't try to optimize
3579 if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.
3581 2013-04-02 Wei Mi <wmi@google.com>
3583 * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
3584 ashl<mode>3_mask, *<shift_insn><mode>3_mask and
3585 *<rotate_insn><mode>3_mask in i386.md.
3587 2013-04-01 Wei Mi <wmi@google.com>
3589 * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
3590 Truncate operand 2 using %b asm operand modifier.
3591 (*<shift_insn><mode>3_mask): Ditto.
3592 (*<rotate_insn><mode>3_mask): Ditto.
3594 2013-04-01 Uros Bizjak <ubizjak@gmail.com>
3596 * config/i386/i386.md (*movsf_internal): Change type of
3597 alternatives 3,4 to imov.
3599 2013-03-29 Paolo Carlini <paolo.carlini@oracle.com>
3602 * doc/invoke.texi ([-fwhole-program]): Fix typo.
3604 2013-03-29 Kirill Yukhin <kirill.yukhin@intel.com>
3606 * config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
3607 Fix declaration name.
3609 2013-03-28 Gerald Pfeifer <gerald@pfeifer.com>
3611 * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
3612 * doc/extend.texi (Named Address Spaces): Ditto.
3613 (Variable Attributes): Ditto.
3615 2013-03-28 Eric Botcazou <ebotcazou@adacore.com>
3617 * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
3618 general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
3621 2013-03-27 Walter Lee <walt@tilera.com>
3623 Backport from mainline:
3624 2013-03-27 Walter Lee <walt@tilera.com>
3626 * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
3627 double-decrement of next_scratch_regno.
3629 2013-03-27 Walter Lee <walt@tilera.com>
3631 Backport from mainline:
3632 2013-03-27 Walter Lee <walt@tilera.com>
3634 * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
3636 (insn_v1mulus): Ditto.
3637 (insn_v2muls): Ditto.
3639 2013-03-27 Walter Lee <walt@tilera.com>
3641 Backport from mainline:
3642 2013-03-27 Walter Lee <walt@tilera.com>
3644 * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
3646 (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
3648 2013-03-27 Walter Lee <walt@tilera.com>
3650 Backport from mainline:
3651 2013-03-27 Walter Lee <walt@tilera.com>
3653 * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute for jr.
3654 (*sibcall_value): Ditto.
3656 2013-03-27 Walter Lee <walt@tilera.com>
3658 Backport from mainline:
3659 2013-03-27 Walter Lee <walt@tilera.com>
3661 * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
3662 (insn_mnz_v8qi): ... this ...
3663 (insn_mnz_v4hi): ... and this. Replace (const_int 0) with the
3665 (insn_v<n>mnz): Replaced by ...
3666 (insn_v1mnz): ... this ...
3667 (insn_v2mnz): ... and this. Replace (const_int 0) with the vector
3669 (insn_mz_<mode>): Replaced by ...
3670 (insn_mz_v8qi): ... this ...
3671 (insn_mz_v4hi): ... and this. Replace (const_int 0) with the
3673 (insn_v<n>mz): Replaced by ...
3674 (insn_v1mz): ... this ...
3675 (insn_v2mz): ... and this. Replace (const_int 0) with the vector
3678 2013-03-26 Eric Botcazou <ebotcazou@adacore.com>
3680 * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
3682 2013-03-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
3684 * config/rtems.opt: Add -pthread option.
3686 2013-03-26 Sofiane Naci <sofiane.naci@arm.com>
3688 * config/aarch64/aarch64.c (aarch64_classify_address): Support
3689 PC-relative load in SI modes and above only.
3691 2013-03-26 Walter Lee <walt@tilera.com>
3693 Backport from mainline:
3694 2013-03-26 Walter Lee <walt@tilera.com>
3696 * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
3697 * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
3699 2013-03-26 Walter Lee <walt@tilera.com>
3701 Backport from mainline:
3702 2013-03-25 Walter Lee <walt@tilera.com>
3704 * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
3705 TILEGX_INSN_SHUFFLEBYTES1.
3706 * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
3708 (tilegx_builtins): Ditto.
3709 * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
3711 2013-03-26 Walter Lee <walt@tilera.com>
3713 Backport from mainline:
3714 2013-03-25 Walter Lee <walt@tilera.com>
3716 * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
3717 tests for constraint J, K, N, P.
3719 2013-03-26 Walter Lee <walt@tilera.com>
3721 Backport from mainline:
3722 2013-03-25 Walter Lee <walt@tilera.com>
3724 * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
3725 Use indirect/pcrel encoding.
3726 * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
3729 2013-03-25 Richard Biener <rguenther@suse.de>
3732 * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
3733 must-not-throw stmt location.
3735 2012-03-22 Jakub Jelinek <jakub@redhat.com>
3737 * BASE-VER: Set to 4.8.1.
3738 * DEV-PHASE: Set to prerelease.
3740 2013-03-22 Release Manager
3742 * GCC 4.8.0 released.
3744 2013-03-21 Walter Lee <walt@tilera.com>
3746 * config/tilegx/sync.md (atomic_test_and_set): New pattern.
3748 2013-03-21 Mark Wielaard <mjw@redhat.com>
3750 * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
3752 2013-03-20 Richard Biener <rguenther@suse.de>
3754 PR tree-optimization/56661
3755 * tree-ssa-sccvn.c (visit_use): Only value-number calls if
3756 the result does not have to be distinct.
3758 2013-03-20 Jakub Jelinek <jakub@redhat.com>
3760 PR tree-optimization/56635
3761 * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Give up
3762 if lhs of then_assign and else_assign don't have compatible types.
3764 2013-03-17 Jakub Jelinek <jakub@redhat.com>
3767 * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
3768 class names. Remove trailing comma after "ALL_REGS".
3770 2013-03-16 Jakub Jelinek <jakub@redhat.com>
3772 * DEV-PHASE: Set to prerelease.
3774 2013-03-14 Andi Kleen <ak@linux.intel.com>
3777 * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
3778 __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
3779 Document _x* TSX intrinsics.
3781 2013-03-14 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
3782 David Holsgrove <david.holsgrove@xilinx.com>
3784 * configure.ac: Add MicroBlaze TLS support detection.
3785 * configure: Regenerate.
3786 * config/microblaze/microblaze-protos.h
3787 (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
3788 symbol_mentioned_p, label_mentioned_p): Add prototypes.
3789 * config/microblaze/microblaze.c (microblaze_address_type): Add
3790 ADDRESS_TLS and tls_reloc address types.
3791 (microblaze_address_info): Add tls_reloc.
3792 (TARGET_HAVE_TLS): Define.
3793 (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
3794 microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
3795 symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
3796 load_tls_operand, microblaze_call_tls_get_addr,
3797 microblaze_legitimize_tls_address): New functions.
3798 (microblaze_classify_unspec): Handle UNSPEC_TLS.
3799 (get_base_reg): Use microblaze_tls_symbol_p.
3800 (microblaze_classify_address): Handle TLS.
3801 (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
3802 label_mentioned_p and microblaze_tls_referenced_p.
3803 (microblaze_legitimize_address): Handle TLS.
3804 (microblaze_address_insns): Handle ADDRESS_TLS.
3805 (pic_address_needs_scratch): Handle TLS.
3806 (print_operand_address): Handle TLS.
3807 (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
3808 (microblaze_expand_move): Handle TLS.
3809 (microblaze_legitimate_constant_p): Check
3810 microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
3811 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3812 * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
3813 (PIC_OFFSET_TABLE_REGNUM): Set.
3814 * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
3815 * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
3816 (addsi3, movsi_internal2, movdf_internal): Update constraints
3817 * config/microblaze/predicates.md (arith_plus_operand): Define
3818 (move_operand): Redefine as move_src_operand, check
3819 microblaze_tls_referenced_p.
3821 2013-03-14 Ian Bolton <ian.bolton@arm.com>
3823 * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
3824 (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
3826 2013-03-14 Ian Bolton <ian.bolton@arm.com>
3828 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
3831 2013-03-14 Jakub Jelinek <jakub@redhat.com>
3833 PR tree-optimization/53265
3834 * common.opt (Waggressive-loop-optimizations): New option.
3835 * tree-ssa-loop-niter.c: Include tree-pass.h.
3836 (do_warn_aggressive_loop_optimizations): New function.
3837 (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds
3838 if number_of_latch_executions returned constant.
3839 (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
3840 early. If number_of_latch_executions returned constant, set
3841 nb_iterations_upper_bound back to it.
3842 * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
3844 * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
3845 * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
3847 * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
3848 (MULTILIB_OSDIRNAMES): Set.
3849 * genmultilib: If defaultosdirname doesn't start with :: , set
3850 defaultosdirname2 instead, clear it and emit two . multilib_raw
3851 entries instead of just one.
3853 2013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
3855 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3856 (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
3857 * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3858 (SUBTARGET_OVERRIDE_OPTIONS): New.
3860 2013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
3863 * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
3864 (musermode): Convert to Var(TARGET_USERMODE).
3865 * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
3866 MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
3867 * config/sh/sh.c (sh_option_override): Use
3868 TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
3869 * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
3871 (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
3873 (udivsi3_i4_single, divsi3_i4_single): Use
3874 TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
3876 2013-03-13 Dave Korn <dave.korn.cygwin@....>
3878 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
3881 2013-03-13 Richard Biener <rguenther@suse.de>
3883 PR tree-optimization/56608
3884 * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
3885 calls when vectorizing basic-blocks.
3887 2013-03-13 Jakub Jelinek <jakub@redhat.com>
3890 * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
3893 2013-03-12 Jakub Jelinek <jakub@redhat.com>
3895 * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
3897 2013-03-11 Jan Hubicka <jh@suse.cz>
3900 * lto-streamer-out.c (output_symbol_p): Skip references from
3901 constructors of external variables.
3903 2013-03-11 Jan Hubicka <jh@suse.cz>
3906 * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
3908 * emit-rtl.c (verify_rtx_sharing): Likewise.
3909 (copy_insn_1): Likewise.
3910 * rtl.c (copy_rtx): Likewise.
3912 2013-03-11 Georg-Johann Lay <avr@gjlay.de>
3915 * config/avr/avr.c (avr_print_operand): Add space after '%c' in
3916 output_operand_lossage message.
3918 2013-03-11 Richard Earnshaw <rearnsha@arm.com>
3921 * arm.c (shift_op): Validate RTL pattern on the fly.
3922 (arm_print_operand, case 'S'): Don't use shift_operator to validate
3925 2013-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3928 * config/pa/pa.md (call_value): Check for calls to powf and direct to
3929 new call patterns that clobber %fr12.
3930 (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
3931 split and postreload patterns.
3932 * config/pa/pa.c (pa_conditional_register_usage): Revert marking
3933 registers %fr12 and %fr12R as call used.
3935 2013-03-09 Steven Bosscher <steven@gcc.gnu.org>
3937 * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
3938 (canon_address, record_store, replace_read, check_mem_read_rtx,
3939 scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
3940 dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
3941 rest_of_handle_dse): Likewise.
3943 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3946 * tree.h (tree_optimization_option): Rename target_optabs to optabs.
3948 (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
3949 (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
3950 (save_optabs_if_changed): Replace with...
3951 (init_tree_optimization_optabs): ...this.
3952 * optabs.c (save_optabs_if_changed): Rename to...
3953 (init_tree_optimization_optabs): ...this. Take the optimization node
3954 as argument. Do nothing if the base optabs are already correct.
3955 Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
3956 to recompute optabs.
3957 * function.h (function): Remove optabs field.
3958 * function.c (invoke_set_current_function_hook): Call
3959 init_tree_optimization_optabs. Use the result to initialize
3962 2013-02-27 Aldy Hernandez <aldyh@redhat.com>
3964 * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
3965 if GTMA_HAS_NO_INSTRUMENTATION.
3966 (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
3967 (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
3968 * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
3969 * gimple-pretty-print.c (dump_gimple_transaction): Handle
3970 GTMA_HAS_NO_INSTRUMENTATION.
3972 2013-03-08 Jakub Jelinek <jakub@redhat.com>
3974 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
3977 2013-03-08 Marek Polacek <polacek@redhat.com>
3978 Jakub Jelinek <jakub@redhat.com>
3980 PR tree-optimization/56478
3981 * predict.c (is_comparison_with_loop_invariant_p): Change the
3982 type of loop_step to tree.
3983 (predict_loops): Adjust.
3984 (predict_iv_comparison): Perform the computations on double_ints.
3986 2013-03-08 Richard Biener <rguenther@suse.de>
3988 PR tree-optimization/56570
3989 * tree-cfg.c (verify_expr_location_1): Verify locations for
3991 * tree-sra.c (create_access_replacement): Strip locations
3992 from DECL_DEBUG_EXPRs.
3994 2013-03-08 Richard Biener <rguenther@suse.de>
3996 * tree-inline.c (expand_call_inline): Do not associate
3997 a BLOCK with the location in BLOCK_SOURCE_LOCATION.
3998 * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
4000 2013-03-08 Richard Biener <rguenther@suse.de>
4002 * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
4003 or block changes with -Og. Fix for location / block encoding
4004 changes and PHI arguments with locations.
4006 2013-03-07 Steven Bosscher <steven@gcc.gnu.org>
4008 * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
4010 (struct output_info): Likewise.
4011 (register_overhead): Remove bad gcc_assert.
4012 (bitmap_find_bit): If there is only a single bitmap element, do not
4013 count a miss as a search.
4014 (print_statistics): Update for counter type changes.
4015 (dump_bitmap_statistics): Likewise. Print headers such that they
4016 are properly lined up with the printed counters.
4018 2013-03-07 Jakub Jelinek <jakub@redhat.com>
4020 PR tree-optimization/56559
4021 * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
4022 check that it has only a single use.
4024 2013-03-07 Richard Biener <rguenther@suse.de>
4026 * doc/invoke.texi (fwhole-program): Discourage use in combination
4029 2013-03-06 Jakub Jelinek <jakub@redhat.com>
4031 * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
4033 PR tree-optimization/56539
4034 * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
4035 instead of GSI_CONTINUE_LINKING as last argument to
4036 force_gimple_operand_gsi. Adjust function comment.
4038 * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
4042 * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
4043 promoted mode, convert the result back to the original mode.
4045 2013-03-06 Richard Biener <rguenther@suse.de>
4048 * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
4049 (insert_updated_phi_nodes_compare_uids): New function.
4050 (update_ssa): Sort symbols_to_rename after UID before
4051 traversing it to insert PHI nodes.
4053 2013-03-06 Richard Biener <rguenther@suse.de>
4056 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
4057 Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
4060 2013-02-13 Richard Biener <rguenther@suse.de>
4063 * varasm.c (output_constant_def_1): Get the decl representing
4064 the constant as argument.
4065 (output_constant_def): Wrap output_constant_def_1.
4066 (make_decl_rtl): Use output_constant_def_1 with the decl
4067 representing the constant.
4068 (build_constant_desc): Optionally re-use a decl already
4069 representing the constant.
4070 (tree_output_constant_def): Adjust.
4072 2013-03-06 Joey Ye <joey.ye@arm.com>
4075 * gcc.c (convert_white_space): New function.
4076 (main): Handles white space in function name.
4078 2013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
4081 * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
4082 instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
4083 to SH_DIV_CALL_TABLE for TARGET_SH2.
4084 * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
4086 * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
4089 2013-03-05 Sterling Augustine <saugustine@google.com>
4090 Cary Coutant <ccoutant@google.com>
4093 * dwarf2out.c (resolve_addr): Don't call
4094 remove_loc_list_addr_table_entries a second time for the same
4097 2013-03-05 Jakub Jelinek <jakub@redhat.com>
4100 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
4101 (avoid_complex_debug_insns): New function.
4102 (expand_debug_locations): Call it.
4104 PR rtl-optimization/56484
4105 * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
4106 lifetimes of hard registers on small register class machines.
4108 2013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
4110 * config/microblaze/microblaze-protos.h: Rename
4111 microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
4112 * config/microblaze/microblaze.c (microblaze_attribute_table): Add
4114 (microblaze_fast_interrupt_function_p): New function.
4115 (microblaze_is_interrupt_handler): Rename to
4116 microblaze_is_interrupt_variant and add fast_interrupt check.
4117 (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
4118 (save_restore_insns): Likewise.
4119 (compute_frame_size): Likewise.
4120 (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
4121 (microblaze_globalize_label): Likewise.
4122 * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
4123 * config/microblaze/microblaze.md: Use wrapper
4124 microblaze_is_interrupt_variant.
4126 2013-03-05 Kai Tietz <ktietz@redhat.com>
4128 * sdbout.c (sdbout_one_type): Switch to current function's section
4129 supporting cold/hot.
4131 2013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
4133 * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
4136 2013-03-05 Jakub Jelinek <jakub@redhat.com>
4139 * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
4140 if VALGRIND_GET_VBITS is defined, temporarily make object
4141 memory all defined, and restore previous valgrind addressability
4142 and definability afterwards. Free this_object at the end.
4145 * lra.c (lra): Call lra_clear_live_ranges if live_p,
4146 right before calling lra_create_live_ranges, also call it
4147 when clearing live_p. Only call lra_clear_live_ranges
4148 at the end if live_p.
4151 * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
4153 2013-03-05 Richard Biener <rguenther@suse.de>
4155 PR tree-optimization/56521
4156 * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
4159 2013-03-05 Steven Bosscher <steven@gcc.gnu.org>
4162 * except.h (remove_unreachable_eh_regions): New prototype.
4163 * except.c (remove_eh_handler_splicer): New function, split out
4164 of remove_eh_handler.
4165 (remove_eh_handler): Use remove_eh_handler_splicer. Add comment
4166 warning about running it on many EH regions one at a time.
4167 (remove_unreachable_eh_regions_worker): New function, walk the
4168 EH tree in depth-first order and remove non-marked regions.
4169 (remove_unreachable_eh_regions): New function.
4170 * tree-eh.c (mark_reachable_handlers): New function, split out
4171 from remove_unreachable_handlers.
4172 (remove_unreachable_handlers): Use mark_reachable_handlers and
4173 remove_unreachable_eh_regions.
4174 (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
4175 and remove_unreachable_eh_regions.
4177 2013-03-05 Richard Biener <rguenther@suse.de>
4180 * loop-init.c (fix_loop_structure): Remove loops in two stages,
4181 not freeing them until the end.
4183 2013-03-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4185 * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
4187 2013-03-05 Richard Biener <rguenther@suse.de>
4189 PR tree-optimization/56270
4190 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
4191 of loads after scheduling an SLP instance.
4193 2013-03-05 Jakub Jelinek <jakub@redhat.com>
4195 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
4197 (check_gcc_parallelize): Run guality.exp as a separate job from
4198 vect.exp with unsorted.exp and $(dg_target_exps) separately from
4199 struct-layout-1.exp with stackalign.exp.
4201 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
4204 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
4205 load_index sbitmap even if some bit in it isn't set.
4208 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
4209 (discover_iteration_bound_by_body_walk): Change queues to
4210 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
4211 spelling in comment. Call safe_push on queues[bound_index] directly.
4212 Release queues[queue_index] in every iteration unconditionally.
4213 Release bounds vector.
4216 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
4217 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
4218 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
4221 2013-03-05 Richard Biener <rguenther@suse.de>
4224 * tree-inline.c (remap_blocks_to_null): New function.
4225 (expand_call_inline): When expanding a call stmt without
4226 an associated block inline remap all callee blocks to NULL.
4228 2013-03-05 Jakub Jelinek <jakub@redhat.com>
4230 PR rtl-optimization/56494
4231 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
4232 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
4233 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
4236 * sel-sched-ir.c (free_sched_pools): Release
4237 succs_info_pool.stack[succs_info_pool.max_top] vectors too
4238 if succs_info_pool.max_top isn't -1.
4241 * opts.c (opts_obstack, opts_concat): Moved to...
4242 * opts-common.c (opts_obstack, opts_concat): ... here.
4244 2013-03-04 Jakub Jelinek <jakub@redhat.com>
4247 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
4249 2013-03-04 Martin Jambor <mjambor@suse.cz>
4251 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
4252 all appropriate places.
4254 2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
4256 PR tree-optimization/56424
4257 * ipa-split.c (split_function): Do not set the RSO flag if result is
4258 not by reference and its type is a register type.
4260 2013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
4262 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New.
4263 (microblaze_legitimate_pic_operand): Likewise.
4264 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): Call
4265 new function microblaze_legitimate_pic_operand.
4266 * config/microblaze/microblaze-protos.h
4267 (microblaze_legitimate_pic_operand): Declare.
4269 2013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
4271 * config/microblaze/predicates.md (call_insn_simple_operand):
4272 New predicate for supported rtx code types.
4273 * config/microblaze/microblaze.md (call_internal1): Use
4274 call_insn_simple_operand predicate.
4276 2013-03-04 Jakub Jelinek <jakub@redhat.com>
4279 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
4280 partitions.ordered_remove.
4283 * tree-vect-stmts.c (vectorizable_conversion): Don't call
4284 vec_oprnds0.create (1) for modifier == NONE.
4287 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
4288 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
4289 vec_oprnds1 right before pushing anything to it for
4293 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
4294 set nbbs to 0 instead of having separate code path.
4295 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
4296 instead of false as last argument if returning NULL.
4298 2013-03-03 Sandra Loosemore <sandra@codesourcery.com>
4300 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
4301 the attribute is now called "target" instead of "option".
4302 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
4303 * doc/tm.texi.in (Target Attributes): Likewise document the correct
4304 attribute/pragma name for TARGET_OPTION_VALID_P and
4305 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
4306 * doc/tm.texi: Regenerated.
4308 2013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
4310 * config/microblaze/microblaze.c:
4311 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
4312 * config/microblaze/microblaze.h: Add -mxl-reorder to
4314 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
4315 instructions emitted if TARGET_REORDER.
4316 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
4317 or 0 for -m/-mno case, but initialises as 2 to detect default use case
4320 2013-03-01 Xinliang David Li <davidxl@google.com>
4322 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
4325 2013-03-01 Jakub Jelinek <jakub@redhat.com>
4328 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
4329 vector even when returning true. Fix up function comment formatting.
4332 * ira-build.c (ira_loop_nodes_count): New variable.
4333 (create_loop_tree_nodes): Initialize it.
4334 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
4337 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
4338 method on dr_chain and result_chain.
4339 * tree-vect-stmts.c (vectorizable_store): Only call
4340 result_chain.create if j == 0.
4343 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
4344 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
4345 before overwriting it.
4347 2013-03-01 Tobias Burnus <burnus@net-b.de>
4349 * doc/extended.texi (C Extensions): Change order in @menu
4351 (Other MIPS Built-in Functions): Move last MIPS entry before
4352 "picoChip Built-in Functions".
4353 (SH Built-in Functions): Move after RX Built-in Functions.
4354 * doc/gcc.texi (Introduction): Change order in @menu to match @node.
4355 * doc/md.texi (Constraints): Ditto.
4356 * gty.texi (Type Information): Ditto.
4357 (User-provided marking routines for template types): Make subsection.
4358 * doc/invoke.texi (AArch64 Options): Move before
4359 "Adapteva Epiphany Options".
4361 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4362 Jakub Jelinek <jakub@redhat.com>
4365 * asan.c (gate_asan): Lookup no_sanitize_address instead of
4366 no_address_safety_analysis attribute.
4367 * doc/extend.texi (no_address_safety_attribute): Rename to
4368 no_sanitize_address attribute, mention no_address_safety_analysis
4369 attribute as deprecated alias.
4371 2013-02-28 Jakub Jelinek <jakub@redhat.com>
4374 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
4375 type to vec<vec<tree> > *.
4376 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
4377 to be vec<tree> instead of vec<tree> *, set vec_defs
4378 to vNULL and call vec_defs.create (number_of_vects), adjust other
4380 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
4381 vectorizable_condition): Adjust vect_get_slp_defs callers.
4383 2013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
4385 * config/aarch64/aarch64.c
4386 (aarch64_float_const_representable): Remove unused variable.
4388 2013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
4390 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
4392 2013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
4394 * config/aarch64/aarch64-builtins.c
4395 (aarch64_init_simd_builtins): Make static.
4397 2013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
4399 * config/aarch64/aarch64.c
4400 (aarch64_simd_make_constant): Make static.
4402 2013-02-28 Martin Jambor <mjambor@suse.cz>
4404 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
4405 with no initialization to the RHS of debug statements.
4407 2013-02-28 Martin Jambor <mjambor@suse.cz>
4409 PR tree-optimization/56294
4410 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
4412 (get_access_replacement): Do not call create_access_replacement.
4413 Assert a replacement exists.
4414 (get_repl_default_def_ssa_name): Create the replacement declaration
4417 2013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4419 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
4422 2013-02-28 Marek Polacek <polacek@redhat.com>
4424 PR rtl-optimization/56466
4425 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
4426 if we're changing a loop.
4427 (peel_loops_completely): Likewise.
4429 2013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
4432 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
4434 2013-02-28 Georg-Johann Lay <avr@gjlay.de>
4437 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
4438 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
4439 INTX_FTYPE_FX, FX_FTYPE_INTX.
4440 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
4442 2013-02-28 Georg-Johann Lay <avr@gjlay.de>
4444 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
4445 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
4446 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
4447 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
4448 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
4449 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
4450 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
4451 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
4452 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
4453 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
4454 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
4455 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
4456 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
4457 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
4458 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
4459 (avrxmega6): Increase max flash segments from 5 to 6.
4460 * config/avr/t-multilib: Regenerate.
4461 * config/avr/avr-tables.opt: Regenerate.
4462 * doc/avr-mmcu.texi: Regenerate.
4464 2013-02-28 Georg-Johann Lay <avr@gjlay.de>
4466 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
4467 (avr_device_to_arch): Rename to avr_device_to_ld.
4468 (avr_device_to_as): New prototype.
4469 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
4470 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
4471 * config/avr/driver-avr.c (avr_device_to_as): New.
4472 (avr_device_to_arch): Rename to avr_device_to_ld.
4474 2013-02-27 Jakub Jelinek <jakub@redhat.com>
4477 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
4478 method on dr_chain and result_chain.
4481 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
4482 pointer_set_destroy on not_executed_last_iteration.
4485 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
4488 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
4489 FOR_EACH_DEFINED_FUNCTION when freeing state.
4492 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
4494 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
4498 * ipa-cp.c (decide_whether_version_node): Call vec_free on
4499 known_aggs[i].items and release known_aggs vector.
4502 * ipa-reference.c (propagate): Free node_info even for alias nodes.
4504 2013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
4506 * config/microblaze/microblaze.c (microblaze_emit_compare):
4507 Use xor for EQ/NE comparisions.
4508 * config/microblaze/microblaze.md (cstoresf4): Add constraints
4509 (cbranchsf4): Adjust operator to comparison_operator.
4511 2013-02-27 Jakub Jelinek <jakub@redhat.com>
4514 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
4516 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
4517 vec_safe_push, always update *slot.
4518 (redirect_edge_var_map_clear): Use vec_free.
4519 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
4520 (free_var_map_entry): Use vec_free.
4521 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
4522 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
4524 2013-02-27 Andrey Belevantsev <abel@ispras.ru>
4527 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
4528 when the may_trap_p bit of the exprs being merged differs.
4529 Reorder tests for speculativeness in the logical and operator.
4531 2013-02-27 Jakub Jelinek <jakub@redhat.com>
4533 * incpath.c (add_standard_paths): Use reconcat instead of concat
4534 where appropriate and avoid leaking memory.
4536 * opts.h: Include obstack.h.
4537 (opts_concat): New prototype.
4538 (opts_obstack): New declaration.
4539 * opts.c (opts_concat): New function.
4540 (opts_obstack): New variable.
4541 (init_options_struct): Call gcc_init_obstack on opts_obstack.
4542 (finish_options): Use opts_concat instead of concat
4543 and XOBNEWVEC instead of XNEWVEC.
4544 * opts-common.c (generate_canonical_option, decode_cmdline_option,
4545 generate_option): Likewise.
4546 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
4547 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
4550 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
4551 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
4553 2013-02-26 Jakub Jelinek <jakub@redhat.com>
4556 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
4558 2013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
4560 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
4561 (arm_block_move_unaligned_straight): Likewise.
4562 (arm_adjust_block_mem): Likewise.
4564 2013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
4567 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
4568 temp, cond and label.
4569 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
4572 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
4573 * config/c6x/c6x.h (dbx_register_map): Update declaration.
4576 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
4577 of prologue/epilogue functions.
4580 * config/tilegx/tilegx.c (tilegx_expand_prologue):
4581 Remove unused variable cfa_offset.
4582 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
4585 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
4586 type promotion to unsigned.
4589 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
4590 for HOST_WIDE_INT of 32 bit / same size as int.
4591 (arm_block_move_unaligned_straight): Likewise.
4592 (arm_adjust_block_mem): Likewise.
4595 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
4598 2013-02-26 Marek Polacek <polacek@redhat.com>
4600 PR tree-optimization/56426
4601 * tree-ssa-loop.c (tree_ssa_loop_init): Always call
4604 2013-02-26 Richard Biener <rguenther@suse.de>
4607 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
4608 unused variable loops.
4610 2013-02-26 Jakub Jelinek <jakub@redhat.com>
4612 PR tree-optimization/56448
4613 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
4614 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
4615 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
4616 later operands of the references, or even first operand for
4617 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
4619 PR tree-optimization/56443
4620 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
4621 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
4622 to type_for_mode langhook.
4624 2013-02-25 Matt Turner <mattst88@gmail.com>
4626 * doc/invoke.texi: Document r4700.
4628 2013-02-25 Richard Biener <rguenther@suse.de>
4630 PR tree-optimization/56175
4631 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
4633 (simplify_bitwise_binary): ... here. Also guard the conversion
4634 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
4636 2013-02-25 Catherine Moore <clm@codesourcery.com>
4639 2013-02-24 Catherine Moore <clm@codesourcery.com>
4640 Maciej W. Rozycki <macro@codesourcery.com>
4641 Tom de Vries <tom@codesourcery.com>
4642 Nathan Sidwell <nathan@codesourcery.com>
4643 Iain Sandoe <iain@codesourcery.com>
4644 Nathan Froyd <froydnj@codesourcery.com>
4645 Chao-ying Fu <fu@mips.com>
4647 * doc/extend.texi (micromips, nomicromips, nocompression):
4648 Document new function attributes.
4649 * doc/invoke.texi (minterlink-compressed, mmicromips,
4650 m14k, m14ke, m14kec): Document new options.
4651 (minterlink-mips16): Update documentation.
4652 * doc/md.texi (ZC, ZD): Document new constraints.
4653 * configure.ac (gcc_cv_as_micromips): Check if linker
4654 supports the .set micromips directive.
4655 * configure: Regenerate.
4656 * config.in: Regenerate.
4657 * config/mips/mips-tables.opt: Regenerate.
4658 * config/mips/micromips.md: New file.
4659 * constraints.md (ZC, AD): New constraints.
4660 * config/mips/predicates.md (movep_src_register): New predicate.
4661 (movep_src_operand): New predicate.
4662 (non_volatile_mem_operand): New predicate.
4663 * config/mips/mips.md (multimem): New type.
4664 (length): Differentiate between 17-bit and 18-bit branch offsets.
4665 (MOVEP1, MOVEP2): New mode iterator.
4666 (mov_<load>l): Use ZC constraint.
4667 (mov_<load>r): Likewise.
4668 (mov_<store>l): Likewise.
4669 (mov_<store>r): Likewise.
4670 (*branch_equality<mode>_inverted): Add microMIPS support.
4671 (*branch_equality<mode>): Likewise.
4672 (*jump_absolute): Likewise.
4673 (indirect_jump_<mode>): Likewise.
4674 (tablejump_<mode>): Likewise.
4675 (<optab>_internal): Likewise.
4676 (sibcall_internal): Likewise.
4677 (sibcall_value_internal): Likewise.
4678 (prefetch): Use constraint ZD.
4679 * config/mips/mips.opt (minterlink-compressed): New option.
4680 (minterlink-mips16): Now an alias for minterlink-compressed.
4681 (mmicromips): New option.
4682 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
4683 (compare_and_swap_12): Likewise.
4684 (sync_add<mode>): Likewise.
4685 (sync_<optab>_12): Likewise.
4686 (sync_old_<optab>_12): Likewise.
4687 (sync_new_<optab>_12): Likewise.
4688 (sync_nand_12): Likewise.
4689 (sync_old_nand_12): Likewise.
4690 (sync_new_nand_12): Likewise.
4691 (sync_sub<mode>): Likewise.
4692 (sync_old_add<mode>): Likewise.
4693 (sync_old_sub<mode>): Likewise.
4694 (sync_new_add<mode>): Likewise.
4695 (sync_new_sub<mode>): Likewise.
4696 (sync_<optab><mode>): Likewise.
4697 (sync_old_<optab><mode>): Likewise.
4698 (sync_new_<optab><mode>): Likewise.
4699 (sync_nand<mode>): Likewise.
4700 (sync_old_nand<mode>): Likewise.
4701 (sync_new_nand<mode>): Likewise.
4702 (sync_lock_test_and_set<mode>): Likewise.
4703 (test_and_set_12): Likewise.
4704 (atomic_compare_and_swap<mode>): Likewise.
4705 (atomic_exchange<mode>_llsc): Likewise.
4706 (atomic_fetch_add<mode>_llsc): Likewise.
4707 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
4708 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
4709 (umips_save_restore_pattern_p): Likewise.
4710 (umips_load_store_pair_p): Likewise.
4711 (umips_output_load_store_pair): Likewise.
4712 (umips_movep_target_p): Likewise.
4713 (umips_12bit_offset_address_p): Likewise.
4714 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
4715 (mips_base_mips16): Rename this...
4716 (mips_base_compression_flags): ...to this. Update all uses.
4717 (mips_attribute_table): Add micromips, nomicromips and nocompression.
4718 (mips_mips16_decl_p): Delete.
4719 (mips_nomips16_decl_p): Delete.
4720 (mips_get_compress_on_flags): New function.
4721 (mips_get_compress_off_flags): New function.
4722 (mips_get_compress_mode): New function.
4723 (mips_get_compress_on_name): New function.
4724 (mips_get_compress_off_name): New function.
4725 (mips_insert_attributes): Support multiple compression types.
4726 (mips_merge_decl_attributes): Likewise.
4727 (umips_12bit_offset_address_p): New function.
4728 (mips_start_function_definition): Emit .set micromips directive.
4729 (mips_call_may_need_jalx_p): New function.
4730 (mips_function_ok_for_sibcall): Add microMIPS support.
4731 (mips_print_operand_punctuation): Support short delay slots and
4733 (umips_swm_mask, umips_swm_encoding): New.
4734 (umips_build_save_restore): New function.
4735 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
4736 (was_mips16_p): Remove.
4737 (old_compression_mode): New.
4738 (mips_set_compression_mode): New function.
4739 (mips_set_current_function): Add microMIPS support.
4740 (mips_option_override): Likewise.
4741 (umips_save_restore_pattern_p): New function.
4742 (umips_output_save_restore): New function.
4743 (umips_load_store_pair_p_1): New function.
4744 (umips_load_store_pair_p): New function.
4745 (umips_output_load_store_pair_1): New function.
4746 (umips_output_load_store_pair): New function.
4747 (umips_movep_target_p) New function.
4748 (mips_prepare_pch_save): Add microMIPS support.
4749 * config/mips/mips.h (TARGET_COMPRESSION): New.
4750 (TARGET_CPU_CPP_BUILTINS): Update macro
4751 to use new compression flags and to support microMIPS.
4752 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
4753 (MIPS_ARCH_FLOAT_SPEC): Likewise.
4754 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
4755 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
4756 (ASM_SPEC): Support mmicromips and mno-micromips.
4757 (M16STORE_REG_P): New macro.
4758 (MIPS_CALL): Support TARGET_MICROMIPS.
4759 (MICROMIPS_J): New macro.
4760 (mips_base_mips16): Rename this...
4761 (mips_base_compression_flags): ...to this.
4762 (UMIPS_12BIT_OFFSET_P): New macro.
4763 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
4764 (MULTILIB_DIRNAMES): Likewise.
4766 2013-02-25 Tom de Vries <tom@codesourcery.com>
4768 PR rtl-optimization/56131
4769 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
4770 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
4771 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
4773 2013-02-25 Tobias Burnus <burnus@net-b.de>
4775 * doc/invoke.texi (-fsanitize=): Move from optimization
4776 to debugging options.
4778 2013-02-25 Andrey Belevantsev <abel@ispras.ru>
4780 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
4782 2013-02-25 Andrey Belevantsev <abel@ispras.ru>
4783 Alexander Monakov <amonakov@ispras.ru>
4786 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
4787 flush pending lists also on non-jumps. Adjust comment.
4789 2013-02-24 Catherine Moore <clm@codesourcery.com>
4790 Maciej W. Rozycki <macro@codesourcery.com>
4791 Tom de Vries <tom@codesourcery.com>
4792 Nathan Sidwell <nathan@codesourcery.com>
4793 Iain Sandoe <iain@codesourcery.com>
4794 Nathan Froyd <froydnj@codesourcery.com>
4795 Chao-ying Fu <fu@mips.com>
4797 * doc/extend.texi (micromips, nomicromips, nocompression):
4798 Document new function attributes.
4799 * doc/invoke.texi (minterlink-compressed, mmicromips,
4800 m14k, m14ke, m14kec): Document new options.
4801 (minterlink-mips16): Update documentation.
4802 * doc/md.texi (ZC, ZD): Document new constraints.
4803 * configure.ac (gcc_cv_as_micromips): Check if linker
4804 supports the .set micromips directive.
4805 * configure: Regenerate.
4806 * config.in: Regenerate.
4807 * config/mips/mips-tables.opt: Regenerate.
4808 * config/mips/micromips.md: New file.
4809 * constraints.md (ZC, AD): New constraints.
4810 * config/mips/predicates.md (movep_src_register): New predicate.
4811 (movep_src_operand): New predicate.
4812 (non_volatile_mem_operand): New predicate.
4813 * config/mips/mips.md (multimem): New type.
4814 (length): Differentiate between 17-bit and 18-bit branch offsets.
4815 (MOVEP1, MOVEP2): New mode iterator.
4816 (mov_<load>l): Use ZC constraint.
4817 (mov_<load>r): Likewise.
4818 (mov_<store>l): Likewise.
4819 (mov_<store>r): Likewise.
4820 (*branch_equality<mode>_inverted): Add microMIPS support.
4821 (*branch_equality<mode>): Likewise.
4822 (*jump_absolute): Likewise.
4823 (indirect_jump_<mode>): Likewise.
4824 (tablejump_<mode>): Likewise.
4825 (<optab>_internal): Likewise.
4826 (sibcall_internal): Likewise.
4827 (sibcall_value_internal): Likewise.
4828 (prefetch): Use constraint ZD.
4829 * config/mips/mips.opt (minterlink-compressed): New option.
4830 (minterlink-mips16): Now an alias for minterlink-compressed.
4831 (mmicromips): New option.
4832 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
4833 (compare_and_swap_12): Likewise.
4834 (sync_add<mode>): Likewise.
4835 (sync_<optab>_12): Likewise.
4836 (sync_old_<optab>_12): Likewise.
4837 (sync_new_<optab>_12): Likewise.
4838 (sync_nand_12): Likewise.
4839 (sync_old_nand_12): Likewise.
4840 (sync_new_nand_12): Likewise.
4841 (sync_sub<mode>): Likewise.
4842 (sync_old_add<mode>): Likewise.
4843 (sync_old_sub<mode>): Likewise.
4844 (sync_new_add<mode>): Likewise.
4845 (sync_new_sub<mode>): Likewise.
4846 (sync_<optab><mode>): Likewise.
4847 (sync_old_<optab><mode>): Likewise.
4848 (sync_new_<optab><mode>): Likewise.
4849 (sync_nand<mode>): Likewise.
4850 (sync_old_nand<mode>): Likewise.
4851 (sync_new_nand<mode>): Likewise.
4852 (sync_lock_test_and_set<mode>): Likewise.
4853 (test_and_set_12): Likewise.
4854 (atomic_compare_and_swap<mode>): Likewise.
4855 (atomic_exchange<mode>_llsc): Likewise.
4856 (atomic_fetch_add<mode>_llsc): Likewise.
4857 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
4858 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
4859 (umips_save_restore_pattern_p): Likewise.
4860 (umips_load_store_pair_p): Likewise.
4861 (umips_output_load_store_pair): Likewise.
4862 (umips_movep_target_p): Likewise.
4863 (umips_12bit_offset_address_p): Likewise.
4864 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
4865 (mips_base_mips16): Rename this...
4866 (mips_base_compression_flags): ...to this. Update all uses.
4867 (mips_attribute_table): Add micromips, nomicromips and nocompression.
4868 (mips_mips16_decl_p): Delete.
4869 (mips_nomips16_decl_p): Delete.
4870 (mips_get_compress_on_flags): New function.
4871 (mips_get_compress_off_flags): New function.
4872 (mips_get_compress_mode): New function.
4873 (mips_get_compress_on_name): New function.
4874 (mips_get_compress_off_name): New function.
4875 (mips_insert_attributes): Support multiple compression types.
4876 (mips_merge_decl_attributes): Likewise.
4877 (umips_12bit_offset_address_p): New function.
4878 (mips_start_function_definition): Emit .set micromips directive.
4879 (mips_call_may_need_jalx_p): New function.
4880 (mips_function_ok_for_sibcall): Add microMIPS support.
4881 (mips_print_operand_punctuation): Support short delay slots and
4883 (umips_swm_mask, umips_swm_encoding): New.
4884 (umips_build_save_restore): New function.
4885 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
4886 (was_mips16_p): Remove.
4887 (old_compression_mode): New.
4888 (mips_set_compression_mode): New function.
4889 (mips_set_current_function): Add microMIPS support.
4890 (mips_option_override): Likewise.
4891 (umips_save_restore_pattern_p): New function.
4892 (umips_output_save_restore): New function.
4893 (umips_load_store_pair_p_1): New function.
4894 (umips_load_store_pair_p): New function.
4895 (umips_output_load_store_pair_1): New function.
4896 (umips_output_load_store_pair): New function.
4897 (umips_movep_target_p) New function.
4898 (mips_prepare_pch_save): Add microMIPS support.
4899 * config/mips/mips.h (TARGET_COMPRESSION): New.
4900 (TARGET_CPU_CPP_BUILTINS): Update macro
4901 to use new compression flags and to support microMIPS.
4902 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
4903 (MIPS_ARCH_FLOAT_SPEC): Likewise.
4904 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
4905 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
4906 (ASM_SPEC): Support mmicromips and mno-micromips.
4907 (M16STORE_REG_P): New macro.
4908 (MIPS_CALL): Support TARGET_MICROMIPS.
4909 (MICROMIPS_J): New macro.
4910 (mips_base_mips16): Rename this...
4911 (mips_base_compression_flags): ...to this.
4912 (UMIPS_12BIT_OFFSET_P): New macro.
4913 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
4914 (MULTILIB_DIRNAMES): Likewise.
4916 2013-02-24 Jakub Jelinek <jakub@redhat.com>
4919 * target-globals.c (save_target_globals): For init_reg_sets and
4920 target_reinit remporarily set this_fn_optabs to this_target_optabs.
4922 2013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
4924 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
4925 * config/aarch64/t-aarch64
4926 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
4928 2013-02-22 Vladimir Makarov <vmakarov@redhat.com>
4931 * lra-constraints.c (process_alt_operands): Reload operand
4932 conflicting with earlier clobber only if no more other conflicting
4935 2013-02-22 Jakub Jelinek <jakub@redhat.com>
4938 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
4939 if not linking a shared library.
4941 2013-02-22 Seth LaForge <sethml@google.com>
4943 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
4945 2013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
4947 * config/arm/arm.md (split for extendsidi): Update condition.
4948 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
4949 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
4950 (qhs_zextenddi_cstr): Likewise.
4952 2013-02-21 Jakub Jelinek <jakub@redhat.com>
4955 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
4956 avoid signed wrapping.
4957 (expand_mult): Handle properly multiplication by
4958 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
4959 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
4960 in the compiler if coeff is HOST_WIDE_INT_MIN.
4961 (expand_divmod): Don't make ext_op1 static, change it's type to uhwi.
4962 Avoid undefined behavior in -INTVAL (op1).
4964 PR rtl-optimization/50339
4965 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
4967 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
4968 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
4969 into splitting_ashiftrt field.
4970 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
4972 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
4975 2013-02-20 Aldy Hernandez <aldyh@redhat.com>
4978 * trans-mem.c (execute_tm_mark): Do not expand transactions that
4979 are sure to go irrevocable.
4981 2013-02-21 Hans-Peter Nilsson <hp@axis.com>
4983 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
4984 scalars are valid operands.
4986 2013-02-21 Martin Jambor <mjambor@suse.cz>
4988 PR tree-optimization/56310
4989 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
4990 only matching indices and non-negative final offsets.
4991 (intersect_aggregates_with_edge): Pass src_idx to
4992 agg_replacements_to_vector. Pass src_idx insstead of index to
4993 intersect_with_agg_replacements.
4995 2013-02-21 Martin Jambor <mjambor@suse.cz>
4997 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
4998 instead of hard-wired defaults.
5000 2013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
5002 * doc/invoke.texi (MIPS Options): Update documentation of the
5003 floating-point multiply-accumulate instruction restrictions.
5005 2013-02-21 Kostya Serebryany <kcc@google.com>
5007 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
5008 asan_shadow_offset on x86_64 linux.
5010 2013-02-21 Richard Biener <rguenther@suse.de>
5012 PR tree-optimization/56415
5014 2013-02-11 Richard Biener <rguenther@suse.de>
5016 PR tree-optimization/56273
5017 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
5020 2013-02-21 Jakub Jelinek <jakub@redhat.com>
5023 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
5027 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
5028 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
5030 2013-02-20 Jan Hubicka <jh@suse.cz>
5032 PR tree-optimization/56265
5033 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when
5034 target is referenced for first time.
5036 2013-02-20 Richard Biener <rguenther@suse.de>
5038 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
5039 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
5040 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
5041 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
5042 not return anything.
5043 (rename_ssa_copies): Do not remove unused locals.
5044 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
5045 * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
5046 * passes.c (execute_function_todo): Do not schedule unused locals
5047 removal if cleanup_tree_cfg did something.
5048 * tree-ssa-live.c (remove_unused_locals): Dump statistics
5049 about the number of removed locals.
5051 2013-02-20 Richard Biener <rguenther@suse.de>
5053 PR tree-optimization/56398
5054 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
5057 2013-02-20 Martin Jambor <mjambor@suse.cz>
5059 PR tree-optimization/55334
5060 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
5061 restricted pointers to arrays.
5063 2013-02-20 Richard Biener <rguenther@suse.de>
5064 Jakub Jelinek <jakub@redhat.com>
5066 PR tree-optimization/56396
5067 * tree-ssa-ccp.c (n_const_val): New static variable.
5068 (get_value): Return NULL for SSA names we don't have a lattice
5070 (ccp_initialize): Initialize n_const_val.
5071 * tree-ssa-copy.c (n_copy_of): New static variable.
5072 (init_copy_prop): Initialize n_copy_of.
5073 (get_value): Return NULL_TREE for SSA names we don't have a
5076 2013-02-20 Martin Jambor <mjambor@suse.cz>
5078 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
5080 2013-02-20 Richard Biener <rguenther@suse.de>
5082 * genpreds.c (write_lookup_constraint): Do not compare first
5083 letter of the constraint again.
5085 2013-02-20 Richard Biener <rguenther@suse.de>
5087 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
5089 (get_use_iv_cost): Terminate hashtable walk when coming across
5092 2013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
5094 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
5095 reassociation for avx2 targets.
5097 2012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5099 * config/microblaze/microblaze.c: microblaze_has_clz = 0
5100 Add version check for v8.10.a to enable microblaze_has_clz
5101 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
5102 version and TARGET_PATTERN_COMPARE check
5103 * config/microblaze/microblaze.md: New clzsi2 instruction
5105 2012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5107 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
5108 function before branching.
5110 2012-02-19 Andrey Belevantsev <abel@ispras.ru>
5112 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
5114 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
5116 2012-02-19 Andrey Belevantsev <abel@ispras.ru>
5119 * sel-sched.c: Include ira.h.
5120 (implicit_clobber_conflict_p): New function.
5121 (moveup_expr): Use it.
5122 * Makefile.in (sel-sched.o): Depend on ira.h.
5124 2013-02-19 Richard Biener <rguenther@suse.de>
5126 PR tree-optimization/56384
5127 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
5128 (vn_hash_type): Split out from ...
5129 (vn_hash_constant_with_type): ... here.
5130 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
5131 (vn_phi_eq): Compare types from vn_phi_s structure.
5132 (vn_phi_lookup): Populate vn_phi_s type.
5133 (vn_phi_insert): Likewise.
5135 2013-02-19 Jakub Jelinek <jakub@redhat.com>
5137 PR tree-optimization/56350
5138 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
5139 if haven't found reduction or nested cycle operand, rather than
5140 asserting we must find it.
5142 PR tree-optimization/56381
5143 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
5146 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
5147 Jakub Jelinek <jakub@redhat.com>
5150 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
5151 (swap_optab_enable): Same.
5152 (init_all_optabs): Use argument instead of global.
5153 * tree.h (struct tree_optimization_option): New field target_optabs.
5154 * expr.h (init_all_optabs): Add argument to prototype.
5155 (TREE_OPTIMIZATION_OPTABS): New.
5156 (save_optabs_if_changed): Protoize.
5157 * optabs.h: Declare this_fn_optabs.
5158 * optabs.c (save_optabs_if_changed): New.
5159 Declare this_fn_optabs.
5160 (init_optabs): Add argument to init_all_optabs() call.
5161 * function.c (invoke_set_current_function_hook): Handle per
5163 * function.h (struct function): New field optabs.
5164 * config/mips/mips.c (mips_set_mips16_mode): Handle when
5165 optimization_current_node has changed.
5166 * target-globals.h (save_target_globals_default_opts): Protoize.
5167 * target-globals.c (save_target_globals_default_opts): New.
5169 2013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5172 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
5173 registers %fr12 and %fr12R as call used.
5176 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
5177 and HImode, require all displacements to be an integer multiple of
5179 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
5180 only allow QImode and HImode when reload is in progress and strict is
5181 true. Likewise for symbolic addresses. Use base14_operand to check
5182 displacements in REG+BASE addresses.
5184 2013-02-18 Richard Biener <rguenther@suse.de>
5186 PR tree-optimization/56366
5187 * tree-vect-loop.c (get_initial_def_for_induction): Properly
5188 handle sign-conversion of outer-loop initial induction value.
5190 2013-02-18 Richard Biener <rguenther@suse.de>
5193 * cfghooks.c (merge_blocks): If we merge a latch into another
5194 block adjust references to it.
5195 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
5196 (verify_loop_structure): Verify that a recorded latch is in fact
5199 2013-02-18 Richard Biener <rguenther@suse.de>
5201 PR tree-optimization/56321
5202 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
5203 order SSA name release and virtual operand unlinking.
5205 2013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5207 * config/microblaze/microblaze.md (save_stack_block): Define.
5208 (restore_stack_block): Likewise.
5210 2013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5212 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
5213 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
5214 * config/microblaze/microblaze.c (microblaze_option_override):
5215 Bail out early for PIC modes when target does not support PIC.
5217 2013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5219 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
5220 Replace with a microblaze version.
5221 (microblaze_trampoline_init): Adapt for microblaze.
5222 * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
5225 2013-02-16 Jakub Jelinek <jakub@redhat.com>
5226 Dodji Seketeli <dodji@redhat.com>
5229 * asan.c (get_mem_refs_of_builtin_call): White space and style
5231 (instrument_mem_region_access): Do not forget to always put
5232 instrumentation of the of 'base' and 'base + len' in a "if (len !=
5233 0) statement, even for cases where either 'base' or 'base + len'
5234 are not instrumented -- because they have been previously
5235 instrumented. Simplify the logic by putting all the statements
5236 instrument 'base + len' inside a sequence, and then insert that
5237 sequence right before the current insertion point. Then, to
5238 instrument 'base + len', just get an iterator on that statement.
5239 And do not forget to update the pointer to iterator the function
5240 received as argument.
5242 2013-02-15 Vladimir Makarov <vmakarov@redhat.com>
5244 PR rtl-optimization/56348
5245 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
5247 2013-02-15 Steven Bosscher <steven@gcc.gnu.org>
5249 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
5250 (clean_graph_dump_file): Pass base to start_graph_dump.
5252 2013-02-14 Richard Henderson <rth@redhat.com>
5255 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
5257 2013-02-14 Steven Bosscher <steven@gcc.gnu.org>
5259 * collect2-aix.h: Define F_LOADONLY.
5261 2013-02-14 Richard Biener <rguenther@suse.de>
5264 * varasm.c (output_constant_def_1): Get the decl representing
5265 the constant as argument.
5266 (output_constant_def): Wrap output_constant_def_1.
5267 (make_decl_rtl): Use output_constant_def_1 with the decl
5268 representing the constant.
5269 (build_constant_desc): Optionally re-use a decl already
5270 representing the constant.
5271 (tree_output_constant_def): Adjust.
5273 2013-02-14 Dodji Seketeli <dodji@redhat.com>
5276 * asan.c (instrument_builtin_call): Really put the length of the
5277 second source argument into src1_len.
5279 2013-02-13 Jakub Jelinek <jakub@redhat.com>
5281 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
5282 argument. If it is false, don't create edge from then_bb to
5284 (insert_if_then_before_iter): Pass true to it.
5285 (build_check_stmt): Pass false to it.
5286 (transform_statements): Flush hash table only on extended basic
5287 block boundaries, rather than at the beginning of every bb.
5288 Don't flush hash table on nonfreeing_call_p calls.
5289 * tree-flow.h (nonfreeing_call_p): New prototype.
5290 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
5292 2013-02-13 David S. Miller <davem@davemloft.net>
5294 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
5296 2013-02-13 Vladimir Makarov <vmakarov@redhat.com>
5299 * ira.c (max_regno_before_ira): Move from ...
5301 (fix_reg_equiv_init): Use max_regno_before_ira instead of
5304 2013-02-13 Jakub Jelinek <jakub@redhat.com>
5306 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
5308 2013-02-13 Richard Biener <rguenther@suse.de>
5311 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
5312 globals in MEM_REFs.
5314 2013-02-13 Richard Biener <rguenther@suse.de>
5316 * loop-init.c (loop_optimizer_init): Clear loop state when
5317 re-initializing preserved loops.
5318 * loop-unswitch.c (unswitch_single_loop): Return whether
5319 we unswitched the loop. Do not verify loop state here.
5320 (unswitch_loops): When we unswitched a loop discover new
5323 2013-02-13 Kostya Serebryany <kcc@google.com>
5325 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
5327 * sanitizer.def: Rename __asan_init to __asan_init_v1.
5329 2013-02-12 Dodji Seketeli <dodji@redhat.com>
5331 Avoid instrumenting duplicated memory access in the same basic block
5332 * Makefile.in (asan.o): Add new dependency on hash-table.h
5333 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
5334 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
5335 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
5336 (free_mem_ref_resources, has_mem_ref_been_instrumented)
5337 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
5338 (get_mem_ref_of_assignment): New functions.
5339 (get_mem_refs_of_builtin_call): Extract from
5340 instrument_builtin_call and tweak a little bit to make it fit with
5342 (instrument_builtin_call): Use the new
5343 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
5344 of is_gimple_builtin_call.
5345 (instrument_derefs, instrument_mem_region_access): Insert the
5346 instrumented memory reference into the hash table.
5347 (maybe_instrument_assignment): Renamed instrument_assignment into
5348 this, and change it to advance the iterator when instrumentation
5349 actually happened and return true in that case. This makes it
5350 homogeneous with maybe_instrument_assignment, and thus give a
5351 chance to callers to be more 'regular'.
5352 (transform_statements): Clear the memory reference hash table
5353 whenever we enter a new BB, when we cross a function call, or when
5354 we are done transforming statements. Use
5355 maybe_instrument_assignment instead of instrumentation. No more
5356 need to special case maybe_instrument_assignment and advance the
5357 iterator after calling it; it's now handled just like
5358 maybe_instrument_call. Update comment.
5360 2013-02-13 Richard Biener <rguenther@suse.de>
5362 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
5363 Fix loop discovery code.
5365 2013-02-12 Vladimir Makarov <vmakarov@redhat.com>
5368 * lra-constraints.c (process_alt_operands): Match early clobber
5369 operand with itself. Check conflicts with earlyclobber only if
5370 the operand is not reloaded. Prefer to reload conflicting operand
5371 if earlyclobber and matching operands are the same.
5373 2013-02-12 Richard Biener <rguenther@suse.de>
5376 * lto-streamer-out.c (write_symbol): Do not output symbols
5377 for hard register variables.
5379 2013-02-12 Georg-Johann Lay <avr@gjlay.de>
5382 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
5383 (umulsidi3_insn, mulsidi3_insn): New insns.
5385 2013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
5387 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
5388 (struct tune_params): Add vec_costs field.
5389 * config/arm/arm.c (arm_builtin_vectorization_cost)
5390 (arm_add_stmt_cost): New functions.
5391 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
5392 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
5393 (arm_default_vec_cost): New struct of type cpu_vec_costs.
5394 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
5395 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
5396 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
5397 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
5399 2013-02-12 Richard Biener <rguenther@suse.de>
5402 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
5403 decls again if possible.
5405 2013-02-12 Richard Biener <rguenther@suse.de>
5408 * tree-ssa.c (verify_ssa_name): Fix check, move
5409 SSA_NAME_IN_FREE_LIST check up.
5411 2013-02-12 Jakub Jelinek <jakub@redhat.com>
5412 Steven Bosscher <steven@gcc.gnu.org>
5414 PR rtl-optimization/56151
5415 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
5416 equal to op0 or op1, and last_insn pattern is CODE operation
5417 with MEM dest and one of the operands matches that MEM.
5419 2013-02-11 Sriraman Tallam <tmsriramgoogle.com>
5421 * doc/extend.texi: Document Function Multiversioning and "default"
5422 parameter string to target attribute.
5423 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
5424 target attribute parameter is "default".
5425 (ix86_compare_version_priority): Remove checks for target attribute.
5426 (ix86_mangle_function_version_assembler_name): Change error to sorry.
5427 Remove check for target attribute equal to NULL. Add assert.
5428 (ix86_generate_version_dispatcher_body): Change error to sorry.
5430 2013-02-11 Iain Sandoe <iain@codesourcery.com>
5431 Jack Howarth <howarth@bromo.med.uc.edu>
5432 Patrick Marlier <patrick.marlier@gmail.com>
5435 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
5436 define ENDFILE_SPEC as TM_DESTRUCTOR.
5437 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
5439 2013-02-11 Alexander Potapenko <glider@google.com>
5440 Jack Howarth <howarth@bromo.med.uc.edu>
5441 Jakub Jelinek <jakub@redhat.com>
5444 * config/darwin.c (cdtor_record): Rename ctor_record.
5445 (sort_cdtor_records): Rename sort_ctor_records.
5446 (finalize_dtors): New routine to sort destructors by
5447 priority before use in assemble_integer.
5448 (machopic_asm_out_destructor): Use finalize_dtors if needed.
5450 2013-02-11 Uros Bizjak <ubizjak@gmail.com>
5452 PR rtl-optimization/56275
5453 * simplify-rtx.c (avoid_constant_pool_reference): Check that
5454 offset is non-negative and less than cmode size before
5455 calling simplify_subreg.
5457 2013-02-11 Richard Biener <rguenther@suse.de>
5459 PR tree-optimization/56264
5460 * cfgloop.h (fix_loop_structure): Adjust prototype.
5461 * loop-init.c (fix_loop_structure): Return the number of
5462 newly discovered loops.
5463 * tree-cfgcleanup.c (repair_loop_structures): When new loops
5464 are discovered, do a full loop-closed SSA rewrite.
5466 2013-02-11 Richard Biener <rguenther@suse.de>
5468 PR tree-optimization/56273
5469 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
5471 (check_array_ref): Fix missing newline in dumps.
5472 (search_for_addr_array): Likewise.
5474 2013-02-09 David Edelsohn <dje.gcc@gmail.com>
5476 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
5478 2013-02-09 Jakub Jelinek <jakub@redhat.com>
5481 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
5483 2013-02-08 Vladimir Makarov <vmakarov@redhat.com>
5485 PR rtl-optimization/56246
5486 * lra-constraints.c (simplify_operand_subreg): Try to reuse
5488 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
5489 constraints are satisfied.
5491 2013-02-08 Jeff Law <law@redhat.com>
5494 * emit-rtl.c (reg_is_parm_p): New function.
5495 * regs.h (reg_is_parm_p): New prototype.
5496 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
5497 callee-clobbered registers.
5499 2013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
5502 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
5503 If there is no implicit builtin declaration, just return NULL.
5505 2013-02-08 Uros Bizjak <ubizjak@gmail.com>
5507 * config/i386/sse.md (FMAMODEM): New mode iterator.
5508 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
5509 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
5511 2013-02-08 Uros Bizjak <ubizjak@gmail.com>
5513 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
5514 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
5515 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
5517 2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
5519 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
5520 (microblaze*-*-elf): Likewise.
5521 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
5523 * config/microblaze/microblaze-c.c: Add builtin defines for
5524 _LITTLE_ENDIAN and _BIG_ENDIAN.
5525 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
5526 add to TARGET_DEFAULT flags.
5527 Expand ASM_SPEC and LINK_SPEC.
5528 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
5529 * config/microblaze/microblaze.md: Update extendsidi2 and
5530 movdi_internal instructions to use low-order / high-order reg
5532 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
5533 options and inversemask / mask of LITTLE_ENDIAN.
5534 * config/microblaze/t-microblaze: Expand multilib options to
5535 include mlittle-endian (le) and update exceptions patterns.
5537 2013-02-08 Jakub Jelinek <jakub@redhat.com>
5539 PR rtl-optimization/56195
5540 * lra-constraints.c (get_reload_reg): Don't reuse regs
5541 if they have smaller mode than requested, if they have
5542 wider mode than requested, try to return a SUBREG.
5544 PR tree-optimization/56250
5545 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
5546 if type is unsigned and code isn't MULT_EXPR.
5548 2013-02-08 Georg-Johann Lay <avr@gjlay.de>
5550 PR tree-optimization/56064
5551 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
5552 bits according to mode.
5553 * fixed-value.h (fixed_from_double_int)
5554 (const_fixed_from_double_int): Adjust comments.
5556 2013-02-08 Richard Biener <rguenther@suse.de>
5559 * lto-streamer.h (struct data_in): Remove current_file, current_line
5560 and current_col members.
5561 * lto-streamer-out.c (lto_output_location): Stream changed bits
5562 en-block for efficiency.
5563 * lto-streamer-in.c (clear_line_info): Remove.
5564 (lto_input_location): Cache current file, line and column
5565 globally via local statics. Read changed bits en-block.
5566 (input_function): Do not call clear_line_info.
5567 (lto_read_body): Likewise.
5568 (lto_input_toplevel_asms): Likewise.
5570 2013-02-08 Michael Matz <matz@suse.de>
5572 PR tree-optimization/52448
5573 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
5574 (nt_call_phase): New static.
5575 (add_or_mark_expr): Only mark accesses with newer phase than any
5577 (nonfreeing_call_p): New.
5578 (nt_init_block): Update nt_call_phase, mark blocks as visited.
5579 (nt_fini_block): Keep blocks marked as visited.
5580 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
5582 2013-02-08 Richard Biener <rguenther@suse.de>
5584 * ira.c (ira): Free broken dominator information.
5586 2013-02-08 Uros Bizjak <ubizjak@gmail.com>
5588 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
5590 2013-02-08 Marek Polacek <polacek@redhat.com>
5592 * cfgloop.c (verify_loop_structure): Add more checking of headers.
5594 2013-02-08 Richard Biener <rguenther@suse.de>
5597 * cfgloop.h (flow_loops_find): Adjust.
5598 (bb_loop_header_p): Declare.
5599 * cfgloop.c (bb_loop_header_p): New function split out from ...
5600 (flow_loops_find): ... here. Adjust function signature,
5601 support incremental loop structure update.
5602 (verify_loop_structure): Cleanup. Verify a loop is a loop.
5603 * cfgloopmanip.c (fix_loop_structure): Move ...
5604 * loop-init.c (fix_loop_structure): ... here.
5605 (apply_loop_flags): Split out from ...
5606 (loop_optimizer_init): ... here.
5607 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
5608 in incremental mode, only remove dead loops here.
5610 2013-02-08 Georg-Johann Lay <avr@gjlay.de>
5613 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
5614 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
5615 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
5616 (*round<mode>3.libgcc): New insns for fixed-modes.
5617 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
5618 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
5619 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
5620 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
5621 implementations. Define to __builtin_avr_absFX,
5622 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
5623 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
5624 __builtin_avr_countlsFX, respectively.
5625 * config/avr/avr-c.c (target.h): Include it.
5626 (enum avr_builtin_id): New enum.
5627 (avr_resolve_overloaded_builtin): New static function.
5628 (avr_register_target_pragmas): Use it to set
5629 targetm.resolve_overloaded_builtin.
5630 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
5631 tree nodes used by DEF_BUILTIN.
5632 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
5633 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
5634 <AVR_BUILTIN_xxBITS>: Same.
5636 2013-02-08 Richard Biener <rguenther@suse.de>
5638 * cfgloop.c (verify_loop_structure): Properly handle
5639 a loop exiting to another loop header.
5640 * ira-int.h (ira_loops): Remove.
5641 * ira.c (ira_loops): Remove.
5642 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
5643 (do_reload): Use loop_optimizer_finalize.
5644 * ira-build.c (create_loop_tree_nodes): Use get_loops and
5645 number_of_loops to access the loop tree.
5646 (more_one_region_p): Likewise.
5647 (finish_loop_tree_nodes): Likewise.
5648 (rebuild_regno_allocno_maps): Likewise.
5649 (mark_loops_for_removal): Likewise.
5650 (mark_all_loops_for_removal): Likewise.
5651 (remove_unnecessary_regions): Likewise.
5652 (ira_build): Likewise.
5653 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
5655 2013-02-08 Richard Biener <rguenther@suse.de>
5657 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
5658 * ipa-pure-const.c (analyze_function): Avoid calling
5659 mark_irreducible_loops twice.
5660 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
5662 2013-02-07 David S. Miller <davem@davemloft.net>
5664 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
5666 * var-tracking.c (vt_add_function_parameter): Test the presence of
5667 HAVE_window_save properly and do not remap argument registers when
5668 we have a leaf function.
5670 2013-02-07 Uros Bizjak <ubizjak@gmail.com>
5673 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
5675 * config/i386/i386.c (ix86_print_operand): Ditto.
5677 2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
5679 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5681 2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
5683 PR rtl-optimization/56225
5684 * lra-constraints.c (process_alt_operands): Check that reload hard
5685 reg can hold value for strict_low_part.
5687 2013-02-07 Jakub Jelinek <jakub@redhat.com>
5690 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
5691 dwarf2out_end_function.
5692 (in_first_function_p, maybe_at_text_label_p,
5693 first_loclabel_num_not_at_text_label): New variables.
5694 (dwarf2out_var_location): In the first function find out
5695 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
5696 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
5699 2013-02-07 Eric Botcazou <ebotcazou@adacore.com>
5701 PR rtl-optimization/56178
5702 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
5703 SUBREG of a register. Tidy up related block of code.
5704 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
5705 note if the source is a register or a SUBREG of a register.
5707 2013-02-07 Jakub Jelinek <jakub@redhat.com>
5710 * config/rs6000/rs6000.md (ptrm): New mode attr.
5711 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
5712 call_value_indirect_aix<pttrsize>,
5713 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
5716 2013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
5718 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
5719 if -bnortl. Convert to strcmp and strncmp.
5721 2013-02-07 Alan Modra <amodra@gmail.com>
5724 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
5725 addresses won't wrap when offsetting.
5726 (rs6000_secondary_reload): Provide secondary reloads needed for
5727 wrapping LO_SUM addresses.
5729 2013-02-06 Thomas Schwinge <thomas@codesourcery.com>
5731 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
5732 MACH, just __MACH__.
5734 2013-02-06 Richard Biener <rguenther@suse.de>
5736 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
5737 instead of calling fix_loop_structure.
5739 2013-02-06 Jakub Jelinek <jakub@redhat.com>
5742 * omp-low.c (use_pointer_for_field): Return false if
5743 lower_send_shared_vars doesn't generate any copy-out code.
5745 2013-02-06 Tom de Vries <tom@codesourcery.com>
5747 PR rtl-optimization/56131
5748 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
5749 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
5750 of the label is NULL. Add comment.
5752 2013-02-05 Jakub Jelinek <jakub@redhat.com>
5754 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
5757 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
5758 (STATIC_LIBTSAN_LIBS): Likewise.
5759 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
5760 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
5761 is defined, don't add anything else beyond that.
5762 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
5763 (LINK_COMMAND_SPEC): Use them.
5765 PR tree-optimization/56205
5766 * tree-stdarg.c (check_all_va_list_escapes): Return true if
5767 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
5768 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
5770 2013-02-05 Richard Biener <rguenther@suse.de>
5772 PR tree-optimization/53342
5773 PR tree-optimization/53185
5774 * tree-vectorizer.h (vect_check_strided_load): Remove.
5775 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
5776 not disallow peeling for vectorized strided loads.
5777 (vect_check_strided_load): Make static and simplify.
5778 (vect_analyze_data_refs): Adjust.
5779 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
5780 correctly when vectorizing strided loads.
5782 2013-02-05 Richard Biener <rguenther@suse.de>
5784 * doc/install.texi: Refer to ISL, not PPL.
5786 2013-02-05 Jan Hubicka <jh@suse.cz>
5788 PR tree-optimization/55789
5789 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
5791 2013-02-05 Jan Hubicka <jh@suse.cz>
5793 PR tree-optimization/55789
5794 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
5795 the dead call anyway.
5797 2013-02-05 Eric Botcazou <ebotcazou@adacore.com>
5800 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
5802 2013-02-04 Alexander Potapenko <glider@google.com>
5803 Jack Howarth <howarth@bromo.med.uc.edu>
5804 Jakub Jelinek <jakub@redhat.com>
5807 * config/darwin.c (sort_ctor_records): Stabilized qsort
5808 on constructor priority by using original position.
5809 (finalize_ctors): New routine to sort constructors by
5810 priority before use in assemble_integer.
5811 (machopic_asm_out_constructor): Use finalize_ctors if needed.
5813 2013-02-04 Jakub Jelinek <jakub@redhat.com>
5816 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
5817 about visibility on artificial decls.
5818 * config/sol2.c (solaris_assemble_visibility): Likewise.
5820 2013-02-04 Kai Tietz <ktietz@redhat.com>
5823 * config/i386/i386.c (function_value_ms_64): Add additional valtype
5824 argument and improve checking of return-argument types for 16-byte
5826 (ix86_function_value_1): Add additional valtype argument on call
5827 of function_value_64.
5828 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
5829 handling infunction_value_64 function.
5831 2013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
5833 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
5835 2013-02-04 Richard Biener <rguenther@suse.de>
5837 PR tree-optimization/56188
5838 * tree-ssa-structalias.c (label_visit): Consider case with
5839 initially non-empty points-to set.
5840 (perform_var_substitution): Dump node mapping and clean up.
5842 2013-02-04 Richard Guenther <rguenther@suse.de>
5845 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
5846 node prevail as last resort.
5847 (lto_symtab_merge_decls): Remove guard on LTRANS here.
5848 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
5850 2013-02-04 Richard Biener <rguenther@suse.de>
5852 PR tree-optimization/56113
5853 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
5855 (equiv_class_lookup_or_add): ... this.
5856 (label_visit): Adjust and fix error in previous patch.
5857 (perform_var_substitution): Adjust.
5859 2013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
5861 * config/sh/divtab.c: Fix formatting and comments throughout the file.
5862 * config/sh/sh4-300.md: Likewise.
5863 * config/sh/sh4a.md: Likewise.
5864 * config/sh/constraints.md: Likewise.
5865 * config/sh/sh.md: Likewise.
5866 * config/sh/netbsd-elf.h: Likewise.
5867 * config/sh/predicates.md: Likewise.
5868 * config/sh/sh-protos.h: Likewise.
5869 * config/sh/ushmedia.h: Likewise.
5870 * config/sh/linux.h: Likewise.
5871 * config/sh/sh.c: Likewise.
5872 * config/sh/superh.h: Likewise.
5873 * config/sh/elf.h: Likewise.
5874 * config/sh/sh4.md: Likewise.
5875 * config/sh/sh.h: Likewise.
5877 2013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5879 * config/pa/constraints.md: Adjust unused letters. Change "T"
5880 constraint to match_test floating_point_store_memory_operand().
5881 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
5882 (base14_operand): New.
5883 (floating_point_store_memory_operand): New.
5884 (integer_store_memory_operand): Revise to use base14_operand and
5885 reg_plus_base_memory_operand.
5886 (move_dest_operand): Allow symbolic_memory_operands.
5887 (symbolic_memory_operand): Check for LO_SOM.
5888 (symbolic_operand): Change default case to break.
5889 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
5890 CONST_DOUBLE values to be reloaded by putting them into memory when
5891 the destination is a floating point register.
5892 (movdf): Remove code to handle CONST_DOUBLE.
5894 (reload_indf_r1): New.
5895 (reload_insf_r1): New.
5896 Consistently use "Q" and "T" constraints with integer and floating
5897 point move instructions, respectively.
5898 (movdi): Remove FAIL.
5899 Change predicate for source operand unamed DImode move from
5900 general_operand to move_src_operand.
5901 (umulsidi3): Change predicate for destination operand to
5903 Likewise for similar unamed patterns.
5904 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
5905 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
5906 (hppa_legitimize_address): Simplify mask calculation.
5907 (pa_emit_move_sequence): Revised handling of secondary reloads from
5908 REG+D addresses for floating point loads and stores. Directly handle
5909 loading CONST0_RTX (mode) to a floating point register.
5910 (pa_secondary_reload): Handle reloading DF and SFmode constant values
5911 to floating point registers. Don't restrict secondary reloads to
5912 floating point registers to integer modes. Revise some comments and
5914 (TARGET_LEGITIMATE_ADDRESS_P): Define.
5915 (pa_legitimate_address_p): New.
5916 (pa_legitimize_reload_address): New.
5917 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
5918 (STRICT_REG_OK_FOR_BASE_P): New.
5919 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
5920 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
5922 2013-02-03 David Edelsohn <dje.gcc@gmail.com>
5923 Andrew Dixie <andrewd@gentrack.com>
5925 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
5928 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
5930 * expmed.c (extract_bit_field_1): Pass the full width of the
5931 structure to get_best_reg_extraction_insn.
5933 2013-02-01 David Edelsohn <dje.gcc@gmail.com>
5936 * configure.ac (use_cxa_atexit): Add AIX.
5937 * configure: Regenerate.
5939 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
5941 2013-02-01 Jakub Jelinek <jakub@redhat.com>
5944 * final.c (need_profile_function): New variable.
5945 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
5946 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
5947 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
5948 notes, targetm.asm_out.function_prologue doesn't emit anything,
5949 HAVE_prologue and profiler should be emitted before prologue,
5950 set need_profile_function instead of emitting it.
5951 (final_scan_insn): If need_profile_function, emit
5952 profile_function on the first NOTE_INSN_BASIC_BLOCK or
5953 NOTE_INSN_FUNCTION_BEG note.
5955 2013-02-01 Richard Henderson <rth@redhat.com>
5957 * config/rs6000/rs6000.md (smulditi3): New.
5960 * config/alpha/alpha.md (umulditi3): New.
5962 2013-02-01 David Edelsohn <dje.gcc@gmail.com>
5964 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
5965 (ASM_OUTPUT_ALIGNED_LOCAL): New.
5967 2013-02-01 Richard Biener <rguenther@suse.de>
5969 PR tree-optimization/56113
5970 * tree-ssa-structalias.c (label_visit): Reduce work for
5971 single-predecessor nodes.
5973 2013-02-01 Eric Botcazou <ebotcazou@adacore.com>
5975 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
5976 range isn't testing for zero.
5978 2013-01-31 Steven Bosscher <steven@gcc.gnu.org>
5981 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
5983 2013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
5984 Nick Clifton <nickc@redhat.com>
5986 * config/v850/constraints.md (Q): Define as a memory constraint.
5987 * config/v850/predicates.md (label_ref_operand): New predicate.
5988 (e3v5_shift_operand): New predicate.
5989 (ior_operator): New predicate.
5990 * config/v850/t-v850: Add e3v5 multilib.
5991 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
5992 (v850_gen_movdi): Prototype.
5993 * config/v850/v850.c: Add support for e3v5 architecture.
5994 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
5996 (construct_save_jarl): Add e3v5 long JARL support.
5997 (v850_adjust_insn_length): New function. Adjust length of call
5998 insns when using e3v5 instructions.
5999 (v850_gen_movdi): New function: Generate instructions to move a
6001 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
6002 (CPP_SPEC): Define __v850e3v5__ as appropriate.
6003 (TARGET_USE_FPU): Enable for e3v5.
6004 (CONST_OK_FOR_W): New macro.
6005 (ADJUST_INSN_LENGTH): Define.
6006 * config/v850/v850.md (UNSPEC_LOOP): Define.
6007 (attr cpu): Add v850e3v5.
6008 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
6009 (movdi): New pattern.
6010 (movdi_internal): New pattern.
6011 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
6012 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
6013 (cstoresf4): Likewise.
6014 (cstoredf4): Likewise.
6015 (insv): New pattern.
6016 (rotlso3_a): New pattern.
6017 (rotlsi3_b): New pattern
6018 (rotlsi3_v850e3v5): New pattern.
6019 (doloop_begin): New pattern.
6020 (fix_loop_counter): New pattern.
6021 (doloop_end): New pattern.
6022 (branch_normal): Add e3v5 long branch support.
6023 (branch_invert): Likewise.
6024 (branch_z_normal): Likewise.
6025 (branch_z_invert): Likewise.
6026 (branch_nz_normal): Likewise.
6027 (branch_nz_invert): Likewise.
6028 (call_internal_short): Add e3v5 register-indirect JARL support.
6029 (call_internal_long): Likewise.
6030 (call_value_internal_short): Likewise.
6031 (call_value_internal_long): Likewise.
6032 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
6033 (mloop): New option.
6034 * config.gcc: Add support for configuring v840e3v5 target.
6035 * doc/invoke.texi: Document new v850 specific command line options.
6037 2013-01-31 Paul Koning <ni1d@arrl.net>
6041 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
6042 children if parent is a class.
6043 (prune_unused_types_prune): Don't add DW_AT_declaration.
6045 2013-01-31 Richard Biener <rguenther@suse.de>
6047 PR tree-optimization/56157
6048 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
6049 match up operand with SLP child.
6051 2013-01-31 Jason Merrill <jason@redhat.com>
6054 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
6055 parameters the first time.
6056 (gen_scheduled_generic_parms_dies): Check completeness here.
6058 2013-01-31 Richard Biener <rguenther@suse.de>
6061 * common.opt (faggressive-loop-optimizations): New flag,
6063 * doc/invoke.texi (faggressive-loop-optimizations): Document.
6064 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
6065 infer_loop_bounds_from_undefined by it.
6067 2013-01-31 Richard Biener <rguenther@suse.de>
6069 PR tree-optimization/56150
6070 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
6071 visit virtual operands.
6072 (find_uses_to_rename_bb): Likewise.
6074 2013-01-31 Richard Biener <rguenther@suse.de>
6076 PR tree-optimization/56150
6077 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
6078 mixed store non-store stmts.
6080 2013-01-30 Jakub Jelinek <jakub@redhat.com>
6083 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
6084 LIBASAN_EARLY_SPEC is defined.
6085 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
6086 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
6088 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
6091 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
6092 invalid args instead of ICEing on it.
6093 (ix86_valid_target_attribute_tree): Return error_mark_node if
6094 ix86_valid_target_attribute_inner_p failed.
6095 (ix86_valid_target_attribute_p): Return false only if
6096 ix86_valid_target_attribute_tree returned error_mark_node. Allow
6097 target("default") attribute.
6098 (sorted_attr_string): Change argument from const char * to tree,
6099 merge in all target attribute arguments rather than just one.
6100 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
6101 instead of free. Avoid using strcat.
6102 (ix86_mangle_function_version_assembler_name): Mangle
6103 target("default") as if no target attribute is present. Adjust
6104 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
6105 instead of xmalloc and XDELETEVEC instead of free.
6106 (ix86_function_versions): Don't return true if one of the decls
6107 doesn't have target attribute. If they don't and one of the decls
6108 is DECL_FUNCTION_VERSIONED, report an error. Adjust
6109 sorted_attr_string caller. Use XDELETEVEC instead of free.
6110 (ix86_supports_function_versions): Remove.
6111 (make_name): Fix up formatting.
6112 (make_dispatcher_decl): Remove resolver_name and its initialization.
6113 Avoid leaking memory.
6114 (is_function_default_version): Return true if there is
6115 target("default") attribute rather than no target attribute at all.
6116 (make_resolver_func): Avoid leaking memory.
6117 (ix86_generate_version_dispatcher_body): Likewise.
6118 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
6119 * target.def (supports_function_versions): Remove.
6120 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
6121 * doc/tm.texi: Regenerated.
6123 2013-01-30 Vladimir Makarov <vmakarov@redhat.com>
6125 PR rtl-optimization/56144
6126 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
6127 for values with side effects.
6129 2013-01-30 Richard Biener <rguenther@suse.de>
6131 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
6132 (sparseset_pop): Likewise.
6133 * cfganal.c (compute_idf): Likewise. Increase work-stack size
6134 to be able to use quick_push in the worker loop.
6136 2013-01-30 Marek Polacek <polacek@redhat.com>
6138 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
6140 2013-01-30 Richard Biener <rguenther@suse.de>
6143 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
6145 2013-01-30 Georg-Johann Lay <avr@gjlay.de>
6147 PR tree-optimization/56064
6148 * fixed-value.c (fixed_from_double_int): New function.
6149 * fixed-value.h (fixed_from_double_int): New prototype.
6150 (const_fixed_from_double_int): New static inline function.
6151 * fold-const.c (native_interpret_fixed): New static function.
6152 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
6153 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
6154 (native_encode_fixed): New static function.
6155 (native_encode_expr) <FIXED_CST>: Use it.
6156 (native_interpret_int): Move double_int worker code to...
6157 * double-int.c (double_int::from_buffer): ...this new static method.
6158 * double-int.h (double_int::from_buffer): Prototype it.
6160 2013-01-30 Richard Biener <rguenther@suse.de>
6162 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
6163 New pointer-map and obstack.
6164 (init_alias_vars): Allocate pointer-map and obstack.
6165 (delete_points_to_sets): Free them.
6166 (find_what_var_points_to): Cache result.
6167 (find_what_p_points_to): Adjust for changed interface of
6168 find_what_var_points_to.
6169 (compute_points_to_sets): Likewise.
6170 (ipa_pta_execute): Likewise.
6172 2013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6174 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
6175 * configure: Regenerate.
6176 * config.in: Regenerate.
6177 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
6178 #nobits/#progbits if supported.
6180 2013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
6183 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
6184 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
6185 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
6187 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
6189 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
6190 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
6192 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
6194 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
6195 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
6197 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
6199 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
6201 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
6202 * config/arm/cortex-a7.md: New bypasses using
6203 arm_mac_accumulator_is_result.
6205 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
6207 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
6208 (cortex_a7_neon_mla): Likewise.
6209 (cortex_a7_fpfmad): New reservation.
6210 (cortex_a7_fpmacs): Use ffmas and update required units.
6211 (cortex_a7_fpmuld): Update required units and latency.
6212 (cortex_a7_fpmacd): Likewise.
6213 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
6214 (cortex_a7_neon). Likewise.
6215 (bypass) Update participating units.
6217 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
6219 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
6220 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
6222 * config/arm/vfp11.md (vfp_farith): Use ffmas.
6223 (vfp_fmul): Use ffmad.
6224 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
6225 (cortex_r4_fmacd): Use ffmad.
6226 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
6227 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
6228 (cortex_a9_fmacd): Use ffmad.
6229 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
6230 (cortex_a8_vfp_macd): Use ffmad.
6231 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
6232 (cortex_a5_fpmacd): Use ffmad.
6233 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
6234 (cortex_a15_vfp_macd): Use ffmad.
6235 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
6237 2013-01-29 Jason Merrill <jason@redhat.com>
6240 * varasm.c (default_assemble_visibility): Don't warn about
6241 visibility on artificial decls.
6243 2013-01-29 Richard Biener <rguenther@suse.de>
6245 PR tree-optimization/56113
6246 * tree-ssa-structalias.c (equiv_class_lookup): Also return
6248 (label_visit): Free duplicate bitmaps and record the leader instead.
6249 (perform_var_substitution): Adjust.
6251 2013-01-29 Richard Biener <rguenther@suse.de>
6253 PR tree-optimization/55270
6254 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
6255 the CFG, schedule loops for fixup.
6257 2013-01-29 Nick Clifton <nickc@redhat.com>
6259 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
6262 2013-01-28 Leif Ekblad <leif@rdos.net>
6264 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
6265 * config/i386/i386.h (TARGET_RDOS): New macro.
6266 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
6267 * config/i386/i386.c (ix86_option_override_internal): For 64bit
6268 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
6269 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
6270 DEFAULT_LARGE_SECTION_THRESHOLD.
6271 * config/i386/i386.md (R14_REG, R15_REG): New constants.
6272 * config/i386/rdos.h: New file.
6273 * config/i386/rdos64.h: New file.
6275 2013-01-28 Bernd Schmidt <bernds@codesourcery.com>
6278 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
6281 2013-01-28 Jakub Jelinek <jakub@redhat.com>
6283 PR rtl-optimization/56117
6284 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
6285 call cselib_lookup_from_insn on the MEM before calling
6286 add_insn_mem_dependence.
6288 2013-01-28 Richard Biener <rguenther@suse.de>
6290 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
6291 to a stmt that didn't have one.
6292 (copy_phis_for_bb): Likewise for PHI arguments.
6293 (copy_debug_stmt): Likewise for debug stmts.
6295 2013-01-28 Richard Biener <rguenther@suse.de>
6297 PR tree-optimization/56034
6298 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
6299 (partition_builtin_p): Adjust.
6300 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
6301 it is the last partition.
6302 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
6303 up the vertex for the definition.
6304 (classify_partition): Classify whether a partition is a
6305 PKIND_REDUCTION, thus has uses outside of the loop.
6306 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
6307 Merge all PKIND_REDUCTION partitions into the last partition.
6308 (tree_loop_distribution): Seed partitions from reductions as well.
6310 2013-01-28 Jakub Jelinek <jakub@redhat.com>
6312 PR tree-optimization/56125
6313 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
6314 pow(x,c) into sqrt(x) * powi(x, n/2) or
6315 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
6316 optimizing for size.
6317 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
6318 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
6321 PR tree-optimization/56094
6322 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
6323 to UNKNOWN_LOCATION while gimplifying expr.
6325 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
6328 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
6329 operand 0 in movabs insn template for -masm=intel asm alternative.
6330 (*movabs<mode>_2): Ditto for operand 1.
6332 2013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
6335 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
6338 2013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6340 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
6343 2013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
6345 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
6346 Undef to avoid warning.
6348 2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
6350 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
6351 * configure: Regenerate.
6353 2013-01-25 Jakub Jelinek <jakub@redhat.com>
6355 PR tree-optimization/56098
6356 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
6357 for stmts with volatile ops.
6358 (cond_store_replacement): Don't optimize if assign has volatile ops.
6359 (cond_if_else_store_replacement_1): Don't optimize if either
6360 then_assign or else_assign have volatile ops.
6361 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
6364 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
6366 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
6368 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
6370 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
6371 missing ':' in asm example.
6373 2013-01-25 Tejas Belagod <tejas.belagod@arm.com>
6375 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
6376 entries into lane and laneq entries.
6377 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
6378 Remove AdvSIMD scalar modes.
6379 (aarch64_sq<r>dmulh_laneq<mode>): New.
6380 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
6382 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
6383 builtin implementations to relfect changes in RTL in aarch64-simd.md.
6384 * config/aarch64/iterators.md (VCOND): New.
6387 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
6390 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
6391 Add NULL LIBNAME argument to existing definitions.
6392 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
6393 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
6394 * config/avr/avr.c (DEF_BUILTIN): Same.
6395 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
6396 (avr_expand_builtin): Expand to a vanilla call if a libgcc
6397 implementation is available (DECL_ASSEMBLER_NAME is set).
6398 (avr_fold_absfx): New static function.
6399 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
6400 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
6401 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
6403 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
6404 (abshk, absk, abslk, absllk): Provide as static inline functions.
6406 2013-01-25 Marek Polacek <polacek@redhat.com>
6408 PR tree-optimization/56035
6409 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
6411 2012-01-24 Uros Bizjak <ubizjak@gmail.com>
6413 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
6414 (*movtf_internal_rex64): Add (!o,C) alternative
6415 (*movxf_internal_rex64): Ditto.
6416 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
6418 2013-01-24 Shenghou Ma <minux.ma@gmail.com>
6420 * doc/invoke.texi: fix typo.
6421 * doc/objc.texi: fix typo.
6423 2013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
6425 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
6426 for the first two alternatives.
6428 2013-01-24 Diego Novillo <dnovillo@google.com>
6430 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
6431 (ggc-zone.o): Remove.
6432 * configure.ac: Remove option --with-gc.
6433 * configure: Re-generate.
6434 * doc/install.texi: Remove documentation for --with-gc.
6435 * gengtype.c (write_enum_defn): Remove. Update all users.
6436 (write_Types_process_field): Remove generation of gt_e_* argument.
6437 (output_type_enum): Remove. Update all users.
6438 (write_enum_defn): Remove. Update all users.
6439 (enum alloc_zone): Remove. Update all users.
6440 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
6441 * ggc-common.c (ggc_splay_alloc): Remove first argument.
6443 (struct ptr_data): Remove field TYPE. Update all users.
6444 (gt_pch_note_object): Remove argument TYPE. Update all users.
6445 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
6447 * ggc-none.c (ggc_alloc_typed_stat): Remove.
6448 (struct alloc_zone): Remove.
6449 (ggc_internal_alloc_zone_stat): Remove.
6450 (ggc_internal_cleared_alloc_zone_stat): Remove.
6451 * ggc-page.c (ggc_alloc_typed_stat): Remove.
6452 (ggc_pch_count_object): Remove last argument. Update all users.
6453 (ggc_pch_alloc_object): Remove last argument. Update all users.
6454 (struct alloc_zone): Remove.
6455 * ggc-zone.c: Remove.
6456 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
6457 (struct alloc_zone): Remove.
6458 (ggc_alloc_typed_stat): Remove.
6459 (ggc_alloc_typed): Remove.
6460 (ggc_splay_alloc): Remove first argument.
6461 (rtl_zone): Remove. Update all users.
6462 (tree_zone): Remove. Update all users.
6463 (tree_id_zone): Remove. Update all users.
6464 (ggc_internal_zone_alloc_stat): Remove. Update all users.
6465 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
6466 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
6467 * tree-ssanames.c: Remove references to zone allocator in comments.
6469 2013-01-24 Georg-Johann Lay <avr@gjlay.de>
6471 * config/avr/avr.c (avr_out_fract): Make register numbers that
6472 might be outside of source operand signed.
6474 2013-01-24 Uros Bizjak <ubizjak@gmail.com>
6476 * config/i386/constraints.md (Yf): New constraint.
6477 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
6478 of f constraint to conditionaly disable x87 register preferences.
6479 (*movdf_internal): Ditto.
6480 (*movsf_internal): Ditto.
6482 2013-01-24 Steven Bosscher <steven@gcc.gnu.org>
6485 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
6486 that have operands with impossible constraints.
6487 Add a FIXME for a speed-up opportunity.
6488 * lra-constraints.c (process_alt_operands): Verify that a class
6489 selected from constraints on asms is valid for the operand mode.
6490 (curr_insn_transform): Remove incorrect comment.
6492 2013-01-23 David Edelsohn <dje.gcc@gmail.com>
6494 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
6495 TOC operand is a valid symbol ref in the constant pool.
6497 2013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6499 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
6501 2013-01-23 Georg-Johann Lay <avr@gjlay.de>
6504 * config/avr/stdfix.h: New file.
6505 * t-avr (stdfix-gcc.h): New rule to build it.
6506 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
6508 2013-01-23 Kostya Serebryany <kcc@google.com>
6510 * config/darwin.h: remove dependency on
6511 CoreFoundation (asan on Mac OS).
6513 2013-01-23 Jakub Jelinek <jakub@redhat.com>
6516 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
6517 instead of cmpdi_operand for first comparison operand.
6518 Don't assert that comparison operands aren't both constants.
6520 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
6522 * doc/install.texi (Downloading the Source): Update references to
6523 downloading separate components.
6525 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
6527 * doc/extend.texi (__int128): Improve grammar.
6529 2013-01-22 Uros Bizjak <ubizjak@gmail.com>
6532 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
6533 alternative to (o,r).
6534 (*movdi_internal_rex64): Remove (!o,n) alternative.
6535 (DImode immediate->memory splitter): Remove.
6536 (DImode immediate->memory peephole2): Remove.
6537 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
6538 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
6539 alternative to (!o,*r).
6540 (*movtf_internal_sse): New pattern.
6541 (*movxf_internal_rex64): New pattern.
6542 (*movxf_internal): Disable for TARGET_64BIT.
6543 (*movdf_internal_rex64): Remove (!o,F) alternative.
6545 2013-01-22 Jakub Jelinek <jakub@redhat.com>
6548 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
6549 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
6550 * tree-vect-loop-manip.c (find_loop_location): Also ignore
6551 stmt locations where LOCATION_LOCUS of the stmt location is
6552 UNKNOWN_LOCATION or BUILTINS_LOCATION.
6555 * config/i386/i386.md (UNSPEC_STOS): New.
6556 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
6557 *strsetqi_1): Add UNSPEC_STOS.
6559 2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
6562 * doc/invoke.texi: Remove left over -Wsynth example.
6564 2013-01-21 Jakub Jelinek <jakub@redhat.com>
6566 PR tree-optimization/56051
6567 * fold-const.c (fold_binary_loc): Don't fold
6568 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
6569 a narrowing conversion, or widening conversion from signed
6572 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
6574 PR rtl-optimization/56023
6575 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
6576 dependent on debug instruction.
6578 2013-01-21 Martin Jambor <mjambor@suse.cz>
6581 * function.c (allocate_struct_function): Call
6582 invoke_set_current_function_hook earlier.
6584 2013-01-21 Jakub Jelinek <jakub@redhat.com>
6586 * reload1.c (init_reload): Only initialize reload_obstack
6587 during the first call.
6589 2013-01-21 Marek Polacek <polacek@redhat.com>
6591 * cfgloop.c (verify_loop_structure): Fix up grammar.
6593 2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
6595 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
6596 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
6598 2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6601 * config/arm/marvell-pj4.md: Update copyright year.
6602 Fix up use of alu to alu_reg and simple_alu_imm.
6604 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
6606 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
6608 2013-01-20 Vladimir Makarov <vmakarov@redhat.com>
6611 * lra-constraints.c (curr_insn_transform): Don't reuse original
6612 insn for secondary memory move when memory mode should be different.
6614 2013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6616 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
6617 atomic_storedi_1): New patterns.
6619 2013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
6621 btver2 pipeline descriptions.
6622 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
6624 * config/i386/i386.md (btver2_decode): New type attributes.
6625 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
6627 * config/i386/btver2.md: New file describing btver2 pipelines.
6629 2013-01-19 Andrew Pinski <apinski@cavium.com>
6631 PR tree-optimization/52631
6632 * tree-ssa-sccvn (visit_use): Before looking up the original
6633 statement, try looking up the simplified expression.
6635 2013-01-19 Anthony Green <green@moxielogic.com>
6637 * config/moxie/moxie.c (moxie_expand_prologue): Set
6638 current_function_static_stack_size.
6640 2013-01-18 Jakub Jelinek <jakub@redhat.com>
6642 PR tree-optimization/56029
6643 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
6644 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
6646 2013-01-18 Sharad Singhai <singhai@google.com>
6648 PR tree-optimization/55995
6649 * dumpfile.c (dump_loc): Print location only if available.
6650 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
6652 2013-01-18 Vladimir Makarov <vmakarov@redhat.com>
6655 * lra-constraints.c (curr_insn_transform): Reuse original insn for
6656 secondary memory move.
6657 (inherit_reload_reg): Use rclass instead of cl for
6658 check_secondary_memory_needed_p.
6660 2013-01-18 Jakub Jelinek <jakub@redhat.com>
6663 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
6664 the case where writing real complex part of target modifies op1.
6666 2013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
6668 * config/aarch64/aarch64-simd.md
6669 (aarch64_vcond_internal<mode>): Handle unordered cases.
6670 * config/aarch64/iterators.md (v_cmp_result): New.
6672 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
6673 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6675 * config/arm/marvell-pj4.md: New file.
6676 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
6677 * config/arm/arm.md (generic_sched): Add marvell_pj4.
6678 (generic_vfp): Likewise.
6679 * config/arm/arm-cores.def: Add marvell-pj4.
6680 * config/arm/arm-tune.md: Regenerate.
6681 * config/arm/arm-tables.opt: Regenerate.
6682 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
6683 * doc/invoke.texi: Document marvell-pj4.
6685 2013-01-18 Tejas Belagod <tejas.belagod@arm.com>
6687 * config/aarch64/arm_neon.h: Map scalar types to standard types.
6689 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
6694 * var-tracking.c (negative_power_of_two_p): New.
6695 (global_get_addr_cache, local_get_addr_cache): New.
6696 (get_addr_from_global_cache, get_addr_from_local_cache): New.
6697 (vt_canonicalize_addr): Rewrite using the above. Adjust the
6699 (vt_stack_offset_p): Remove.
6700 (vt_canon_true_dep): Always canonicalize loc's address.
6701 (clobber_overlapping_mems): Make sure we have a MEM.
6702 (local_get_addr_clear_given_value): New.
6703 (val_reset): Clear local cached entries.
6704 (compute_bb_dataflow): Create and release the local cache.
6705 Disable duplicate MEMs clobbering.
6706 (emit_notes_in_bb): Clobber MEMs likewise.
6707 (vt_emit_notes): Create and release the local cache.
6708 (vt_initialize, vt_finalize): Create and release the global
6709 cache, respectively.
6710 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
6712 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
6715 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
6716 not found in the symtab.
6718 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
6721 PR rtl-optimization/55547
6722 PR rtl-optimization/53827
6725 * alias.c (offset_overlap_p): New, factored out of...
6726 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
6727 the conservative special case for symbolic constants. Don't
6728 adjust zero sizes on alignment.
6730 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
6732 PR rtl-optimization/52573
6733 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
6734 REG_UNUSED for the same register.
6736 2013-01-17 Richard Biener <rguenther@suse.de>
6737 Marek Polacek <polacek@redhat.com>
6739 PR rtl-optimization/55833
6740 * loop-unswitch.c (unswitch_loops): Move loop verification...
6741 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
6742 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
6743 Set it to true when we're removing a loop from hierarchy tree in
6744 an irreducible region.
6745 (fix_bb_placements): Adjust caller.
6746 (fix_loop_placements): Likewise.
6748 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
6750 * config/avr/builtins.def (DEF_BUILTIN): Factor out
6751 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
6752 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
6753 Remove ID. Adjust comments.
6754 * config/avr/avr-c.c (avr_builtin_name): Remove.
6755 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
6756 * config/avr/avr.c (avr_tolower): New static function.
6757 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
6758 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
6759 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
6762 2013-01-17 Jan Hubicka <jh@suse.cz>
6764 PR tree-optimization/55273
6765 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
6767 2013-01-17 Uros Bizjak <ubizjak@gmail.com>
6770 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
6771 store through atomic_store<mode>_1.
6772 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
6774 2013-01-17 Martin Jambor <mjambor@suse.cz>
6776 PR tree-optimizations/55264
6777 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
6778 for virtual methods.
6779 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
6780 virtual methods before inlining is over.
6781 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
6783 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
6786 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
6788 PR rtl-optimization/56005
6789 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
6790 pending reads for prefetch.
6792 2013-01-16 Ian Bolton <ian.bolton@arm.com>
6794 * config/aarch64/aarch64.md
6795 (*cstoresi_neg_uxtw): New pattern.
6796 (*cmovsi_insn_uxtw): New pattern.
6797 (*<optab>si3_uxtw): New pattern.
6798 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
6799 (*<optab>si3_insn_uxtw): New pattern.
6800 (*bswapsi2_uxtw): New pattern.
6802 2013-01-16 Richard Biener <rguenther@suse.de>
6804 * tree-inline.c (tree_function_versioning): Remove set but
6805 never used variable.
6807 2013-01-16 Richard Biener <rguenther@suse.de>
6809 PR tree-optimization/55964
6810 * tree-flow.h (rename_variables_in_loop): Remove.
6811 (rename_variables_in_bb): Likewise.
6812 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
6813 (copy_loop_before): Adjust and delete update-ssa status.
6814 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
6815 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
6816 (rename_variables_in_loop): Remove.
6817 (slpeel_update_phis_for_duplicate_loop): Likewise.
6818 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
6819 use available cfg machinery instead of duplicating it.
6820 Update PHI nodes and perform poor-mans SSA update here.
6821 (slpeel_tree_peel_loop_to_edge): Adjust.
6823 2013-01-16 Richard Biener <rguenther@suse.de>
6825 PR tree-optimization/54767
6826 PR tree-optimization/53465
6827 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
6828 (vrp_visit_phi_node): For PHI arguments coming via backedges
6829 drop all symbolical range information.
6830 (execute_vrp): Compute backedges.
6832 2013-01-16 Richard Biener <rguenther@suse.de>
6834 * doc/install.texi: Update CLooG and ISL requirements to
6837 2013-01-16 Christian Bruel <christian.bruel@st.com>
6840 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
6841 (broken_move): Handle UNSPECV_SP_SWITCH_B.
6842 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
6844 2013-01-16 DJ Delorie <dj@redhat.com>
6846 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
6847 (UNSPECV_SP_SWITCH_E): New.
6848 (sp_switch_1): Change to an unspec.
6849 (sp_switch_2): Change to an unspec. Don't use post-inc when we
6852 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
6854 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
6855 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
6856 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
6857 (expand_mem_thread_fence): Ditto.
6858 (expand_mem_signal_fence): Ditto.
6859 (expand_atomic_load): Ditto.
6860 (expand_atomic_store): Ditto.
6862 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
6864 PR rtl-optimization/55547
6865 PR rtl-optimization/53827
6868 * alias.c (memrefs_conflict_p): Set sizes to negative after
6871 2013-01-15 Jakub Jelinek <jakub@redhat.com>
6874 * function.c (thread_prologue_and_epilogue_insns): Always
6875 add crtl->drap_reg to set_up_by_prologue.set, even if
6876 stack_realign_drap is false.
6878 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6880 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
6881 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
6882 *call): Fix indention.
6884 2013-01-15 Tom de Vries <tom@codesourcery.com>
6887 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
6890 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
6892 PR rtl-optimization/55153
6893 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
6895 2013-01-15 Martin Jambor <mjambor@suse.cz>
6897 PR tree-optimization/55920
6898 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
6899 accesses as grp_to_be_debug_replaced.
6901 2013-01-15 Jakub Jelinek <jakub@redhat.com>
6903 PR tree-optimization/55920
6904 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
6905 there is non-useless type conversion needed from debug rhs to lhs,
6906 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
6908 2013-01-15 Joseph Myers <joseph@codesourcery.com>
6909 Mikael Pettersson <mikpe@it.uu.se>
6912 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
6914 (ASM_OUTPUT_CASE_LABEL): Remove.
6915 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
6916 * final.c (shorten_branches): Update alignment of labels before
6917 jump tables if CASE_VECTOR_SHORTEN_MODE.
6919 2013-01-15 Richard Biener <rguenther@suse.de>
6922 * system.h: Do not include gmp.h for building host tools.
6924 2013-01-15 Richard Biener <rguenther@suse.de>
6927 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
6928 account for bitpos when computing alignment.
6930 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
6932 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
6933 (ix86_target_macros_internal): Likewise.
6935 * config/i386/i386.c (m_CORE2I7): Removed.
6936 (m_CORE_HASWELL): New macro.
6937 (m_CORE_ALL): Likewise.
6938 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
6939 (initial_ix86_arch_features): Likewise.
6940 (processor_target_table): Initializations for Core avx2.
6941 (cpu_names): New names "core-avx2".
6942 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
6943 PROCESSOR_CORE_HASWELL.
6944 (ix86_issue_rate): New case.
6945 (ia32_multipass_dfa_lookahead): Likewise.
6946 (ix86_sched_init_global): Likewise.
6948 * config/i386/i386.h (TARGET_HASWELL): New macro.
6949 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
6950 (processor_type): New PROCESSOR_HASWELL.
6952 2013-01-15 Jakub Jelinek <jakub@redhat.com>
6954 PR tree-optimization/55955
6955 * tree-vect-loop.c (vectorizable_reduction): Give up early on
6956 *SHIFT_EXPR and *ROTATE_EXPR codes.
6958 PR tree-optimization/48766
6959 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
6960 -ftrapv disable -fwrapv.
6962 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
6965 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
6966 etc. to 1 and not to __flash.
6967 Use LL suffix for __INT24_MAX__ with -mint8.
6968 Use ULL suffix for __UINT24_MAX__ with -mint8.
6970 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
6972 * config/avr/avr-arch.h
6973 (struct base_arch_s): Use typedef avr_arch_t instead.
6974 (struct arch_info_s): Use typedef avr_arch_info_t instead.
6975 (struct mcu_type_s): Use typedef avr_mcu_t instead.
6976 * config/avr/avr.c: Same.
6977 * config/avr/avr-devices.c: Same.
6978 * config/avr/driver-avr.c: Same.
6979 * config/avr/gen-avr-mmcu-texi.c: Same.
6980 * config/avr/avr-mcus.def: Adjust comment.
6982 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
6984 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
6985 * config/aarch64/iterators.md (VALLDI): New.
6987 2013-01-14 Uros Bizjak <ubizjak@gmail.com>
6988 Andi Kleen <ak@linux.intel.com>
6991 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
6992 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
6995 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
6997 * config/avr/avr-stdint.h: Remove trailing blanks.
6998 * config/avr/avr-log.h: Same.
6999 * config/avr/avr-arch.h: Same.
7000 * config/avr/avr-devices.c: Same.
7001 * config/avr/avr-dimode.md: Same.
7002 * config/avr/predicates.md: Same.
7003 * config/avr/avr-c.c: Same. And fix typo.
7005 * config/avr/avr-protos.h: Same. And:
7006 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
7007 (init_cumulative_args): Rename to avr_init_cumulative_args.
7008 (expand_prologue): Rename to avr_expand_prologue.
7009 (expand_epilogue): Rename to avr_expand_epilogue.
7010 (adjust_insn_length): Rename to avr_adjust_insn_length.
7011 (notice_update_cc): Rename to avr_notice_update_cc.
7012 (final_prescan_insn): Rename to avr_final_prescan_insn.
7013 * config/avr/avr.c: Same.
7014 * config/avr/avr.h: Same.
7015 * config/avr/avr.md: Remove trailing blanks.
7016 (prologue): Use avr_expand_prologue.
7017 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
7019 2013-01-14 Richard Biener <rguenther@suse.de>
7021 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
7022 verify_location, collect_subblocks): New functions.
7023 (verify_gimple_in_cfg): Verify that locations only reference
7024 BLOCKs in the functions BLOCK tree.
7026 2013-01-14 Richard Biener <rguenther@suse.de>
7028 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
7030 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
7032 (insert_out_of_ssa_copy_on_edge): Likewise.
7033 (rewrite_close_phi_out_of_ssa): Likewise.
7034 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
7036 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
7037 propagated constants.
7038 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
7041 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
7043 * config/avr/avr-modes.def: Add GPL copyright notice.
7045 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
7047 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
7048 MEMMODEL_MASK to determine memory model.
7049 (atomic_store<mode>): Ditto from operands[2].
7050 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
7052 2013-01-13 Jakub Jelinek <jakub@redhat.com>
7055 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
7056 (fold_gimple_assign): Don't call unshare_expr here.
7057 (fold_ctor_reference): Call unshare_expr.
7059 2013-01-13 Terry Guo <terry.guo@arm.com>
7061 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
7062 * doc/fragments.texi: Document MULTILIB_REUSE.
7063 * gcc.c (multilib_reuse): New internal spec.
7064 (set_multilib_dir): Also search multilib from multilib_reuse.
7065 * genmultilib (tmpmultilib3): Refactor code.
7066 (tmpmultilib4): Ditto.
7067 (multilib_reuse): New multilib argument.
7069 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
7071 * Makefile.in: Update copyright.
7073 2013-01-12 Tom de Vries <tom@codesourcery.com>
7076 * calls.c (expand_call): Check if arg_nr is valid.
7078 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7080 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
7081 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
7082 documentation. Add missing '__' in front of
7083 __builtin_ia32_packssdw256.
7085 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7088 * config/s390/s390.c (s390_preferred_reload_class): Do not return
7089 NO_REGS for larl operands.
7090 (s390_reload_larl_operand): Use s390_load_address instead of
7093 2013-01-11 Richard Biener <rguenther@suse.de>
7095 * tree-cfg.c (verify_node_sharing_1): Split out from ...
7096 (verify_node_sharing): ... here.
7097 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
7099 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
7101 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
7102 Substitute TREECHECKING.
7103 * configure: Regenerate.
7104 * Makefile.in (TREECHECKING): New.
7106 2013-01-11 Richard Guenther <rguenther@suse.de>
7108 PR tree-optimization/44061
7109 * tree-vrp.c (extract_range_basic): Compute zero as
7110 value-range for __builtin_constant_p of function parameters.
7112 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
7114 Update copyright years.
7116 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
7118 PR rtl-optimization/55672
7119 * lra-eliminations.c (mark_not_eliminable): Permit addition with
7120 const to be eliminable.
7122 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
7124 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
7125 * configure: Regenerate.
7127 2013-01-10 Richard Biener <rguenther@suse.de>
7129 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
7131 2013-01-10 Richard Biener <rguenther@suse.de>
7134 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
7135 locations for virtual PHI arguments.
7136 (rewrite_update_phi_arguments): Likewise.
7138 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
7140 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
7143 2013-01-10 Jakub Jelinek <jakub@redhat.com>
7145 PR tree-optimization/55921
7146 * tree-complex.c (expand_complex_asm): New function.
7147 (expand_complex_operations_1): Call it for GIMPLE_ASM.
7149 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7152 * config/s390/s390.c (s390_symref_operand_p)
7153 (s390_loadrelative_operand_p): Merge the two functions.
7154 (s390_check_qrst_address, print_operand_address): Add parameters
7155 to s390_loadrelative_operand_p invokation.
7156 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
7157 (s390_reload_larl_operand, s390_secondary_reload): Use
7158 s390_loadrelative_operand_p instead of s390_symref_operand_p.
7159 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
7161 2013-01-09 Mike Stump <mikestump@comcast.net>
7163 * dse.c (record_store): Remove unnecessary assert.
7165 2013-01-09 Jan Hubicka <jh@suse.cz>
7167 PR tree-optimization/55569
7168 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
7169 * cfgloop.h (scale_loop_profile): Likewise.
7171 2013-01-09 Jan Hubicka <jh@suse.cz>
7174 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
7176 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
7178 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
7181 * expr.h (maybe_emit_group_store): Declare.
7182 * expr.c (maybe_emit_group_store): New function.
7183 * builtins.c (expand_builtin_int_roundingfn): Call it.
7184 (expand_builtin_int_roundingfn_2): Likewise.
7186 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
7188 PR rtl-optimization/55829
7189 * lra-constraints.c (match_reload): Add code for absent output.
7190 (curr_insn_transform): Add code for reloads of matched inputs
7193 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
7195 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
7196 attribute of movddup insn to DF.
7197 (*vec_interleave_lowv2df): Ditto.
7198 (vec_dupv2df): Ditto.
7200 2013-01-09 Jan Hubicka <jh@suse.cz>
7202 PR tree-optimiation/55875
7203 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
7204 EVERY_ITERATION parameter.
7205 (number_of_iterations_exit): Check if exit is executed every iteration.
7206 (idx_infer_loop_bounds): Similarly here.
7207 (n_of_executions_at_most): Simplify
7208 to only test for cases where statement is dominated by the
7209 particular bound; handle correctly the "postdominance" test.
7210 (scev_probably_wraps_p): Use max loop iterations info
7211 as a global bound first.
7213 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
7214 Nick Clifton <nickc@redhat.com>
7216 * config/v850/v850.md (cbranchsf4): New pattern.
7217 (cstoresf4): New pattern.
7218 (cbranchdf4): New pattern.
7219 (cstoredf4): New pattern.
7220 (movsicc): Disallow floating point comparisons.
7221 (cmpsf_le_insn): Fix order of operators.
7222 (cmpsf_lt_insn): Likewise.
7223 (cmpsf_eq_insn): Likewise.
7224 (cmpdf_le_insn): Likewise.
7225 (cmpdf_lt_insn): Likewise.
7226 (cmpdf_eq_insn): Likewise.
7227 (cmpsf_ge_insn): Use LE comparison.
7228 (cmpdf_ge_insn): Likewise.
7229 (cmpsf_gt_insn): Use LT comparison.
7230 (cmpdf_gt_insn): Likewise.
7231 (cmpsf_ne_insn): Delete pattern.
7232 (cmpdf_ne_insn): Delete pattern.
7233 * config/v850/v850.c (v850_gen_float_compare): Use
7234 gen_cmpdf_eq_insn for NE comparison.
7235 (v850_float_z_comparison_operator)
7236 (v850_float_nz_comparison_operator): Move from here ...
7237 * config/v850/predicates.md: ... to here. Move GT and GE
7238 comparisons into v850_float_z_comparison_operator.
7239 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
7241 (v850_float_nz_comparison_operator): Likewise.
7243 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7245 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
7246 with calls to gen_insvsi/gen_insvdi.
7248 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7250 * config/i386/i386.c (initial_ix86_tune_features): Set up
7251 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
7253 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
7254 Jakub Jelinek <jakub@redhat.com>
7256 PR tree-optimization/48189
7257 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
7258 If nitercst is 0, don't predict the exit edge.
7260 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
7262 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
7263 in asm_fprintf with reg_names.
7264 (aarch64_print_operand_address): Likewise.
7265 (aarch64_return_addr): Likewise.
7266 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
7268 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7270 * config/pa/pa.h (VAL_U6_BITS_P): Define.
7271 (INT_U6_BITS): Likewise.
7272 * config/pa/predicates.md (uint6_operand): New predicate.
7273 (shift5_operand, shift6_operand): Likewise.
7274 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
7276 (lshrdi3): Use shift6_operand.
7277 (shrpsi4, shrpdi4): New insn patterns.
7278 (extzv): Delete expander.
7279 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
7280 predicates in unamed zero extract patterns. Tighten common constraint.
7281 (extv): Delete expander.
7282 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
7283 predicates in unamed sign extract patterns. Tighten common constraint.
7284 (insv): Delete expander.
7285 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
7286 predicates in unamed insert patterns. Tighten common constraint.
7287 Change uint32_operand predicate to uint6_operand predicate in unamed
7288 DImode pattern to insert constant values of type 1...1xxxx.
7290 2013-01-04 Jan Hubicka <jh@suse.cz>
7292 PR tree-optimization/55823
7293 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
7296 2013-01-08 Jakub Jelinek <jakub@redhat.com>
7297 Uros Bizjak <ubizjak@gmail.com>
7299 PR rtl-optimization/55845
7300 * df-problems.c (can_move_insns_across): Stop scanning at
7301 volatile_insn_p source instruction or give up if
7302 across_from .. across_to range contains any volatile_insn_p
7305 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
7307 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
7308 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
7310 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7311 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
7313 2013-01-08 Jakub Jelinek <jakub@redhat.com>
7316 * asan.c (asan_clear_shadow): New function.
7317 (asan_emit_stack_protection): Use it.
7319 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
7321 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
7322 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
7323 with tab instead of space.
7325 2013-01-08 Nick Clifton <nickc@redhat.com>
7327 * config/rl78/rl78.c (rl78_expand_prologue): Always select
7328 register bank 0 at the start of an interrupt handler.
7329 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
7332 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
7334 * config/aarch64/aarch64-simd.md
7335 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
7336 (aarch64_simd_bsl): Likewise.
7337 (aarch64_vcond_internal<mode>): Likewise.
7338 (vcond<mode><mode>): Likewise.
7339 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
7340 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
7342 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
7344 * config/aarch64/aarch64-builtins.c
7345 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
7347 2013-01-08 Martin Jambor <mjambor@suse.cz>
7350 * tree-sra.c (analyze_access_subtree): Return true also after
7351 potentially creating a debug-only replacement.
7353 2013-01-08 Jakub Jelinek <jakub@redhat.com>
7356 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
7358 PR tree-optimization/54120
7359 * tree-vrp.c (range_fits_type_p): Don't allow
7360 src_precision < precision from signed vr to unsigned_p
7361 if vr->min or vr->max is negative.
7362 (simplify_float_conversion_using_ranges): Test can_float_p
7363 against CODE_FOR_nothing.
7365 2013-01-08 Jakub Jelinek <jakub@redhat.com>
7366 Richard Biener <rguenther@suse.de>
7369 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
7370 types instead of just INTEGER_TYPE types.
7372 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
7374 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
7377 2013-01-07 Steve Ellcey <sellcey@mips.com>
7380 * config/mips/mips.opt: Change mad to mmad to match documentation.
7382 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
7385 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
7388 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
7391 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
7392 (avr_addrspace_t): Add .section_name field.
7393 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
7395 (avr_addrspace): Same. Initialize .section_name. Remove last
7396 NULL entry. Put __memx into .progmemx.data.
7397 (progmem_section_prefix): Remove.
7398 (avr_asm_init_sections): No need to initialize progmem_section.
7399 (avr_asm_named_section): Use avr_addrspace[].section_name to get
7400 section name prefix.
7401 (avr_asm_select_section): Ditto. And use get_unnamed_section to
7402 retrieve the progmem section.
7403 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
7404 boundary to run over avr_addrspace[].
7405 (avr_register_target_pragmas): Ditto.
7407 2013-01-06 Jakub Jelinek <jakub@redhat.com>
7409 * varasm.c (output_constant_def_contents): For asan_protect_global
7410 protected strings, adjust DECL_ALIGN if needed, before testing for
7412 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
7413 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
7415 (output_object_block): For asan protected decls, emit asan padding
7416 after their contents.
7417 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
7418 (asan_finish_file): Test it here instead.
7420 2013-01-07 Nick Clifton <nickc@redhat.com>
7421 Matthias Klose <doko@debian.org>
7422 Doug Kwan <dougkwan@google.com>
7423 H.J. Lu <hongjiu.lu@intel.com>
7426 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
7428 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
7430 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
7432 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
7434 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
7436 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
7439 * doc/install.texi (Cross-Compiler-Specific Options): Document
7442 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
7444 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
7445 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
7446 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
7447 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
7448 vqmovun_high_s64): Fix source operand number and update copyright.
7450 2013-01-07 Richard Biener <rguenther@suse.de>
7453 * gimple.h (gimple_call_builtin_p): New overload.
7454 * gimple.c (validate_call): New function.
7455 (gimple_call_builtin_p): Likewise.
7456 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7457 Use gimple_call_builtin_p.
7458 (find_func_clobbers): Likewise.
7459 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
7460 (strlen_optimize_stmt): Likewise.
7462 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
7464 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
7465 (vld1q_dup_*): Likewise.
7467 (vld1q_*): Likewise.
7468 (vld1_lane_*): Likewise.
7469 (vld1q_lane_*): Likewise.
7471 2013-01-07 Richard Biener <rguenther@suse.de>
7473 * lto-streamer.h (LTO_minor_version): Bump to 2.
7475 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
7477 * config/aarch64/aarch64-protos.h
7478 (aarch64_const_double_zero_rtx_p): Rename to...
7479 (aarch64_float_const_zero_rtx_p): ...this.
7480 (aarch64_float_const_representable_p): New.
7481 (aarch64_output_simd_mov_immediate): Likewise.
7482 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
7483 move immediate case.
7484 * config/aarch64/aarch64.c
7485 (aarch64_const_double_zero_rtx_p): Rename to...
7486 (aarch64_float_const_zero_rtx_p): ...this.
7487 (aarch64_print_operand): Allow printing of new constants.
7488 (aarch64_valid_floating_const): New.
7489 (aarch64_legitimate_constant_p): Check for valid floating-point
7491 (aarch64_simd_valid_immediate): Likewise.
7492 (aarch64_vect_float_const_representable_p): New.
7493 (aarch64_float_const_representable_p): Likewise.
7494 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
7495 (aarch64_output_simd_mov_immediate): New.
7496 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
7497 (*movdf_aarch64): Likewise.
7498 * config/aarch64/constraints.md (Ufc): New.
7499 (Y): call aarch64_float_const_zero_rtx.
7500 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
7502 2013-01-07 Richard Biener <rguenther@suse.de>
7504 PR tree-optimization/55888
7505 PR tree-optimization/55862
7506 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
7507 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
7508 not if it is contained therein.
7510 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
7512 * config/avr/t-avr: Typo.
7514 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
7517 * config/avr/t-avr: Don't automatically rebuild
7518 $(srcdir)/config/avr/t-multilib
7519 $(srcdir)/config/avr/avr-tables.opt
7520 $(srcdir)/doc/avr-mmcu.texi
7521 (avr-mcus): New phony target to build them on request.
7522 (s-avr-mlib, s-avr-mmcu-texi): Remove.
7523 * avr/avr-mcus.def: Adjust comments.
7525 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
7527 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
7529 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
7531 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
7533 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
7535 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
7537 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
7539 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
7540 to generate profiling.
7541 * config/rs6000/aix64.h (LIB_SPEC): Same.
7543 2013-01-04 Andrew Pinski <apinski@cavium.com>
7545 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
7547 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
7549 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
7551 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
7553 (ix86_expand_move): Ditto.
7554 (ix86_zero_extend_to_Pmode): Ditto.
7555 (ix86_expand_call): Ditto.
7556 (ix86_expand_special_args_builtin): Ditto.
7557 (ix86_expand_builtin): Ditto.
7559 2013-01-04 Richard Biener <rguenther@suse.de>
7561 PR tree-optimization/55862
7562 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
7563 translating them through PHI nodes.
7565 2013-01-04 Martin Jambor <mjambor@suse.cz>
7567 PR tree-optimization/55755
7568 * tree-sra.c (sra_modify_assign): Do not check that an access has no
7569 children when trying to avoid producing a VIEW_CONVERT_EXPR.
7571 2013-01-04 Marek Polacek <polacek@redhat.com>
7574 * opts.c (default_options_optimization): Clarify error message.
7576 2013-01-04 Richard Biener <rguenther@suse.de>
7579 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
7582 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7585 * config/pa/pa.md (movsi): Revert previous change.
7586 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
7589 2013-01-03 Richard Henderson <rth@redhat.com>
7591 * config/i386/i386.c (ix86_expand_move): Always assign to op1
7592 after eliminating TLS symbols.
7594 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
7597 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
7598 * graphite-poly.c (debug_gmp_value): Likewise.
7600 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
7603 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
7604 selected code model, define __code_mode_small__, __code_model_medium__,
7605 __code_model_large__, __code_model_32__ or __code_model_kernel__.
7606 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
7607 xchg temporary register with %k. Declare temporary register as
7609 [__x86_64__]: For medium and large code models, preserve %rbx register.
7611 2013-01-03 Richard Biener <rguenther@suse.de>
7613 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
7614 (dump_subscript): Adjust.
7615 (finalize_ddr_dependent): Do not dump redundant info.
7616 (analyze_siv_subscript): Adjust.
7617 (subscript_dependence_tester): Likewise.
7618 (compute_affine_dependence): Likewise.
7620 2013-01-03 Richard Biener <rguenther@suse.de>
7623 2013-01-03 Richard Biener <rguenther@suse.de>
7625 PR tree-optimization/55857
7626 * tree-vect-stmts.c (vectorizable_load): Do not setup
7627 re-alignment for invariant loads.
7629 2013-01-02 Richard Biener <rguenther@suse.de>
7631 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
7632 invariant load do not generate a vector load from the scalar location.
7634 2013-01-03 Richard Biener <rguenther@suse.de>
7636 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
7637 for not vectorizing.
7638 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
7639 not build INDIRECT_REFs, call get_name once only.
7640 (vect_create_data_ref_ptr): Likewise. Dump base object kind
7641 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
7643 2013-01-03 Richard Biener <rguenther@suse.de>
7645 PR tree-optimization/55857
7646 * tree-vect-stmts.c (vectorizable_load): Do not setup
7647 re-alignment for invariant loads.
7649 2013-01-03 Richard Biener <rguenther@suse.de>
7652 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
7653 prefer a built-in decl.
7655 2013-01-03 Jakub Jelinek <jakub@redhat.com>
7657 * gcc.c (process_command): Update copyright notice dates.
7658 * gcov.c (print_version): Likewise.
7659 * gcov-dump.c (print_version): Likewise.
7661 PR rtl-optimization/55838
7662 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
7663 iv0.step, iv1.step and step.
7665 2013-01-03 Jakub Jelinek <jakub@redhat.com>
7666 Marc Glisse <marc.glisse@inria.fr>
7668 PR tree-optimization/55832
7669 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
7670 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
7671 integer_{one,zero}_node.
7673 2013-01-03 Jakub Jelinek <jakub@redhat.com>
7676 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
7677 * var-tracking.c (reverse_op): Don't add reverse ops to
7678 VALUEs that have already
7679 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
7681 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
7683 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
7685 2013-01-02 Teresa Johnson <tejohnson@google.com>
7687 * dumpfile.c (dump_loc): Print filename with location.
7688 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
7689 new location_t parameter to emit complete unroll message with
7691 (canonicalize_loop_induction_variables): Compute loops location
7692 and pass to try_unroll_loop_completely.
7693 * loop-unroll.c (report_unroll_peel): New function.
7694 (peel_loops_completely): Use new dump format with location
7695 for main dumpfile message, and invoke report_unroll_peel on success.
7696 (decide_unrolling_and_peeling): Ditto.
7697 (decide_peel_once_rolling): Remove old dumpfile message subsumed
7698 by report_unroll_peel.
7699 (decide_peel_completely): Ditto.
7700 (decide_unroll_constant_iterations): Ditto.
7701 (decide_unroll_runtime_iterations): Ditto.
7702 (decide_peel_simple): Ditto.
7703 (decide_unroll_stupid): Ditto.
7704 * cfgloop.c (get_loop_location): New function.
7705 * cfgloop.h (get_loop_location): Declare.
7707 2013-01-02 Sriraman Tallam <tmsriram@google.com>
7709 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
7712 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7715 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
7716 BLKmode objects when EXPAND_MEMORY is specified.
7718 2013-01-02 Sriraman Tallam <tmsriram@google.com>
7720 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
7722 (fold_builtin_cpu): Do not share cpu model decls across statements.
7724 2013-01-02 Jason Merrill <jason@redhat.com>
7727 * tree.c (build_array_type_1): Revert earlier change.
7729 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
7731 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
7733 * config/aarch64/aarch64-tune.md: Re-generate.
7735 2013-01-02 Richard Biener <rguenther@suse.de>
7737 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
7738 invariant load do not generate a vector load from the scalar location.
7740 2013-01-02 Richard Biener <rguenther@suse.de>
7743 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
7744 * configure: Regenerate.
7746 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7748 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
7749 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
7750 (expand_builtin_int_roundingfn_2): Keep the original target around
7751 for the fallback case.
7753 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7755 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
7756 to be clear for sign changes.
7758 2013-01-01 Jan Hubicka <jh@suse.cz>
7760 * ipa-inline-analysis.c: Fix formatting.
7762 2013-01-01 Jakub Jelinek <jakub@redhat.com>
7764 PR tree-optimization/55831
7765 * tree-vect-loop.c (get_initial_def_for_induction): Use
7766 gsi_after_labels instead of gsi_start_bb.
7768 Copyright (C) 2013 Free Software Foundation, Inc.
7770 Copying and distribution of this file, with or without modification,
7771 are permitted in any medium without royalty provided the copyright
7772 notice and this notice are preserved.