2013-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
blob6fb40c94840fb568d4bf93fd1e0866f54d7884cd
1 2013-03-08  Richard Biener  <rguenther@suse.de>
3         PR tree-optimization/56570
4         * tree-cfg.c (verify_expr_location_1): Verify locations for
5         DECL_DEBUG_EXPR.
6         * tree-sra.c (create_access_replacement): Strip locations
7         from DECL_DEBUG_EXPRs.
9 2013-03-08  Richard Biener  <rguenther@suse.de>
11         * tree-inline.c (expand_call_inline): Do not associate
12         a BLOCK with the location in BLOCK_SOURCE_LOCATION.
13         * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
15 2013-03-08  Richard Biener  <rguenther@suse.de>
17         * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
18         or block changes with -Og.  Fix for location / block encoding
19         changes and PHI arguments with locations.
21 2013-03-07  Steven Bosscher  <steven@gcc.gnu.org>
23         * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
24         for all counters.
25         (struct output_info): Likewise.
26         (register_overhead): Remove bad gcc_assert.
27         (bitmap_find_bit): If there is only a single bitmap element, do not
28         count a miss as a search.
29         (print_statistics): Update for counter type changes.
30         (dump_bitmap_statistics): Likewise.  Print headers such that they
31         are properly lined up with the printed counters.
33 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
35         PR tree-optimization/56559
36         * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
37         check that it has only a single use.
39 2013-03-07  Richard Biener  <rguenther@suse.de>
41         * doc/invoke.texi (fwhole-program): Discourage use in combination
42         with -flto.
44 2013-03-06  Jakub Jelinek  <jakub@redhat.com>
46         * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
48         PR tree-optimization/56539
49         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
50         instead of GSI_CONTINUE_LINKING as last argument to
51         force_gimple_operand_gsi.  Adjust function comment.
53         * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
54         aarch64-cores.def.
56         PR middle-end/56548
57         * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
58         promoted mode, convert the result back to the original mode.
60 2013-03-06  Richard Biener  <rguenther@suse.de>
62         PR middle-end/56294
63         * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
64         (insert_updated_phi_nodes_compare_uids): New function.
65         (update_ssa): Sort symbols_to_rename after UID before
66         traversing it to insert PHI nodes.
68 2013-03-06  Richard Biener  <rguenther@suse.de>
70         PR middle-end/50494
71         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
72         Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
74         Revert
75         2013-02-13  Richard Biener  <rguenther@suse.de>
77         PR lto/50494
78         * varasm.c (output_constant_def_1): Get the decl representing
79         the constant as argument.
80         (output_constant_def): Wrap output_constant_def_1.
81         (make_decl_rtl): Use output_constant_def_1 with the decl
82         representing the constant.
83         (build_constant_desc): Optionally re-use a decl already
84         representing the constant.
85         (tree_output_constant_def): Adjust.
87 2013-03-06  Joey Ye  <joey.ye@arm.com>
89         PR lto/50293
90         * gcc.c (convert_white_space): New function.
91         (main): Handles white space in function name.
93 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
95         PR target/56529
96         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
97         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
98         to SH_DIV_CALL_TABLE for TARGET_SH2.
99         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
100         list.
101         * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
102         call-table options.
104 2013-03-05  Sterling Augustine  <saugustine@google.com>
105             Cary Coutant  <ccoutant@google.com>
107         PR debug/55364
108         * dwarf2out.c (resolve_addr): Don't call
109         remove_loc_list_addr_table_entries a second time for the same
110         expression.
112 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
114         PR debug/56510
115         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
116         (avoid_complex_debug_insns): New function.
117         (expand_debug_locations): Call it.
119         PR rtl-optimization/56484
120         * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
121         lifetimes of hard registers on small register class machines.
123 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
125         * config/microblaze/microblaze-protos.h: Rename
126         microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
127         * config/microblaze/microblaze.c (microblaze_attribute_table): Add
128         fast_interrupt.
129         (microblaze_fast_interrupt_function_p): New function.
130         (microblaze_is_interrupt_handler): Rename to
131         microblaze_is_interrupt_variant and add fast_interrupt check.
132         (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
133         (save_restore_insns): Likewise.
134         (compute_frame_size): Likewise.
135         (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
136         (microblaze_globalize_label): Likewise.
137         * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
138         * config/microblaze/microblaze.md: Use wrapper
139         microblaze_is_interrupt_variant.
141 2013-03-05  Kai Tietz  <ktietz@redhat.com>
143         * sdbout.c (sdbout_one_type): Switch to current function's section
144         supporting cold/hot.
146 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
148         * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
149         -mxl-reorder.
151 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
153         PR middle-end/56461
154         * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
155         if VALGRIND_GET_VBITS is defined, temporarily make object
156         memory all defined, and restore previous valgrind addressability
157         and definability afterwards.  Free this_object at the end.
159         PR middle-end/56461
160         * lra.c (lra): Call lra_clear_live_ranges if live_p,
161         right before calling lra_create_live_ranges, also call it
162         when clearing live_p.  Only call lra_clear_live_ranges
163         at the end if live_p.
165         PR middle-end/56461
166         * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
168 2013-03-05  Richard Biener  <rguenther@suse.de>
170         PR tree-optimization/56521
171         * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
172         value-id.
174 2013-03-05  Steven Bosscher  <steven@gcc.gnu.org>
176         PR c++/55135
177         * except.h (remove_unreachable_eh_regions): New prototype.
178         * except.c (remove_eh_handler_splicer): New function, split out
179         of remove_eh_handler.
180         (remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
181         warning about running it on many EH regions one at a time.
182         (remove_unreachable_eh_regions_worker): New function, walk the
183         EH tree in depth-first order and remove non-marked regions.
184         (remove_unreachable_eh_regions): New function.
185         * tree-eh.c (mark_reachable_handlers): New function, split out
186         from remove_unreachable_handlers.
187         (remove_unreachable_handlers): Use mark_reachable_handlers and
188         remove_unreachable_eh_regions.
189         (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
190         and remove_unreachable_eh_regions.
192 2013-03-05  Richard Biener  <rguenther@suse.de>
194         PR middle-end/56525
195         * loop-init.c (fix_loop_structure): Remove loops in two stages,
196         not freeing them until the end.
198 2013-03-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
200         * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
202 2013-03-05  Richard Biener  <rguenther@suse.de>
204         PR tree-optimization/56270
205         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
206         of loads after scheduling an SLP instance.
208 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
210         * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
211         tic6x.exp.
212         (check_gcc_parallelize): Run guality.exp as a separate job from
213         vect.exp with unsorted.exp and $(dg_target_exps) separately from
214         struct-layout-1.exp with stackalign.exp.
216         * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
218         PR middle-end/56461
219         * tree-vect-slp.c (vect_supported_load_permutation_p): Free
220         load_index sbitmap even if some bit in it isn't set.
222         PR middle-end/56461
223         * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
224         (discover_iteration_bound_by_body_walk): Change queues to
225         vec<vec<basic_block> > and queue to vec<basic_block>.  Fix up
226         spelling in comment.  Call safe_push on queues[bound_index] directly.
227         Release queues[queue_index] in every iteration unconditionally.
228         Release bounds vector.
230         PR middle-end/56461
231         * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
232         free_stmt_vec_info on any left-over stmt_vec_info in the vector.
233         * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
234         inner_phis vector.
236 2013-03-05  Richard Biener  <rguenther@suse.de>
238         PR lto/56515
239         * tree-inline.c (remap_blocks_to_null): New function.
240         (expand_call_inline): When expanding a call stmt without
241         an associated block inline remap all callee blocks to NULL.
243 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
245         PR rtl-optimization/56494
246         * simplify-rtx.c (simplify_truncation): If C is narrower than A,
247         optimize (truncate:A (subreg:B (truncate:C X) 0)) into
248         (subreg:A (truncate:C X) 0) instead of (truncate:A X).
250         PR middle-end/56461
251         * sel-sched-ir.c (free_sched_pools): Release
252         succs_info_pool.stack[succs_info_pool.max_top] vectors too
253         if succs_info_pool.max_top isn't -1.
255         PR bootstrap/56509
256         * opts.c (opts_obstack, opts_concat): Moved to...
257         * opts-common.c (opts_obstack, opts_concat): ... here.
259 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
261         PR middle-end/56461
262         * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
264 2013-03-04  Martin Jambor  <mjambor@suse.cz>
266         * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
267         all appropriate places.
269 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
271         PR tree-optimization/56424
272         * ipa-split.c (split_function): Do not set the RSO flag if result is
273         not by reference and its type is a register type.
275 2013-03-04  David Holsgrove  <david.holsgrove@xilinx.com>
277         * config/microblaze/microblaze.c (microblaze_valid_pic_const): New 
278         (microblaze_legitimate_pic_operand): Likewise
279         * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls 
280         new function microblaze_legitimate_pic_operand
281         * config/microblaze/microblaze-protos.h
282         (microblaze_legitimate_pic_operand): Declare.
284 2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
286         * config/microblaze/predicates.md (call_insn_simple_operand):
287         New predicate for supported rtx code types.
288         * config/microblaze/microblaze.md (call_internal1): Use
289         call_insn_simple_operand predicate.
291 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
293         PR middle-end/56461
294         * tree-loop-distribution.c (ldist_gen): Call partition_free after each
295         partitions.ordered_remove.
297         PR middle-end/56461
298         * tree-vect-stmts.c (vectorizable_conversion): Don't call
299         vec_oprnds0.create (1) for modifier == NONE.
301         PR middle-end/56461
302         * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
303         on vec_oprnds0 or vec_oprnds1 before loop, only call it on
304         vec_oprnds1 right before pushing anything to it for
305         scalar_shift_arg.
307         PR middle-end/56461
308         * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
309         set nbbs to 0 instead of having separate code path.
310         (vect_analyze_loop_form): Call destroy_loop_vec_info with true
311         instead of false as last argument if returning NULL.
313 2013-03-03  Sandra Loosemore  <sandra@codesourcery.com>
315         * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
316         the attribute is now called "target" instead of "option".
317         (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
318         * doc/tm.texi.in (Target Attributes):  Likewise document the correct
319         attribute/pragma name for TARGET_OPTION_VALID_P and
320         TARGET_OPTION_PRAGMA_PARSE.  Also copy-edit and correct markup.
321         * doc/tm.texi: Regenerated.
323 2013-03-02  David Holsgrove  <david.holsgrove@xilinx.com>
325         * config/microblaze/microblaze.c:
326         Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
327         * config/microblaze/microblaze.h: Add -mxl-reorder to
328         DRIVER_SELF_SPECS.
329         * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
330         instructions emitted if TARGET_REORDER.
331         * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1 
332         or 0 for -m/-mno case, but initialises as 2 to detect default use case 
333         separately.
335 2013-03-01  Xinliang David Li  <davidxl@google.com>
337         * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
338         walk length.
340 2013-03-01  Jakub Jelinek  <jakub@redhat.com>
342         PR middle-end/56461
343         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
344         vector even when returning true.  Fix up function comment formatting.
346         PR middle-end/56461
347         * ira-build.c (ira_loop_nodes_count): New variable.
348         (create_loop_tree_nodes): Initialize it.
349         (finish_loop_tree_nodes): Use it instead of looking at current_loops.
351         PR middle-end/56461
352         * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
353         method on dr_chain and result_chain.
354         * tree-vect-stmts.c (vectorizable_store): Only call
355         result_chain.create if j == 0.
357         PR middle-end/56461
358         * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
359         vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
360         before overwriting it.
362 2013-03-01  Tobias Burnus  <burnus@net-b.de>
364         * doc/extended.texi (C Extensions): Change order in @menu
365         to match @node.
366         (Other MIPS Built-in Functions): Move last MIPS entry before
367         "picoChip Built-in Functions".
368         (SH Built-in Functions): Move after RX Built-in Functions.
369         * doc/gcc.texi (Introduction): Change order in @menu
370         to match @node.
371         * doc/md.texi (Constraints): Ditto.
372         * gty.texi (Type Information): Ditto.
373         (User-provided marking routines for template types): Make
374         subsection.
375         * doc/invoke.texi (AArch64 Options): Move before
376         "Adapteva Epiphany Options".
378 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
379             Jakub Jelinek  <jakub@redhat.com>
381         PR sanitizer/56454
382         * asan.c (gate_asan): Lookup no_sanitize_address instead of
383         no_address_safety_analysis attribute.
384         * doc/extend.texi (no_address_safety_attribute): Rename to
385         no_sanitize_address attribute, mention no_address_safety_analysis
386         attribute as deprecated alias.
388 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
390         PR middle-end/56461
391         * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
392         type to vec<vec<tree> > *.
393         * tree-vect-slp.c (vect_get_slp_defs): Likewise.  Change vec_defs
394         to be vec<tree> instead of vec<tree> *, set vec_defs
395         to vNULL and call vec_defs.create (number_of_vects), adjust other
396         uses of vec_defs.
397         * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
398         vectorizable_condition): Adjust vect_get_slp_defs callers.
400 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
402         * config/aarch64/aarch64.c
403         (aarch64_float_const_representable): Remove unused variable.
405 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
407         * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
409 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
411         * config/aarch64/aarch64-builtins.c
412         (aarch64_init_simd_builtins): Make static.
414 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
416         * config/aarch64/aarch64.c
417         (aarch64_simd_make_constant): Make static.
419 2013-02-28  Martin Jambor  <mjambor@suse.cz>
421         * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
422         with no initialization to the RHS of debug statements.
424 2013-02-28  Martin Jambor  <mjambor@suse.cz>
426         PR tree-optimization/56294
427         * tree-sra.c (analyze_access_subtree): Create replacement declarations.
428         Adjust dumping.
429         (get_access_replacement): Do not call create_access_replacement.
430         Assert a replacement exists.
431         (get_repl_default_def_ssa_name): Create the replacement declaration
432         itself.
434 2013-02-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
436         * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
437         final_end_function.
439 2013-02-28  Marek Polacek  <polacek@redhat.com>
441         PR rtl-optimization/56466
442         * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
443         if we're changing a loop.
444         (peel_loops_completely): Likewise.
446 2013-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
448         PR c++/55813
449         * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
451 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
453         PR target/56445
454         * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
455         macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
456         INTX_FTYPE_FX, FX_FTYPE_INTX.
457         * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
459 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
461         * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
462         (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
463         (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
464         (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
465         (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
466         (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
467         (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
468         (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
469         (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
470         (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
471         (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
472         (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
473         (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
474         (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
475         (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
476         (avrxmega6): Increase max flash segments from 5 to 6.
477         * config/avr/t-multilib: Regenerate.
478         * config/avr/avr-tables.opt: Regenerate.
479         * doc/avr-mmcu.texi: Regenerate.
481 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
483         * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
484         (avr_device_to_arch): Rename to avr_device_to_ld.
485         (avr_device_to_as): New prototype.
486         (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
487         (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
488         * config/avr/driver-avr.c (avr_device_to_as): New.
489         (avr_device_to_arch): Rename to avr_device_to_ld.
491 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
493         PR middle-end/56461
494         * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
495         method on dr_chain and result_chain.
497         PR middle-end/56461
498         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
499         pointer_set_destroy on not_executed_last_iteration.
501         PR middle-end/56461
502         * tree-vect-loop.c (vectorizable_reduction): Release vect_defs
503         vector.
505         PR middle-end/56461
506         * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
507         FOR_EACH_DEFINED_FUNCTION when freeing state.
509         PR middle-end/56461
510         * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
511         pool_free.
512         (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
513         overwriting it.
515         PR middle-end/56461
516         * ipa-cp.c (decide_whether_version_node): Call vec_free on
517         known_aggs[i].items and release known_aggs vector.
519         PR middle-end/56461
520         * ipa-reference.c (propagate): Free node_info even for alias nodes.
522 2013-02-27  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
524         * config/microblaze/microblaze.c (microblaze_emit_compare):
525         Use xor for EQ/NE comparisions.
526         * config/microblaze/microblaze.md (cstoresf4): Add constraints
527         (cbranchsf4): Adjust operator to comparison_operator.
529 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
531         PR middle-end/56461
532         * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
533         vector.
534         * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
535         vec_safe_push, always update *slot.
536         (redirect_edge_var_map_clear): Use vec_free.
537         (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
538         (free_var_map_entry): Use vec_free.
539         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
540         FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
542 2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
544         PR middle-end/45472
545         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
546         when the may_trap_p bit of the exprs being merged differs.
547         Reorder tests for speculativeness in the logical and operator.
549 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
551         * incpath.c (add_standard_paths): Use reconcat instead of concat
552         where appropriate and avoid leaking memory.
554         * opts.h: Include obstack.h.
555         (opts_concat): New prototype.
556         (opts_obstack): New declaration.
557         * opts.c (opts_concat): New function.
558         (opts_obstack): New variable.
559         (init_options_struct): Call gcc_init_obstack on opts_obstack.
560         (finish_options): Use opts_concat instead of concat
561         and XOBNEWVEC instead of XNEWVEC.
562         * opts-common.c (generate_canonical_option, decode_cmdline_option,
563         generate_option): Likewise.
564         * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
565         * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
567         PR target/56455
568         * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
569         and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
571 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
573         PR middle-end/56461
574         * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
576 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
578         * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
579         (arm_block_move_unaligned_straight): Likewise.
580         (arm_adjust_block_mem): Likewise.
582 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
584         PR target/48901
585         * config/lm32/lm32.c (gen_int_relational): Remove unused variables
586         temp, cond and label.
587         * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
589         PR target/52500
590         * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
591         * config/c6x/c6x.h (dbx_register_map): Update declaration.
593         PR target/52501
594         * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
595         of prologue/epilogue functions.
597         PR target/52550
598         * config/tilegx/tilegx.c (tilegx_expand_prologue):
599         Remove unused variable cfa_offset.
600         * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
602         PR target/54639
603         * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
604         type promotion to unsigned.
606         PR target/54640
607         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
608         for HOST_WIDE_INT of 32 bit / same size as int.
609         (arm_block_move_unaligned_straight): Likewise.
610         (arm_adjust_block_mem): Likewise.
612         PR target/54662
613         * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
614         ALL_CFLAGS.
616 2013-02-26  Marek Polacek  <polacek@redhat.com>
618         PR tree-optimization/56426
619         * tree-ssa-loop.c (tree_ssa_loop_init): Always call
620         scev_initialize.
622 2013-02-26  Richard Biener  <rguenther@suse.de>
624         PR target/56444
625         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
626         unused variable loops.
628 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
630         PR tree-optimization/56448
631         * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
632         TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
633         Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
634         later operands of the references, or even first operand for
635         INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
637         PR tree-optimization/56443
638         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
639         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
640         to type_for_mode langhook.
642 2013-02-25  Matt Turner  <mattst88@gmail.com>
644         * doc/invoke.texi: Document r4700.
646 2013-02-25  Richard Biener  <rguenther@suse.de>
648         PR tree-optimization/56175
649         * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
650         split out from ...
651         (simplify_bitwise_binary): ... here.  Also guard the conversion
652         of (type) X op CST to (type) (X op ((type-x) CST)) with it.
654 2013-02-25  Catherine Moore  <clm@codesourcery.com>
656         Revert:
657         2013-02-24  Catherine Moore  <clm@codesourcery.com>
658             Maciej W. Rozycki  <macro@codesourcery.com>
659             Tom de Vries  <tom@codesourcery.com>
660             Nathan Sidwell  <nathan@codesourcery.com>
661             Iain Sandoe  <iain@codesourcery.com>
662             Nathan Froyd  <froydnj@codesourcery.com>
663             Chao-ying Fu  <fu@mips.com>
664         * doc/extend.texi: (micromips, nomicromips, nocompression):
665         Document new function attributes. 
666         * doc/invoke.texi (minterlink-compressed, mmicromips,
667         m14k, m14ke, m14kec): Document new options.
668         (minterlink-mips16): Update documentation.
669         * doc/md.texi (ZC, ZD): Document new constraints.
670         * configure.ac (gcc_cv_as_micromips): Check if linker
671         supports the .set micromips directive.
672         * configure: Regenerate.
673         * config.in: Regenerate.
674         * config/mips/mips-tables.opt: Regenerate.
675         * config/mips/micromips.md: New file.
676         * constraints.md (ZC, AD): New constraints.
677         * config/mips/predicates.md (movep_src_register): New predicate.
678         (movep_src_operand): New predicate.
679         (non_volatile_mem_operand): New predicate.
680         * config/mips/mips.md (multimem): New type.
681         (length): Differentiate between 17-bit and 18-bit branch offsets.
682         (MOVEP1, MOVEP2): New mode iterator.
683         (mov_<load>l): Use ZC constraint.
684         (mov_<load>r): Likewise.
685         (mov_<store>l): Likewise.
686         (mov_<store>r): Likewise.
687         (*branch_equality<mode>_inverted): Add microMIPS support.
688         (*branch_equality<mode>): Likewise.
689         (*jump_absolute): Likewise.
690         (indirect_jump_<mode>): Likewise.
691         (tablejump_<mode>): Likewise.
692         (<optab>_internal): Likewise.
693         (sibcall_internal): Likewise.
694         (sibcall_value_internal): Likewise.
695         (prefetch): Use constraint ZD.
696         * config/mips/mips.opt (minterlink-compressed): New option.
697         (minterlink-mips16): Now an alias for minterlink-compressed.
698         (mmicromips): New option.
699         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
700         (compare_and_swap_12): Likewise.
701         (sync_add<mode>): Likewise.
702         (sync_<optab>_12): Likewise.
703         (sync_old_<optab>_12): Likewise.
704         (sync_new_<optab>_12): Likewise.
705         (sync_nand_12): Likewise.
706         (sync_old_nand_12): Likewise.
707         (sync_new_nand_12): Likewise.
708         (sync_sub<mode>): Likewise.
709         (sync_old_add<mode>): Likewise.
710         (sync_old_sub<mode>): Likewise.
711         (sync_new_add<mode>): Likewise.
712         (sync_new_sub<mode>): Likewise.
713         (sync_<optab><mode>): Likewise.
714         (sync_old_<optab><mode>): Likewise.
715         (sync_new_<optab><mode>): Likewise.
716         (sync_nand<mode>): Likewise.
717         (sync_old_nand<mode>): Likewise.
718         (sync_new_nand<mode>): Likewise.
719         (sync_lock_test_and_set<mode>): Likewise.
720         (test_and_set_12): Likewise.
721         (atomic_compare_and_swap<mode>): Likewise.
722         (atomic_exchange<mode>_llsc): Likewise.
723         (atomic_fetch_add<mode>_llsc): Likewise.
724         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
725         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
726         (umips_save_restore_pattern_p): Likewise.
727         (umips_load_store_pair_p): Likewise.
728         (umips_output_load_store_pair): Likewise.
729         (umips_movep_target_p): Likewise.
730         (umips_12bit_offset_address_p): Likewise.
731         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
732         (mips_base_mips16): Rename this...
733         (mips_base_compression_flags): ...to this. Update all uses.
734         (mips_attribute_table): Add micromips, nomicromips and nocompression.
735         (mips_mips16_decl_p): Delete.
736         (mips_nomips16_decl_p): Delete.
737         (mips_get_compress_on_flags): New function.
738         (mips_get_compress_off_flags): New function.
739         (mips_get_compress_mode): New function.
740         (mips_get_compress_on_name): New function.
741         (mips_get_compress_off_name): New function.
742         (mips_insert_attributes): Support multiple compression types.
743         (mips_merge_decl_attributes): Likewise.
744         (umips_12bit_offset_address_p): New function.
745         (mips_start_function_definition): Emit .set micromips directive.
746         (mips_call_may_need_jalx_p): New function.
747         (mips_function_ok_for_sibcall): Add microMIPS support.
748         (mips_print_operand_punctuation): Support short delay slots and
749         compact jumps.
750         (umips_swm_mask, umips_swm_encoding): New.
751         (umips_build_save_restore): New function.
752         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
753         (was_mips16_p): Remove.
754         (old_compression_mode): New.
755         (mips_set_compression_mode): New function.
756         (mips_set_current_function): Add microMIPS support.
757         (mips_option_override): Likewise.
758         (umips_save_restore_pattern_p): New function.
759         (umips_output_save_restore): New function.
760         (umips_load_store_pair_p_1): New function.
761         (umips_load_store_pair_p): New function.
762         (umips_output_load_store_pair_1): New function.
763         (umips_output_load_store_pair): New function.
764         (umips_movep_target_p) New function.
765         (mips_prepare_pch_save): Add microMIPS support.
766         * config/mips/mips.h (TARGET_COMPRESSION): New.
767         (TARGET_CPU_CPP_BUILTINS): Update macro
768         to use new compression flags and to support microMIPS.
769         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
770         (MIPS_ARCH_FLOAT_SPEC): Likewise.
771         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
772         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
773         (ASM_SPEC): Support mmicromips and mno-micromips.
774         (M16STORE_REG_P): New macro.
775         (MIPS_CALL): Support TARGET_MICROMIPS.
776         (MICROMIPS_J): New macro.
777         (mips_base_mips16): Rename this...
778         (mips_base_compression_flags): ...to this.
779         (UMIPS_12BIT_OFFSET_P): New macro.
780         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
781         (MULTILIB_DIRNAMES): Likewise.
783 2013-02-25  Tom de Vries  <tom@codesourcery.com>
785         PR rtl-optimization/56131
786         * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
787         * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
788         NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
790 2013-02-25  Tobias Burnus  <burnus@net-b.de>
792         * doc/invoke.texi (-fsanitize=): Move from optimization
793         to debugging options.
795 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
797         * sched-deps.c (sched_analyze_insn): Fix typo in comment.
799 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
800             Alexander Monakov  <amonakov@ispras.ru>
802         PR middle-end/56077
803         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
804         flush pending lists also on non-jumps.  Adjust comment.
806 2013-02-24  Catherine Moore  <clm@codesourcery.com>
807             Maciej W. Rozycki  <macro@codesourcery.com>
808             Tom de Vries  <tom@codesourcery.com>
809             Nathan Sidwell  <nathan@codesourcery.com>
810             Iain Sandoe  <iain@codesourcery.com>
811             Nathan Froyd  <froydnj@codesourcery.com>
812             Chao-ying Fu  <fu@mips.com>
814         * doc/extend.texi: (micromips, nomicromips, nocompression):
815         Document new function attributes. 
816         * doc/invoke.texi (minterlink-compressed, mmicromips,
817         m14k, m14ke, m14kec): Document new options.
818         (minterlink-mips16): Update documentation.
819         * doc/md.texi (ZC, ZD): Document new constraints.
820         * configure.ac (gcc_cv_as_micromips): Check if linker
821         supports the .set micromips directive.
822         * configure: Regenerate.
823         * config.in: Regenerate.
824         * config/mips/mips-tables.opt: Regenerate.
825         * config/mips/micromips.md: New file.
826         * constraints.md (ZC, AD): New constraints.
827         * config/mips/predicates.md (movep_src_register): New predicate.
828         (movep_src_operand): New predicate.
829         (non_volatile_mem_operand): New predicate.
830         * config/mips/mips.md (multimem): New type.
831         (length): Differentiate between 17-bit and 18-bit branch offsets.
832         (MOVEP1, MOVEP2): New mode iterator.
833         (mov_<load>l): Use ZC constraint.
834         (mov_<load>r): Likewise.
835         (mov_<store>l): Likewise.
836         (mov_<store>r): Likewise.
837         (*branch_equality<mode>_inverted): Add microMIPS support.
838         (*branch_equality<mode>): Likewise.
839         (*jump_absolute): Likewise.
840         (indirect_jump_<mode>): Likewise.
841         (tablejump_<mode>): Likewise.
842         (<optab>_internal): Likewise.
843         (sibcall_internal): Likewise.
844         (sibcall_value_internal): Likewise.
845         (prefetch): Use constraint ZD.
846         * config/mips/mips.opt (minterlink-compressed): New option.
847         (minterlink-mips16): Now an alias for minterlink-compressed.
848         (mmicromips): New option.
849         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
850         (compare_and_swap_12): Likewise.
851         (sync_add<mode>): Likewise.
852         (sync_<optab>_12): Likewise.
853         (sync_old_<optab>_12): Likewise.
854         (sync_new_<optab>_12): Likewise.
855         (sync_nand_12): Likewise.
856         (sync_old_nand_12): Likewise.
857         (sync_new_nand_12): Likewise.
858         (sync_sub<mode>): Likewise.
859         (sync_old_add<mode>): Likewise.
860         (sync_old_sub<mode>): Likewise.
861         (sync_new_add<mode>): Likewise.
862         (sync_new_sub<mode>): Likewise.
863         (sync_<optab><mode>): Likewise.
864         (sync_old_<optab><mode>): Likewise.
865         (sync_new_<optab><mode>): Likewise.
866         (sync_nand<mode>): Likewise.
867         (sync_old_nand<mode>): Likewise.
868         (sync_new_nand<mode>): Likewise.
869         (sync_lock_test_and_set<mode>): Likewise.
870         (test_and_set_12): Likewise.
871         (atomic_compare_and_swap<mode>): Likewise.
872         (atomic_exchange<mode>_llsc): Likewise.
873         (atomic_fetch_add<mode>_llsc): Likewise.
874         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
875         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
876         (umips_save_restore_pattern_p): Likewise.
877         (umips_load_store_pair_p): Likewise.
878         (umips_output_load_store_pair): Likewise.
879         (umips_movep_target_p): Likewise.
880         (umips_12bit_offset_address_p): Likewise.
881         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
882         (mips_base_mips16): Rename this...
883         (mips_base_compression_flags): ...to this. Update all uses.
884         (mips_attribute_table): Add micromips, nomicromips and nocompression.
885         (mips_mips16_decl_p): Delete.
886         (mips_nomips16_decl_p): Delete.
887         (mips_get_compress_on_flags): New function.
888         (mips_get_compress_off_flags): New function.
889         (mips_get_compress_mode): New function.
890         (mips_get_compress_on_name): New function.
891         (mips_get_compress_off_name): New function.
892         (mips_insert_attributes): Support multiple compression types.
893         (mips_merge_decl_attributes): Likewise.
894         (umips_12bit_offset_address_p): New function.
895         (mips_start_function_definition): Emit .set micromips directive.
896         (mips_call_may_need_jalx_p): New function.
897         (mips_function_ok_for_sibcall): Add microMIPS support.
898         (mips_print_operand_punctuation): Support short delay slots and
899         compact jumps.
900         (umips_swm_mask, umips_swm_encoding): New.
901         (umips_build_save_restore): New function.
902         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
903         (was_mips16_p): Remove.
904         (old_compression_mode): New.
905         (mips_set_compression_mode): New function.
906         (mips_set_current_function): Add microMIPS support.
907         (mips_option_override): Likewise.
908         (umips_save_restore_pattern_p): New function.
909         (umips_output_save_restore): New function.
910         (umips_load_store_pair_p_1): New function.
911         (umips_load_store_pair_p): New function.
912         (umips_output_load_store_pair_1): New function.
913         (umips_output_load_store_pair): New function.
914         (umips_movep_target_p) New function.
915         (mips_prepare_pch_save): Add microMIPS support.
916         * config/mips/mips.h (TARGET_COMPRESSION): New.
917         (TARGET_CPU_CPP_BUILTINS): Update macro
918         to use new compression flags and to support microMIPS.
919         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
920         (MIPS_ARCH_FLOAT_SPEC): Likewise.
921         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
922         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
923         (ASM_SPEC): Support mmicromips and mno-micromips.
924         (M16STORE_REG_P): New macro.
925         (MIPS_CALL): Support TARGET_MICROMIPS.
926         (MICROMIPS_J): New macro.
927         (mips_base_mips16): Rename this...
928         (mips_base_compression_flags): ...to this.
929         (UMIPS_12BIT_OFFSET_P): New macro.
930         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
931         (MULTILIB_DIRNAMES): Likewise.
933 2013-02-24  Jakub Jelinek  <jakub@redhat.com>
935         PR target/52555
936         * target-globals.c (save_target_globals): For init_reg_sets and
937         target_reinit remporarily set this_fn_optabs to this_target_optabs.
939 2013-02-22  James Grennahlgh  <james.greenhalgh@arm.com>
941         * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
942         * config/aarch64/t-aarch64
943         (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
945 2013-02-22  Vladimir Makarov  <vmakarov@redhat.com>
947         PR inline-asm/56148
948         * lra-constraints.c (process_alt_operands): Reload operand
949         conflicting with earlier clobber only if no more other conflicting
950         operands.
952 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
954         PR sanitizer/56393
955         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
956         if not linking a shared library.
958 2013-02-22  Seth LaForge  <sethml@google.com>
960         * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
962 2013-02-22  Greta Yorsh  <Greta.Yorsh@arm.com>
964         * config/arm/arm.md (split for extendsidi): Update condition.
965         (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
966         * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
967         (qhs_zextenddi_cstr): Likewise.
969 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
971         PR middle-end/56420
972         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
973         avoid signed wrapping.
974         (expand_mult): Handle properly multiplication by
975         ((dword_type) -1) << (BITS_PER_WORD - 1).  Improve multiplication by
976         ((dword_type) 1) << (BITS_PER_WORD - 1).  Avoid undefined behavior
977         in the compiler if coeff is HOST_WIDE_INT_MIN.
978         (expand_divmod): Don't make ext_op1 static, change it's type to
979         uhwi.  Avoid undefined behavior in -INTVAL (op1).
981         PR rtl-optimization/50339
982         * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
983         field.
984         * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
985         (compute_costs): Call compute_splitting_shift also for ASHIFTRT
986         into splitting_ashiftrt field.
987         (find_decomposable_shift_zext, resolve_shift_zext): Handle also
988         ASHIFTRT.
989         (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
990         choices.
992 2013-02-20  Aldy Hernandez  <aldyh@redhat.com>
994         PR middle-end/56108
995         * trans-mem.c (execute_tm_mark): Do not expand transactions that
996         are sure to go irrevocable.
998 2013-02-21  Hans-Peter Nilsson  <hp@axis.com>
1000         * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
1001         scalars are valid operands.
1003 2013-02-21  Martin Jambor  <mjambor@suse.cz>
1005         PR tree-optimization/56310
1006         * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
1007         only matching indices and non-negative final offsets.
1008         (intersect_aggregates_with_edge): Pass src_idx to
1009         agg_replacements_to_vector.  Pass src_idx insstead of index to
1010         intersect_with_agg_replacements.
1012 2013-02-21  Martin Jambor  <mjambor@suse.cz>
1014         * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
1015         instead of hard-wired defaults.
1017 2013-02-21  Maciej W. Rozycki  <macro@codesourcery.com>
1019         * doc/invoke.texi (MIPS Options): Update documentation of the
1020         floating-point multiply-accumulate instruction restrictions.
1022 2013-02-21  Kostya Serebryany  <kcc@google.com>
1024         * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
1025         asan_shadow_offset on x86_64 linux.
1027 2013-02-21  Richard Biener  <rguenther@suse.de>
1029         PR tree-optimization/56415
1030         Revert
1031         2013-02-11  Richard Biener  <rguenther@suse.de>
1033         PR tree-optimization/56273
1034         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1035         first VRP run.
1037 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1039         PR bootstrap/56258
1040         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1041         instead of @itemx.
1043         PR inline-asm/56405
1044         * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
1045         use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
1047 2013-02-20  Jan Hubicka  <jh@suse.cz>
1049         PR tree-optimization/56265
1050         * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when target is
1051         referenced for firs ttime.
1053 2013-02-20  Richard Biener  <rguenther@suse.de>
1055         * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
1056         * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
1057         * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
1058         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
1059         not return anything.
1060         (rename_ssa_copies): Do not remove unused locals.
1061         * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
1062         * tree-ssanames.c (pass_release_ssa_names): Remove unused
1063         locals first.
1064         * passes.c (execute_function_todo): Do not schedule unused locals
1065         removal if cleanup_tree_cfg did something.
1066         * tree-ssa-live.c (remove_unused_locals): Dump statistics
1067         about the number of removed locals.
1069 2013-02-20  Richard Biener  <rguenther@suse.de>
1071         PR tree-optimization/56398
1072         * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
1073         SSA default defs.
1075 2013-02-20  Martin Jambor  <mjambor@suse.cz>
1077         PR tree-optimization/55334
1078         * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
1079         restricted pointers to arrays.
1081 2013-02-20  Richard Biener  <rguenther@suse.de>
1082         Jakub Jelinek  <jakub@redhat.com>
1084         PR tree-optimization/56396
1085         * tree-ssa-ccp.c (n_const_val): New static variable.
1086         (get_value): Return NULL for SSA names we don't have a lattice
1087         entry for.
1088         (ccp_initialize): Initialize n_const_val.
1089         * tree-ssa-copy.c (n_copy_of): New static variable.
1090         (init_copy_prop): Initialize n_copy_of.
1091         (get_value): Return NULL_TREE for SSA names we don't have a
1092         lattice entry for.
1094 2013-02-20  Martin Jambor  <mjambor@suse.cz>
1096         * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
1098 2013-02-20  Richard Biener  <rguenther@suse.de>
1100         * genpreds.c (write_lookup_constraint): Do not compare first
1101         letter of the constraint again.
1103 2013-02-20  Richard Biener  <rguenther@suse.de>
1105         * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
1106         and ceil_log2.
1107         (get_use_iv_cost): Terminate hashtable walk when coming across
1108         an empty entry.
1110 2013-02-20  Igor Zamyatin  <igor.zamyatin@intel.com>
1112         * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
1113         reassociation for avx2 targets.
1115 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1117         * config/microblaze/microblaze.c: microblaze_has_clz = 0
1118         Add version check for v8.10.a to enable microblaze_has_clz
1119         * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined 
1120         version and TARGET_PATTERN_COMPARE check
1121         * config/microblaze/microblaze.md: New clzsi2 instruction
1123 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1125         * config/microblaze/microblaze.md (call_value_intern): Check symbol is
1126         function before branching.
1128 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1130         * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
1131         DUMP_INSN_RTX_UID.
1132         (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
1134 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1136         PR middle-end/55889
1138         * sel-sched.c: Include ira.h.
1139         (implicit_clobber_conflict_p): New function.
1140         (moveup_expr): Use it.
1141         * Makefile.in (sel-sched.o): Depend on ira.h. 
1143 2013-02-19  Richard Biener  <rguenther@suse.de>
1145         PR tree-optimization/56384
1146         * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
1147         (vn_hash_type): Split out from ...
1148         (vn_hash_constant_with_type): ... here.
1149         * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
1150         (vn_phi_eq): Compare types from vn_phi_s structure.
1151         (vn_phi_lookup): Populate vn_phi_s type.
1152         (vn_phi_insert): Likewise.
1154 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1156         PR tree-optimization/56350
1157         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1158         if haven't found reduction or nested cycle operand, rather than
1159         asserting we must find it.
1161         PR tree-optimization/56381
1162         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1163         to fold_build3.
1165 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1166             Jakub Jelinek  <jakub@redhat.com>
1168         PR target/52555
1169         * genopinit.c (raw_optab_handler): Use this_fn_optabs.
1170         (swap_optab_enable): Same.
1171         (init_all_optabs): Use argument instead of global.
1172         * tree.h (struct tree_optimization_option): New field
1173         target_optabs.
1174         * expr.h (init_all_optabs): Add argument to prototype.
1175         (TREE_OPTIMIZATION_OPTABS): New.
1176         (save_optabs_if_changed): Protoize.
1177         * optabs.h: Declare this_fn_optabs.
1178         * optabs.c (save_optabs_if_changed): New.
1179         Declare this_fn_optabs.
1180         (init_optabs): Add argument to init_all_optabs() call.
1181         * function.c (invoke_set_current_function_hook): Handle per
1182         function optabs.
1183         * function.h (struct function): New field optabs.
1184         * config/mips/mips.c (mips_set_mips16_mode): Handle when
1185         optimization_current_node has changed.
1186         * target-globals.h (save_target_globals_default_opts): Protoize.
1187         * target-globals.c (save_target_globals_default_opts): New.
1189 2013-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1191         PR target/56347
1192         * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
1193         registers %fr12 and %fr12R as call used.
1195         PR target/56214
1196         * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
1197         and HImode, require all displacements to be an integer multiple of their
1198         mode size.
1199         * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
1200         only allow QImode and HImode when reload is in progress and strict is
1201         true.  Likewise for symbolic addresses.  Use base14_operand to check
1202         displacements in REG+BASE addresses.
1204 2013-02-18  Richard Biener  <rguenther@suse.de>
1206         PR tree-optimization/56366
1207         * tree-vect-loop.c (get_initial_def_for_induction): Properly
1208         handle sign-conversion of outer-loop initial induction value.
1210 2013-02-18  Richard Biener  <rguenther@suse.de>
1212         PR middle-end/56349
1213         * cfghooks.c (merge_blocks): If we merge a latch into another
1214         block adjust references to it.
1215         * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
1216         (verify_loop_structure): Verify that a recorded latch is in fact
1217         a latch.
1219 2013-02-18  Richard Biener  <rguenther@suse.de>
1221         PR tree-optimization/56321
1222         * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
1223         order SSA name release and virtual operand unlinking.
1225 2013-02-17  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1227         * config/microblaze/microblaze.md (save_stack_block): Define.
1228         (restore_stack_block): Likewise.
1230 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1232         * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
1233         * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
1234         * config/microblaze/microblaze.c (microblaze_option_override):
1235         Bail out early for PIC modes when target does not support PIC.
1237 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1239         * config/microblaze/microblaze.c (microblaze_asm_trampoline_template): 
1240         Replace with a microblaze version.
1241         (microblaze_trampoline_init): Adapt for microblaze.
1242         * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for 
1243         microblaze.
1245 2013-02-16  Jakub Jelinek  <jakub@redhat.com>
1246             Dodji Seketeli  <dodji@redhat.com>
1248         PR asan/56330
1249         * asan.c (get_mem_refs_of_builtin_call): White space and style
1250         cleanup.
1251         (instrument_mem_region_access): Do not forget to always put
1252         instrumentation of the of 'base' and 'base + len' in a "if (len !=
1253         0) statement, even for cases where either 'base' or 'base + len'
1254         are not instrumented -- because they have been previously
1255         instrumented.  Simplify the logic by putting all the statements
1256         instrument 'base + len' inside a sequence, and then insert that
1257         sequence right before the current insertion point.  Then, to
1258         instrument 'base + len', just get an iterator on that statement.
1259         And do not forget to update the pointer to iterator the function
1260         received as argument.
1262 2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>
1264         PR rtl-optimization/56348
1265         * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
1267 2013-02-15  Steven Bosscher  <steven@gcc.gnu.org>
1269         * graph.c (start_graph_dump): Print dumpfile base as digraph label.
1270         (clean_graph_dump_file): Pass base to start_graph_dump.
1272 2013-02-14  Richard Henderson  <rth@redhat.com>
1274         PR target/55941
1275         * lower-subreg.c (simple_move): Check dest mode instead of src mode.
1277 2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
1279         * collect2-aix.h: Define F_LOADONLY.
1281 2013-02-14  Richard Biener  <rguenther@suse.de>
1283         PR lto/50494
1284         * varasm.c (output_constant_def_1): Get the decl representing
1285         the constant as argument.
1286         (output_constant_def): Wrap output_constant_def_1.
1287         (make_decl_rtl): Use output_constant_def_1 with the decl
1288         representing the constant.
1289         (build_constant_desc): Optionally re-use a decl already
1290         representing the constant.
1291         (tree_output_constant_def): Adjust.
1293 2013-02-14  Dodji Seketeli  <dodji@redhat.com>
1295         Fix an asan crash
1296         * asan.c (instrument_builtin_call):  Really put the length of the
1297         second source argument into src1_len.
1299 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
1301         * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
1302         argument.  If it is false, don't create edge from then_bb to
1303         fallthru_bb.
1304         (insert_if_then_before_iter): Pass true to it.
1305         (build_check_stmt): Pass false to it.
1306         (transform_statements): Flush hash table only on extended basic
1307         block boundaries, rather than at the beginning of every bb.
1308         Don't flush hash table on nonfreeing_call_p calls.
1309         * tree-flow.h (nonfreeing_call_p): New prototype.
1310         * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
1312 2013-02-13  David S. Miller  <davem@davemloft.net>
1314         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1316 2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>
1318         PR target/56184
1319         * ira.c (max_regno_before_ira): Move from ...
1320         (ira): ... here.
1321         (fix_reg_equiv_init): Use max_regno_before_ira instead of
1322         vec_safe_length.
1324 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
1326         * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
1328 2013-02-13  Richard Biener  <rguenther@suse.de>
1330         PR lto/56295
1331         * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
1332         globals in MEM_REFs.
1334 2013-02-13  Richard Biener  <rguenther@suse.de>
1336         * loop-init.c (loop_optimizer_init): Clear loop state when
1337         re-initializing preserved loops.
1338         * loop-unswitch.c (unswitch_single_loop): Return whether
1339         we unswitched the loop.  Do not verify loop state here.
1340         (unswitch_loops): When we unswitched a loop discover new
1341         loops.
1343 2013-02-13  Kostya Serebryany  <kcc@google.com>
1345         * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
1346         linux.
1347         * sanitizer.def: Rename __asan_init to __asan_init_v1.
1349 2013-02-12  Dodji Seketeli  <dodji@redhat.com>
1351         Avoid instrumenting duplicated memory access in the same basic block
1352         * Makefile.in (asan.o): Add new dependency on hash-table.h
1353         * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
1354         (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
1355         (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
1356         (free_mem_ref_resources, has_mem_ref_been_instrumented)
1357         (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
1358         (get_mem_ref_of_assignment): New functions.
1359         (get_mem_refs_of_builtin_call): Extract from
1360         instrument_builtin_call and tweak a little bit to make it fit with
1361         the new signature.
1362         (instrument_builtin_call): Use the new
1363         get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
1364         of is_gimple_builtin_call.
1365         (instrument_derefs, instrument_mem_region_access): Insert the
1366         instrumented memory reference into the hash table.
1367         (maybe_instrument_assignment): Renamed instrument_assignment into
1368         this, and change it to advance the iterator when instrumentation
1369         actually happened and return true in that case.  This makes it
1370         homogeneous with maybe_instrument_assignment, and thus give a
1371         chance to callers to be more 'regular'.
1372         (transform_statements): Clear the memory reference hash table
1373         whenever we enter a new BB, when we cross a function call, or when
1374         we are done transforming statements.  Use
1375         maybe_instrument_assignment instead of instrumentation.  No more
1376         need to special case maybe_instrument_assignment and advance the
1377         iterator after calling it; it's now handled just like
1378         maybe_instrument_call.  Update comment.
1380 2013-02-13  Richard Biener  <rguenther@suse.de>
1382         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
1383         Fix loop discovery code.
1385 2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>
1387         PR inline-asm/56148
1388         * lra-constraints.c (process_alt_operands): Match early clobber
1389         operand with itself.  Check conflicts with earlyclobber only if
1390         the operand is not reloaded.  Prefer to reload conflicting operand
1391         if earlyclobber and matching operands are the same.
1393 2013-02-12  Richard Biener  <rguenther@suse.de>
1395         PR lto/56297
1396         * lto-streamer-out.c (write_symbol): Do not output symbols
1397         for hard register variables.
1399 2013-02-12  Georg-Johann Lay  <avr@gjlay.de>
1401         PR target/54222
1402         * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
1403         (umulsidi3_insn, mulsidi3_insn): New insns.
1405 2013-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
1407         * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
1408         (struct tune_params): Add vec_costs field.
1409         * config/arm/arm.c (arm_builtin_vectorization_cost)
1410         (arm_add_stmt_cost): New functions.
1411         (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
1412         (TARGET_VECTORIZE_ADD_STMT_COST): Define.
1413         (arm_default_vec_cost): New struct of type cpu_vec_costs.
1414         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
1415         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
1416         (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
1417         (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
1419 2013-02-12  Richard Biener  <rguenther@suse.de>
1421         PR lto/56295
1422         * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
1423         decls again if possible.
1425 2013-02-12  Richard Biener  <rguenther@suse.de>
1427         PR middle-end/56288
1428         * tree-ssa.c (verify_ssa_name): Fix check, move
1429         SSA_NAME_IN_FREE_LIST check up.
1431 2013-02-12  Jakub Jelinek  <jakub@redhat.com>
1432             Steven Bosscher   <steven@gcc.gnu.org>
1434         PR rtl-optimization/56151
1435         * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
1436         equal to op0 or op1, and last_insn pattern is CODE operation
1437         with MEM dest and one of the operands matches that MEM.
1439 2013-02-11  Sriraman Tallam  <tmsriramgoogle.com>
1441         * doc/extend.texi: Document Function Multiversioning and "default"
1442         parameter string to target attribute.
1443         * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
1444         target attribute parameter is "default".
1445         (ix86_compare_version_priority): Remove checks for target attribute.
1446         (ix86_mangle_function_version_assembler_name): Change error to sorry.
1447         Remove check for target attribute equal to NULL. Add assert.
1448         (ix86_generate_version_dispatcher_body): Change error to sorry.
1450 2013-02-11  Iain Sandoe  <iain@codesourcery.com>
1451             Jack Howarth  <howarth@bromo.med.uc.edu>
1452             Patrick Marlier  <patrick.marlier@gmail.com>
1454         PR libitm/55693
1455         * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
1456         define ENDFILE_SPEC as TM_DESTRUCTOR.
1457         * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
1459 2013-02-11  Alexander Potapenko  <glider@google.com>
1460             Jack Howarth  <howarth@bromo.med.uc.edu>
1461             Jakub Jelinek  <jakub@redhat.com>
1463         PR sanitizer/55617
1464         * config/darwin.c (cdtor_record): Rename ctor_record.
1465         (sort_cdtor_records): Rename sort_ctor_records.
1466         (finalize_dtors): New routine to sort destructors by
1467         priority before use in assemble_integer.
1468         (machopic_asm_out_destructor): Use finalize_dtors if needed.
1470 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1472         PR rtl-optimization/56275
1473         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1474         offset is non-negative and less than cmode size before
1475         calling simplify_subreg.
1477 2013-02-11  Richard Biener  <rguenther@suse.de>
1479         PR tree-optimization/56264
1480         * cfgloop.h (fix_loop_structure): Adjust prototype.
1481         * loop-init.c (fix_loop_structure): Return the number of
1482         newly discovered loops.
1483         * tree-cfgcleanup.c (repair_loop_structures): When new loops
1484         are discovered, do a full loop-closed SSA rewrite.
1486 2013-02-11  Richard Biener  <rguenther@suse.de>
1488         PR tree-optimization/56273
1489         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1490         first VRP run.
1491         (check_array_ref): Fix missing newline in dumps.
1492         (search_for_addr_array): Likewise.
1494 2013-02-09  David Edelsohn  <dje.gcc@gmail.com>
1496         * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
1498 2013-02-09  Jakub Jelinek  <jakub@redhat.com>
1500         PR target/56256
1501         * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
1503 2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
1505         PR rtl-optimization/56246
1506         * lra-constraints.c (simplify_operand_subreg): Try to reuse
1507         reload pseudo.
1508         * lra.c (lra): Clear lra_optional_reload_pseudos only when all
1509         constraints are satisfied.
1511 2013-02-08  Jeff Law  <law@redhat.com>
1513         PR debug/53948
1514         * emit-rtl.c (reg_is_parm_p): New function.
1515         * regs.h (reg_is_parm_p): New prototype.
1516         * ira-conflicts.c (ira_build_conflicts): Allow parameters in
1517         callee-clobbered registers.
1519 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1521         PR target/56043
1522         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1523         If there is no implicit builtin declaration, just return NULL.
1525 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1527         * config/i386/sse.md (FMAMODEM): New mode iterator.
1528         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1529         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1531 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1533         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1534         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1535         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1537 2013-02-08  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1539         * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
1540         (microblaze*-*-elf): Likewise.
1541         * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
1542         LINK_SPEC.
1543         * config/microblaze/microblaze-c.c: Add builtin defines for
1544         _LITTLE_ENDIAN and _BIG_ENDIAN.
1545         * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
1546         add to TARGET_DEFAULT flags.
1547         Expand ASM_SPEC and LINK_SPEC.
1548         Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
1549         * config/microblaze/microblaze.md: Update extendsidi2 and
1550         movdi_internal instructions to use low-order / high-order reg
1551         print_operands.
1552         * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
1553         options and inversemask / mask of LITTLE_ENDIAN.
1554         * config/microblaze/t-microblaze: Expand multilib options to
1555         include mlittle-endian (le) and update exceptions patterns.
1557 2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1559         PR rtl-optimization/56195
1560         * lra-constraints.c (get_reload_reg): Don't reuse regs
1561         if they have smaller mode than requested, if they have
1562         wider mode than requested, try to return a SUBREG.
1564         PR tree-optimization/56250
1565         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1566         if type is unsigned and code isn't MULT_EXPR.
1568 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
1570         PR tree-optimization/56064
1571         * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
1572         bits according to mode.
1573         * fixed-value.h (fixed_from_double_int)
1574         (const_fixed_from_double_int): Adjust comments.
1576 2013-02-08  Richard Biener  <rguenther@suse.de>
1578         PR lto/56231
1579         * lto-streamer.h (struct data_in): Remove current_file, current_line
1580         and current_col members.
1581         * lto-streamer-out.c (lto_output_location): Stream changed bits
1582         en-block for efficiency.
1583         * lto-streamer-in.c (clear_line_info): Remove.
1584         (lto_input_location): Cache current file, line and column
1585         globally via local statics.  Read changed bits en-block.
1586         (input_function): Do not call clear_line_info.
1587         (lto_read_body): Likewise.
1588         (lto_input_toplevel_asms): Likewise.
1590 2013-02-08  Michael Matz  <matz@suse.de>
1592         PR tree-optimization/52448
1593         * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
1594         (nt_call_phase): New static.
1595         (add_or_mark_expr): Only mark accesses with newer phase than any
1596         call seen.
1597         (nonfreeing_call_p): New.
1598         (nt_init_block): Update nt_call_phase, mark blocks as visited.
1599         (nt_fini_block): Keep blocks marked as visited.
1600         (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
1602 2013-02-08  Richard Biener  <rguenther@suse.de>
1604         * ira.c (ira): Free broken dominator information.
1606 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1608         * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
1610 2013-02-08  Marek Polacek  <polacek@redhat.com>
1612         * cfgloop.c (verify_loop_structure): Add more checking of headers.
1614 2013-02-08  Richard Biener  <rguenther@suse.de>
1616         PR middle-end/56181
1617         * cfgloop.h (flow_loops_find): Adjust.
1618         (bb_loop_header_p): Declare.
1619         * cfgloop.c (bb_loop_header_p): New function split out from ...
1620         (flow_loops_find): ... here.  Adjust function signature,
1621         support incremental loop structure update.
1622         (verify_loop_structure): Cleanup.  Verify a loop is a loop.
1623         * cfgloopmanip.c (fix_loop_structure): Move ...
1624         * loop-init.c (fix_loop_structure): ... here.
1625         (apply_loop_flags): Split out from ...
1626         (loop_optimizer_init): ... here.
1627         (fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
1628         in incremental mode, only remove dead loops here.
1630 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
1632         PR target/54222
1633         * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
1634         * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
1635         (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
1636         (*round<mode>3.libgcc): New insns for fixed-modes.
1637         * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
1638         (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
1639         (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
1640         * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
1641         implementations.  Define to __builtin_avr_absFX,
1642         __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
1643         (roundFX, countlsFX): Define to __builtin_avr_roundFX,
1644         __builtin_avr_countlsFX, respectively.
1645         * config/avr/avr-c.c (target.h): Include it.
1646         (enum avr_builtin_id): New enum.
1647         (avr_resolve_overloaded_builtin): New static function.
1648         (avr_register_target_pragmas): Use it to set
1649         targetm.resolve_overloaded_builtin.
1650         * config/avr/avr.c (avr_init_builtins): Supply myriads of local
1651         tree nodes used by DEF_BUILTIN.
1652         (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
1653         (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
1654         <AVR_BUILTIN_xxBITS>: Same.
1656 2013-02-08  Richard Biener  <rguenther@suse.de>
1658         * cfgloop.c (verify_loop_structure): Properly handle
1659         a loop exiting to another loop header.
1660         * ira-int.h (ira_loops): Remove.
1661         * ira.c (ira_loops): Remove.
1662         (ira): Use loop_optimizer_init and loop_optimizer_finalize.
1663         (do_reload): Use loop_optimizer_finalize.
1664         * ira-build.c (create_loop_tree_nodes): Use get_loops and
1665         number_of_loops to access the loop tree.
1666         (more_one_region_p): Likewise.
1667         (finish_loop_tree_nodes): Likewise.
1668         (rebuild_regno_allocno_maps): Likewise.
1669         (mark_loops_for_removal): Likewise.
1670         (mark_all_loops_for_removal): Likewise.
1671         (remove_unnecessary_regions): Likewise.
1672         (ira_build): Likewise.
1673         * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
1675 2013-02-08  Richard Biener  <rguenther@suse.de>
1677         * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
1678         * ipa-pure-const.c (analyze_function): Avoid calling
1679         mark_irreducible_loops twice.
1680         * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
1682 2013-02-07  David S. Miller  <davem@davemloft.net>
1684         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1685         on 'reg'.
1686         * var-tracking.c (vt_add_function_parameter): Test the presence of
1687         HAVE_window_save properly and do not remap argument registers when
1688         we have a leaf function.
1690 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1692         PR bootstrap/56227
1693         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1694         instead of "ll".
1695         * config/i386/i386.c (ix86_print_operand): Ditto.
1697 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
1699         * lra-constraints.c (process_alt_operands): Fix recently added comment.
1701 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
1703         PR rtl-optimization/56225
1704         * lra-constraints.c (process_alt_operands): Check that reload hard
1705         reg can hold value for strict_low_part.
1707 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
1709         PR debug/56154
1710         * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
1711         dwarf2out_end_function.
1712         (in_first_function_p, maybe_at_text_label_p,
1713         first_loclabel_num_not_at_text_label): New variables.
1714         (dwarf2out_var_location): In the first function find out
1715         lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
1716         (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
1717         functions.
1719 2013-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1721         PR rtl-optimization/56178
1722         * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
1723         SUBREG of a register.  Tidy up related block of code.
1724         * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
1725         note if the source is a register or a SUBREG of a register.
1727 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
1729         PR target/56228
1730         * config/rs6000/rs6000.md (ptrm): New mode attr.
1731         (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
1732         call_value_indirect_aix<pttrsize>,
1733         call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
1734         m in constraints.
1736 2013-02-07  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1738         * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
1739         if -bnortl. Convert to strcmp and strncmp.
1741 2013-02-07  Alan Modra  <amodra@gmail.com>
1743         PR target/54009
1744         * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
1745         addresses won't wrap when offsetting.
1746         (rs6000_secondary_reload): Provide secondary reloads needed for
1747         wrapping LO_SUM addresses.
1749 2013-02-06  Thomas Schwinge  <thomas@codesourcery.com>
1751         * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
1752         MACH, just __MACH__.
1754 2013-02-06  Richard Biener  <rguenther@suse.de>
1756         * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
1757         instead of calling fix_loop_structure.
1759 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1761         PR middle-end/56217
1762         * omp-low.c (use_pointer_for_field): Return false if
1763         lower_send_shared_vars doesn't generate any copy-out code.
1765 2013-02-06  Tom de Vries  <tom@codesourcery.com>
1767         PR rtl-optimization/56131
1768         * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
1769         to get the bb of a NOTE_INSN_BASIC_BLOCK.  Handle the case that the bb
1770         of the label is NULL.  Add comment.
1772 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
1774         * tree.h (struct tree_decl_with_vis): Remove thread_local field.
1776         PR sanitizer/55374
1777         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
1778         (STATIC_LIBTSAN_LIBS): Likewise.
1779         * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
1780         (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
1781         is defined, don't add anything else beyond that.
1782         (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
1783         (LINK_COMMAND_SPEC): Use them.
1785         PR tree-optimization/56205
1786         * tree-stdarg.c (check_all_va_list_escapes): Return true if
1787         there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
1788         and some va_list_escape_vars SSA_NAME appears in some PHI argument.
1790 2013-02-05  Richard Biener  <rguenther@suse.de>
1792         PR tree-optimization/53342
1793         PR tree-optimization/53185
1794         * tree-vectorizer.h (vect_check_strided_load): Remove.
1795         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
1796         not disallow peeling for vectorized strided loads.
1797         (vect_check_strided_load): Make static and simplify.
1798         (vect_analyze_data_refs): Adjust.
1799         * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
1800         correctly when vectorizing strided loads.
1802 2013-02-05  Richard Biener  <rguenther@suse.de>
1804         * doc/install.texi: Refer to ISL, not PPL.
1806 2013-02-05  Jan Hubicka  <jh@suse.cz>
1808         PR tree-optimization/55789
1809         * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
1811 2013-02-05  Jan Hubicka  <jh@suse.cz>
1813         PR tree-optimization/55789
1814         * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
1815         the dead call anyway.
1817 2013-02-05  Eric Botcazou  <ebotcazou@adacore.com>
1819         PR sanitizer/55374
1820         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
1822 2013-02-04  Alexander Potapenko  <glider@google.com>
1823             Jack Howarth  <howarth@bromo.med.uc.edu>
1824             Jakub Jelinek  <jakub@redhat.com>
1826         PR sanitizer/55617
1827         * config/darwin.c (sort_ctor_records): Stabilized qsort
1828         on constructor priority by using original position.
1829         (finalize_ctors): New routine to sort constructors by
1830         priority before use in assemble_integer.
1831         (machopic_asm_out_constructor): Use finalize_ctors if needed.
1833 2013-02-04  Jakub Jelinek  <jakub@redhat.com>
1835         PR libstdc++/54314
1836         * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
1837         about visibility on artificial decls.
1838         * config/sol2.c (solaris_assemble_visibility): Likewise.
1840 2013-02-04  Kai Tietz  <ktietz@redhat.com>
1842         PR target/56186
1843         * config/i386/i386.c (function_value_ms_64): Add additional valtype
1844         argument and improve checking of return-argument types for 16-byte
1845         modes.
1846         (ix86_function_value_1): Add additional valtype argument on call
1847         of function_value_64.
1848         (return_in_memory_ms_64): Sync 16-byte sized mode handling with
1849         handling infunction_value_64 function.
1851 2013-02-04  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1853         * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
1855 2013-02-04  Richard Biener  <rguenther@suse.de>
1857         PR tree-optimization/56188
1858         * tree-ssa-structalias.c (label_visit): Consider case with
1859         initially non-empty points-to set.
1860         (perform_var_substitution): Dump node mapping and clean up.
1862 2013-02-04  Richard Guenther  <rguenther@suse.de>
1864         PR lto/56168
1865         * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
1866         node prevail as last resort.
1867         (lto_symtab_merge_decls): Remove guard on LTRANS here.
1868         (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
1870 2013-02-04  Richard Biener  <rguenther@suse.de>
1872         PR tree-optimization/56113
1873         * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
1874         Merge into ...
1875         (equiv_class_lookup_or_add): ... this.
1876         (label_visit): Adjust and fix error in previous patch.
1877         (perform_var_substitution): Adjust.
1879 2013-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
1881         * config/sh/divtab.c: Fix formatting and comments throughout the file.
1882         * config/sh/sh4-300.md: Likewise.
1883         * config/sh/sh4a.md: Likewise.
1884         * config/sh/constraints.md: Likewise.
1885         * config/sh/sh.md: Likewise.
1886         * config/sh/netbsd-elf.h: Likewise.
1887         * config/sh/predicates.md: Likewise.
1888         * config/sh/sh-protos.h: Likewise.
1889         * config/sh/ushmedia.h: Likewise.
1890         * config/sh/linux.h: Likewise.
1891         * config/sh/sh.c: Likewise.
1892         * config/sh/superh.h: Likewise.
1893         * config/sh/elf.h: Likewise.
1894         * config/sh/sh4.md: Likewise.
1895         * config/sh/sh.h: Likewise.
1897 2013-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1899         * config/pa/constraints.md: Adjust unused letters.  Change "T"
1900         constraint to match_test floating_point_store_memory_operand().
1901         * config/pa/predicates.md (reg_plus_base_memory_operand): New.
1902         (base14_operand): New.
1903         (floating_point_store_memory_operand): New.
1904         (integer_store_memory_operand): Revise to use base14_operand and
1905         reg_plus_base_memory_operand.
1906         (move_dest_operand): Allow symbolic_memory_operands.
1907         (symbolic_memory_operand): Check for LO_SOM.
1908         (symbolic_operand): Change default case to break.
1909         * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
1910         CONST_DOUBLE values to be reloaded by putting them into memory when
1911         the destination is a floating point register.
1912         (movdf): Remove code to handle CONST_DOUBLE.
1913         (movsf): Likewise.
1914         (reload_indf_r1): New.
1915         (reload_insf_r1): New.
1916         Consistently use "Q" and "T" constraints with integer and floating
1917         point move instructions, respectively.
1918         (movdi): Remove FAIL.
1919         Change predicate for source operand unamed DImode move from
1920         general_operand to move_src_operand.
1921         (umulsidi3): Change predicate for destination operand to
1922         register_operand.
1923         Likewise for similar unamed patterns.
1924         * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
1925         * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
1926         (hppa_legitimize_address): Simplify mask calculation.
1927         (pa_emit_move_sequence): Revised handling of secondary reloads from
1928         REG+D addresses for floating point loads and stores.  Directly handle
1929         loading CONST0_RTX (mode) to a floating point register.
1930         (pa_secondary_reload): Handle reloading DF and SFmode constant values
1931         to floating point registers.  Don't restrict secondary reloads to
1932         floating point registers to integer modes.  Revise some comments and
1933         cleanup some code.
1934         (TARGET_LEGITIMATE_ADDRESS_P): Define.
1935         (pa_legitimate_address_p): New.
1936         (pa_legitimize_reload_address): New.
1937         * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
1938         (STRICT_REG_OK_FOR_BASE_P): New.
1939         (GO_IF_LEGITIMATE_ADDRESS): Delete.  Update some related comments.
1940         (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
1942 2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1943             Andrew Dixie  <andrewd@gentrack.com>
1945         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1946         flag set.
1948 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1950         * expmed.c (extract_bit_field_1): Pass the full width of the
1951         structure to get_best_reg_extraction_insn.
1953 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
1955         PR target/54601
1956         * configure.ac (use_cxa_atexit): Add AIX.
1957         * configure: Regenerate.
1959         * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
1961 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1963         PR debug/54793
1964         * final.c (need_profile_function): New variable.
1965         (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
1966         If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
1967         is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
1968         notes, targetm.asm_out.function_prologue doesn't emit anything,
1969         HAVE_prologue and profiler should be emitted before prologue,
1970         set need_profile_function instead of emitting it.
1971         (final_scan_insn): If need_profile_function, emit
1972         profile_function on the first NOTE_INSN_BASIC_BLOCK or
1973         NOTE_INSN_FUNCTION_BEG note.
1975 2013-02-01  Richard Henderson  <rth@redhat.com>
1977         * config/rs6000/rs6000.md (smulditi3): New.
1978         (umulditi3): New.
1980         * config/alpha/alpha.md (umulditi3): New.
1982 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
1984         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
1985         (ASM_OUTPUT_ALIGNED_LOCAL): New.
1987 2013-02-01  Richard Biener  <rguenther@suse.de>
1989         PR tree-optimization/56113
1990         * tree-ssa-structalias.c (label_visit): Reduce work for
1991         single-predecessor nodes.
1993 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1995         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1996         range isn't testing for zero.
1998 2013-01-31  Steven Bosscher  <steven@gcc.gnu.org>
2000         PR middle-end/56113
2001         * fwprop.c (fwprop_init): Set up loops without CFG modifications.
2003 2013-01-31  Hiroyuki Ono  <hiroyuki.ono.jc@renesas.com>
2004             Nick Clifton  <nickc@redhat.com>
2006         * config/v850/constraints.md (Q): Define as a memory constraint.
2007         * config/v850/predicates.md (label_ref_operand): New predicate.
2008         (e3v5_shift_operand): New predicate.
2009         (ior_operator): New predicate.
2010         * config/v850/t-v850: Add e3v5 multilib.
2011         * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
2012         (v850_gen_movdi): Prototype.
2013         * config/v850/v850.c: Add support for e3v5 architecture.
2014         Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
2015         TARGET_V850E_UP.
2016         (construct_save_jarl): Add e3v5 long JARL support.
2017         (v850_adjust_insn_length): New function.  Adjust length of call
2018         insns when using e3v5 instructions.
2019         (v850_gen_movdi): New function: Generate instructions to move a
2020         DImode value.
2021         * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
2022         (CPP_SPEC): Define __v850e3v5__ as appropriate.
2023         (TARGET_USE_FPU): Enable for e3v5.
2024         (CONST_OK_FOR_W): New macro.
2025         (ADJUST_INSN_LENGTH): Define.
2026         * config/v850/v850.md (UNSPEC_LOOP): Define.
2027         (attr cpu): Add v850e3v5.
2028         Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
2029         (movdi): New pattern.
2030         (movdi_internal): New pattern.
2031         (cbranchsf4): Conditionalize on TARGET_USE_FPU.
2032         (cbranchdf4): Conditionalize on TARGET_USE_FPU.
2033         (cstoresf4): Likewise.
2034         (cstoredf4): Likewise.
2035         (insv): New pattern.
2036         (rotlso3_a): New pattern.
2037         (rotlsi3_b): New pattern
2038         (rotlsi3_v850e3v5): New pattern.
2039         (doloop_begin): New pattern.
2040         (fix_loop_counter): New pattern.
2041         (doloop_end): New pattern.
2042         (branch_normal): Add e3v5 long branch support.
2043         (branch_invert): Likewise.
2044         (branch_z_normal): Likewise.
2045         (branch_z_invert): Likewise.
2046         (branch_nz_normal): Likewise.
2047         (branch_nz_invert): Likewise.
2048         (call_internal_short): Add e3v5 register-indirect JARL support.
2049         (call_internal_long): Likewise.
2050         (call_value_internal_short): Likewise.
2051         (call_value_internal_long): Likewise.
2052         * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
2053         (mloop): New option.
2054         * config.gcc: Add support for configuring v840e3v5 target.
2055         * doc/invoke.texi: Document new v850 specific command line options.
2057 2013-01-31  Paul Koning  <ni1d@arrl.net>
2059         PR debug/55059
2060         PR debug/54508
2061         * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
2062         children if parent is a class.
2063         (prune_unused_types_prune): Don't add DW_AT_declaration.
2065 2013-01-31  Richard Biener  <rguenther@suse.de>
2067         PR tree-optimization/56157
2068         * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
2069         match up operand with SLP child.
2071 2013-01-31  Jason Merrill  <jason@redhat.com>
2073         PR debug/54410
2074         * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
2075         parameters the first time.
2076         (gen_scheduled_generic_parms_dies): Check completeness here.
2078 2013-01-31  Richard Biener  <rguenther@suse.de>
2080         PR middle-end/53073
2081         * common.opt (faggressive-loop-optimizations): New flag,
2082         enabled by default.
2083         * doc/invoke.texi (faggressive-loop-optimizations): Document.
2084         * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
2085         infer_loop_bounds_from_undefined by it.
2087 2013-01-31  Richard Biener  <rguenther@suse.de>
2089         PR tree-optimization/56150
2090         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
2091         visit virtual operands.
2092         (find_uses_to_rename_bb): Likewise.
2094 2013-01-31  Richard Biener  <rguenther@suse.de>
2096         PR tree-optimization/56150
2097         * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
2098         mixed store non-store stmts.
2100 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
2102         PR sanitizer/55374
2103         * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
2104         LIBASAN_EARLY_SPEC is defined.
2105         (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
2106         (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
2107         before %o.
2108         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
2110         PR c++/55742
2111         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
2112         invalid args instead of ICEing on it.
2113         (ix86_valid_target_attribute_tree): Return error_mark_node if
2114         ix86_valid_target_attribute_inner_p failed.
2115         (ix86_valid_target_attribute_p): Return false only if
2116         ix86_valid_target_attribute_tree returned error_mark_node.  Allow
2117         target("default") attribute.
2118         (sorted_attr_string): Change argument from const char * to tree,
2119         merge in all target attribute arguments rather than just one.
2120         Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC
2121         instead of free.  Avoid using strcat.
2122         (ix86_mangle_function_version_assembler_name): Mangle
2123         target("default") as if no target attribute is present.  Adjust
2124         sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC
2125         instead of xmalloc and XDELETEVEC instead of free.
2126         (ix86_function_versions): Don't return true if one of the decls
2127         doesn't have target attribute.  If they don't and one of the decls
2128         is DECL_FUNCTION_VERSIONED, report an error.  Adjust
2129         sorted_attr_string caller.  Use XDELETEVEC instead of free.
2130         (ix86_supports_function_versions): Remove.
2131         (make_name): Fix up formatting.
2132         (make_dispatcher_decl): Remove resolver_name and its initialization.
2133         Avoid leaking memory.
2134         (is_function_default_version): Return true if there is
2135         target("default") attribute rather than no target attribute at all.
2136         (make_resolver_func): Avoid leaking memory.
2137         (ix86_generate_version_dispatcher_body): Likewise.
2138         (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
2139         * target.def (supports_function_versions): Remove.
2140         * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
2141         * doc/tm.texi: Regenerated.
2143 2013-01-30  Vladimir Makarov  <vmakarov@redhat.com>
2145         PR rtl-optimization/56144
2146         * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
2147         for values with side effects.
2149 2013-01-30  Richard Biener  <rguenther@suse.de>
2151         * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
2152         (sparseset_pop): Likewise.
2153         * cfganal.c (compute_idf): Likewise.  Increase work-stack size
2154         to be able to use quick_push in the worker loop.
2156 2013-01-30  Marek Polacek  <polacek@redhat.com>
2158         * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
2160 2013-01-30  Richard Biener  <rguenther@suse.de>
2162         PR lto/56147
2163         * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
2165 2013-01-30  Georg-Johann Lay  <avr@gjlay.de>
2167         PR tree-optimization/56064
2168         * fixed-value.c (fixed_from_double_int): New function.
2169         * fixed-value.h (fixed_from_double_int): New prototype.
2170         (const_fixed_from_double_int): New static inline function.
2171         * fold-const.c (native_interpret_fixed): New static function.
2172         (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
2173         (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
2174         (native_encode_fixed): New static function.
2175         (native_encode_expr) <FIXED_CST>: Use it.
2176         (native_interpret_int): Move double_int worker code to...
2177         * double-int.c (double_int::from_buffer): ...this new static method.
2178         * double-int.h (double_int::from_buffer): Prototype it.
2180 2013-01-30  Richard Biener  <rguenther@suse.de>
2182         * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
2183         New pointer-map and obstack.
2184         (init_alias_vars): Allocate pointer-map and obstack.
2185         (delete_points_to_sets): Free them.
2186         (find_what_var_points_to): Cache result.
2187         (find_what_p_points_to): Adjust for changed interface of
2188         find_what_var_points_to.
2189         (compute_points_to_sets): Likewise.
2190         (ipa_pta_execute): Likewise.
2192 2013-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2194         * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
2195         * configure: Regenerate.
2196         * config.in: Regenerate.
2197         * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
2198         #nobits/#progbits if supported.
2200 2013-01-29  Oleg Endo  <olegendo@gcc.gnu.org>
2202         PR target/56121
2203         * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
2204         bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
2205         bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
2207 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
2209         * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
2210         (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
2212 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
2214         * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
2215         * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
2217 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
2219         * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
2220         declaration.
2221         * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
2222         * config/arm/cortex-a7.md: New bypasses using
2223         arm_mac_accumulator_is_result.
2225 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
2227         * config/arm/cortex-a7.md (cortex_a7_neon_mul):  New reservation.
2228         (cortex_a7_neon_mla): Likewise.
2229         (cortex_a7_fpfmad): New reservation.
2230         (cortex_a7_fpmacs): Use ffmas and update required units.
2231         (cortex_a7_fpmuld): Update required units and latency.
2232         (cortex_a7_fpmacd): Likewise.
2233         (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
2234         (cortex_a7_neon). Likewise.
2235         (bypass) Update participating units.
2237 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
2239         * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
2240         * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
2241         from fmac to ffma.
2242         * config/arm/vfp11.md (vfp_farith): Use ffmas.
2243         (vfp_fmul): Use ffmad.
2244         * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
2245         (cortex_r4_fmacd): Use ffmad.
2246         * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
2247         * config/arm/cortex-a9.md (cortex_a9_fmacs):  Use ffmas.
2248         (cortex_a9_fmacd): Use ffmad.
2249         * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
2250         (cortex_a8_vfp_macd): Use ffmad.
2251         * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
2252         (cortex_a5_fpmacd): Use ffmad.
2253         * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
2254         (cortex_a15_vfp_macd): Use ffmad.
2255         * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
2257 2013-01-29  Jason Merrill  <jason@redhat.com>
2259         PR libstdc++/54314
2260         * varasm.c (default_assemble_visibility): Don't warn about
2261         visibility on artificial decls.
2263 2013-01-29  Richard Biener  <rguenther@suse.de>
2265         PR tree-optimization/56113
2266         * tree-ssa-structalias.c (equiv_class_lookup): Also return
2267         the bitmap leader.
2268         (label_visit): Free duplicate bitmaps and record the leader instead.
2269         (perform_var_substitution): Adjust.
2271 2013-01-29  Richard Biener  <rguenther@suse.de>
2273         PR tree-optimization/55270
2274         * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
2275         the CFG, schedule loops for fixup.
2277 2013-01-29  Nick Clifton  <nickc@redhat.com>
2279         * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
2280         SP_REG.
2282 2013-01-28  Leif Ekblad  <leif@rdos.net>
2284         * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
2285         * config/i386/i386.h (TARGET_RDOS): New macro.
2286         (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
2287         * config/i386/i386.c (ix86_option_override_internal): For 64bit
2288         TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
2289         * config/i386/i386.opt (mlarge-data-threshold): Initialize to
2290         DEFAULT_LARGE_SECTION_THRESHOLD.
2291         * config/i386/i386.md (R14_REG, R15_REG): New constants.
2292         * config/i386/rdos.h: New file.
2293         * config/i386/rdos64.h: New file.
2295 2013-01-28  Bernd Schmidt  <bernds@codesourcery.com>
2297         PR other/54814
2298         * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
2299         TEST_HARD_REG_BIT.
2301 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
2303         PR rtl-optimization/56117
2304         * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
2305         call cselib_lookup_from_insn on the MEM before calling
2306         add_insn_mem_dependence.
2308 2013-01-28  Richard Biener  <rguenther@suse.de>
2310         * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
2311         to a stmt that didn't have one.
2312         (copy_phis_for_bb): Likewise for PHI arguments.
2313         (copy_debug_stmt): Likewise for debug stmts.
2315 2013-01-28  Richard Biener  <rguenther@suse.de>
2317         PR tree-optimization/56034
2318         * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
2319         (partition_builtin_p): Adjust.
2320         (generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
2321         it is the last partition.
2322         (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
2323         up the vertex for the definition.
2324         (classify_partition): Classify whether a partition is a
2325         PKIND_REDUCTION, thus has uses outside of the loop.
2326         (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
2327         Merge all PKIND_REDUCTION partitions into the last partition.
2328         (tree_loop_distribution): Seed partitions from reductions as well.
2330 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
2332         PR tree-optimization/56125
2333         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
2334         pow(x,c) into sqrt(x) * powi(x, n/2) or
2335         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
2336         optimizing for size.
2337         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
2338         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
2339         integer.
2341         PR tree-optimization/56094
2342         * gimplify.c (force_gimple_operand_1): Temporarily set input_location
2343         to UNKNOWN_LOCATION while gimplifying expr.
2345 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
2347         PR target/56114
2348         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
2349         operand 0 in movabs insn template for -masm=intel asm alternative.
2350         (*movabs<mode>_2): Ditto for operand 1.
2352 2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>
2354         PR target/54663
2355         * config.gcc (microblaze*-linux*): Add tmake_file to allow building
2356         of microblaze-c.o
2358 2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2360         * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
2361         tm_file.
2363 2013-01-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
2365         * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
2366         Undef to avoid warning.
2368 2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
2370         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
2371         * configure: Regenerate.
2373 2013-01-25  Jakub Jelinek  <jakub@redhat.com>
2375         PR tree-optimization/56098
2376         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
2377         for stmts with volatile ops.
2378         (cond_store_replacement): Don't optimize if assign has volatile ops.
2379         (cond_if_else_store_replacement_1): Don't optimize if either
2380         then_assign or else_assign have volatile ops.
2381         (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
2382         volatile ops.
2384 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
2386         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
2388 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
2390         * doc/extend.texi (Example of asm with clobbered asm reg): Fix
2391         missing ':' in asm example.
2393 2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>
2395         * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
2396         entries into lane and laneq entries.
2397         * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
2398         Remove AdvSIMD scalar modes.
2399         (aarch64_sq<r>dmulh_laneq<mode>): New.
2400         (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
2401         modes.
2402         * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
2403         builtin implementations to relfect changes in RTL in aarch64-simd.md.
2404         * config/aarch64/iterators.md (VCOND): New.
2405         (VCONQ): New.
2407 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
2409         PR target/54222
2410         * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
2411         Add NULL LIBNAME argument to existing definitions.
2412         (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
2413         * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
2414         * config/avr/avr.c (DEF_BUILTIN): Same.
2415         (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
2416         (avr_expand_builtin): Expand to a vanilla call if a libgcc
2417         implementation is available (DECL_ASSEMBLER_NAME is set).
2418         (avr_fold_absfx): New static function.
2419         (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
2420         AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
2421         AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
2422         AVR_BUILTIN_ABSLLK.
2423         * config/avr/stdfix.h (abshr, absr, abslr, absllr)
2424         (abshk, absk, abslk, absllk): Provide as static inline functions.
2426 2013-01-25  Marek Polacek  <polacek@redhat.com>
2428         PR tree-optimization/56035
2429         * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
2431 2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
2433         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
2434         (*movtf_internal_rex64): Add (!o,C) alternative
2435         (*movxf_internal_rex64): Ditto.
2436         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
2438 2013-01-24  Shenghou Ma  <minux.ma@gmail.com>
2440         * doc/invoke.texi: fix typo.
2441         * doc/objc.texi: fix typo.
2443 2013-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
2445         * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
2446         for the first two alternatives.
2448 2013-01-24  Diego Novillo  <dnovillo@google.com>
2450         * Makefile.in (GGC): Remove.  Replace all instances with ggc-page.o.
2451         (ggc-zone.o): Remove.
2452         * configure.ac: Remove option --with-gc.
2453         * configure: Re-generate.
2454         * doc/install.texi: Remove documentation for --with-gc.
2455         * gengtype.c (write_enum_defn): Remove.  Update all users.
2456         (write_Types_process_field): Remove generation of gt_e_* argument.
2457         (output_type_enum): Remove.  Update all users.
2458         (write_enum_defn): Remove.  Update all users.
2459         (enum alloc_zone): Remove.  Update all users.
2460         (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
2461         * ggc-common.c (ggc_splay_alloc): Remove first argument.
2462         Update all callers.
2463         (struct ptr_data): Remove field TYPE.  Update all users.
2464         (gt_pch_note_object): Remove argument TYPE.  Update all users.
2465         * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
2466         Update all users.
2467         * ggc-none.c (ggc_alloc_typed_stat): Remove.
2468         (struct alloc_zone): Remove.
2469         (ggc_internal_alloc_zone_stat): Remove.
2470         (ggc_internal_cleared_alloc_zone_stat): Remove.
2471         * ggc-page.c (ggc_alloc_typed_stat): Remove.
2472         (ggc_pch_count_object): Remove last argument.  Update all users.
2473         (ggc_pch_alloc_object): Remove last argument.  Update all users.
2474         (struct alloc_zone): Remove.
2475         * ggc-zone.c: Remove.
2476         * ggc.h (gt_pch_note_object): Remove last argument.  Update all users.
2477         (struct alloc_zone): Remove.
2478         (ggc_alloc_typed_stat): Remove.
2479         (ggc_alloc_typed): Remove.
2480         (ggc_splay_alloc): Remove first argument.
2481         (rtl_zone): Remove.  Update all users.
2482         (tree_zone): Remove.  Update all users.
2483         (tree_id_zone): Remove.  Update all users.
2484         (ggc_internal_zone_alloc_stat): Remove.  Update all users.
2485         (ggc_internal_zone_cleared_alloc_stat): Remove.  Update all users.
2486         (ggc_internal_zone_vec_alloc_stat): Remove.  Update all users.
2487         * tree-ssanames.c: Remove references to zone allocator in comments.
2489 2013-01-24  Georg-Johann Lay  <avr@gjlay.de>
2491         * config/avr/avr.c (avr_out_fract): Make register numbers that
2492         might be outside of source operand signed.
2494 2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
2496         * config/i386/constraints.md (Yf): New constraint.
2497         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
2498         of f constraint to conditionaly disable x87 register preferences.
2499         (*movdf_internal): Ditto.
2500         (*movsf_internal): Ditto.
2502 2013-01-24  Steven Bosscher  <steven@gcc.gnu.org>
2504         PR inline-asm/55934
2505         * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
2506         that have operands with impossible constraints.
2507         Add a FIXME for a speed-up opportunity.
2508         * lra-constraints.c (process_alt_operands): Verify that a class
2509         selected from constraints on asms is valid for the operand mode.
2510         (curr_insn_transform): Remove incorrect comment.
2512 2013-01-23  David Edelsohn  <dje.gcc@gmail.com>
2514         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
2515         TOC operand is a valid symbol ref in the constant pool.
2517 2013-01-23  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2519         * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
2521 2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
2523         PR target/54222
2524         * config/avr/stdfix.h: New file.
2525         * t-avr (stdfix-gcc.h): New rule to build it.
2526         (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
2528 2013-01-23  Kostya Serebryany  <kcc@google.com>
2530         * config/darwin.h: remove dependency on
2531         CoreFoundation (asan on Mac OS).
2533 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
2535         PR target/49069
2536         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
2537         instead of cmpdi_operand for first comparison operand.
2538         Don't assert that comparison operands aren't both constants.
2540 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2542         * doc/install.texi (Downloading the Source): Update references to
2543         downloading separate components.
2545 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2547         * doc/extend.texi (__int128): Improve grammar.
2549 2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
2551         PR target/56028
2552         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
2553         alternative to (o,r).
2554         (*movdi_internal_rex64): Remove (!o,n) alternative.
2555         (DImode immediate->memory splitter): Remove.
2556         (DImode immediate->memory peephole2): Remove.
2557         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
2558         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
2559         alternative to (!o,*r).
2560         (*movtf_internal_sse): New pattern.
2561         (*movxf_internal_rex64): New pattern.
2562         (*movxf_internal): Disable for TARGET_64BIT.
2563         (*movdf_internal_rex64): Remove (!o,F) alternative.
2565 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2567         PR middle-end/56074
2568         * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
2569         isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
2570         * tree-vect-loop-manip.c (find_loop_location): Also ignore
2571         stmt locations where LOCATION_LOCUS of the stmt location is
2572         UNKNOWN_LOCATION or BUILTINS_LOCATION.
2574         PR target/55686
2575         * config/i386/i386.md (UNSPEC_STOS): New.
2576         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
2577         *strsetqi_1): Add UNSPEC_STOS.
2579 2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>
2581         PR c++/56067
2582         * doc/invoke.texi: Remove left over -Wsynth example.
2584 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
2586         PR tree-optimization/56051
2587         * fold-const.c (fold_binary_loc): Don't fold
2588         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
2589         a narrowing conversion, or widening conversion from signed
2590         to unsigned.
2592 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
2594         PR rtl-optimization/56023
2595         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
2596         dependent on debug instruction.
2598 2013-01-21  Martin Jambor  <mjambor@suse.cz>
2600         PR middle-end/56022
2601         * function.c (allocate_struct_function): Call
2602         invoke_set_current_function_hook earlier.
2604 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
2606         * reload1.c (init_reload): Only initialize reload_obstack
2607         during the first call.
2609 2013-01-21  Marek Polacek  <polacek@redhat.com>
2611         * cfgloop.c (verify_loop_structure): Fix up grammar.
2613 2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>
2615         * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
2616         pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
2618 2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2620         PR target/56058
2621         * config/arm/marvell-pj4.md: Update copyright year.
2622         Fix up use of alu to alu_reg and simple_alu_imm.
2624 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
2626         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
2628 2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>
2630         PR target/55433
2631         * lra-constraints.c (curr_insn_transform): Don't reuse original
2632         insn for secondary memory move when memory mode should be different.
2634 2013-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2636         * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
2637         atomic_storedi_1): New patterns.
2639 2013-01-20  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
2641         btver2 pipeline descriptions.
2642         * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
2643         descriptions.
2644         * config/i386/i386.md (btver2_decode): New type attributes.
2645         * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
2646         type attributes.
2647         * config/i386/btver2.md: New file describing btver2 pipelines.
2649 2013-01-19  Andrew Pinski  <apinski@cavium.com>
2651         PR tree-optimization/52631
2652         * tree-ssa-sccvn (visit_use): Before looking up the original
2653         statement, try looking up the simplified expression.
2655 2013-01-19  Anthony Green  <green@moxielogic.com>
2657         * config/moxie/moxie.c (moxie_expand_prologue): Set
2658         current_function_static_stack_size.
2660 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
2662         PR tree-optimization/56029
2663         * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
2664         gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
2666 2013-01-18  Sharad Singhai  <singhai@google.com>
2668         PR tree-optimization/55995
2669         * dumpfile.c (dump_loc): Print location only if available.
2670         * tree-vectorizer.c (increase_alignment): Intialize vect_location.
2672 2013-01-18  Vladimir Makarov  <vmakarov@redhat.com>
2674         PR target/55433
2675         * lra-constraints.c (curr_insn_transform): Reuse original insn for
2676         secondary memory move.
2677         (inherit_reload_reg): Use rclass instead of cl for
2678         check_secondary_memory_needed_p.
2680 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
2682         PR middle-end/56015
2683         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
2684         the case where writing real complex part of target modifies op1.
2686 2013-01-18  James Greenhalgh  <james.greenhalgh@arm.com>
2688         * config/aarch64/aarch64-simd.md
2689         (aarch64_vcond_internal<mode>): Handle unordered cases.
2690         * config/aarch64/iterators.md (v_cmp_result): New.
2692 2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
2693             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2695         * config/arm/marvell-pj4.md: New file.
2696         * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
2697         * config/arm/arm.md (generic_sched): Add marvell_pj4.
2698         (generic_vfp): Likewise.
2699         * config/arm/arm-cores.def: Add marvell-pj4.
2700         * config/arm/arm-tune.md: Regenerate.
2701         * config/arm/arm-tables.opt: Regenerate.
2702         * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
2703         * doc/invoke.texi: Document marvell-pj4.
2705 2013-01-18  Tejas Belagod  <tejas.belagod@arm.com>
2707         * config/aarch64/arm_neon.h: Map scalar types to standard types.
2709 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
2711         PR debug/54114
2712         PR debug/54402
2713         PR debug/49888
2714         * var-tracking.c (negative_power_of_two_p): New.
2715         (global_get_addr_cache, local_get_addr_cache): New.
2716         (get_addr_from_global_cache, get_addr_from_local_cache): New.
2717         (vt_canonicalize_addr): Rewrite using the above.  Adjust the
2718         heading comment.
2719         (vt_stack_offset_p): Remove.
2720         (vt_canon_true_dep): Always canonicalize loc's address.
2721         (clobber_overlapping_mems): Make sure we have a MEM.
2722         (local_get_addr_clear_given_value): New.
2723         (val_reset): Clear local cached entries.
2724         (compute_bb_dataflow): Create and release the local cache.
2725         Disable duplicate MEMs clobbering.
2726         (emit_notes_in_bb): Clobber MEMs likewise.
2727         (vt_emit_notes): Create and release the local cache.
2728         (vt_initialize, vt_finalize): Create and release the global
2729         cache, respectively.
2730         * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
2732 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
2734         PR libmudflap/53359
2735         * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
2736         not found in the symtab.
2738 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
2740         PR debug/56006
2741         PR rtl-optimization/55547
2742         PR rtl-optimization/53827
2743         PR debug/53671
2744         PR debug/49888
2745         * alias.c (offset_overlap_p): New, factored out of...
2746         (memrefs_conflict_p): ... this.  Use absolute sizes.  Retain
2747         the conservative special case for symbolic constants.  Don't
2748         adjust zero sizes on alignment.
2750 2013-01-18  Bernd Schmidt  <bernds@codesourcery.com>
2752         PR rtl-optimization/52573
2753         * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
2754         REG_UNUSED for the same register.
2756 2013-01-17  Richard Biener  <rguenther@suse.de>
2757             Marek Polacek  <polacek@redhat.com>
2759         PR rtl-optimization/55833
2760         * loop-unswitch.c (unswitch_loops): Move loop verification...
2761         (unswitch_single_loop): ...here.  Call mark_irreducible_loops.
2762         * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
2763         Set it to true when we're removing a loop from hierarchy tree in
2764         an irreducible region.
2765         (fix_bb_placements): Adjust caller.
2766         (fix_loop_placements): Likewise.
2768 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
2770         * config/avr/builtins.def (DEF_BUILTIN): Factor out
2771         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
2772         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
2773         Remove ID.  Adjust comments.
2774         * config/avr/avr-c.c (avr_builtin_name): Remove.
2775         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
2776         * config/avr/avr.c (avr_tolower): New static function.
2777         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
2778         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
2779         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
2780         default expansion.
2782 2013-01-17  Jan Hubicka  <jh@suse.cz>
2784         PR tree-optimization/55273
2785         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
2787 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
2789         PR target/55981
2790         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
2791         store through atomic_store<mode>_1.
2792         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
2794 2013-01-17  Martin Jambor  <mjambor@suse.cz>
2796         PR tree-optimizations/55264
2797         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
2798         for virtual methods.
2799         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
2800         virtual methods before inlining is over.
2801         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
2802         virtual functions.
2803         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
2804         non-virtual.
2806 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
2808         PR rtl-optimization/56005
2809         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
2810         pending reads for prefetch.
2812 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
2814         * config/aarch64/aarch64.md
2815         (*cstoresi_neg_uxtw): New pattern.
2816         (*cmovsi_insn_uxtw): New pattern.
2817         (*<optab>si3_uxtw): New pattern.
2818         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
2819         (*<optab>si3_insn_uxtw): New pattern.
2820         (*bswapsi2_uxtw): New pattern.
2822 2013-01-16  Richard Biener  <rguenther@suse.de>
2824         * tree-inline.c (tree_function_versioning): Remove set but
2825         never used variable.
2827 2013-01-16  Richard Biener  <rguenther@suse.de>
2829         PR tree-optimization/55964
2830         * tree-flow.h (rename_variables_in_loop): Remove.
2831         (rename_variables_in_bb): Likewise.
2832         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
2833         (copy_loop_before): Adjust and delete update-ssa status.
2834         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
2835         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
2836         (rename_variables_in_loop): Remove.
2837         (slpeel_update_phis_for_duplicate_loop): Likewise.
2838         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
2839         use available cfg machinery instead of duplicating it.
2840         Update PHI nodes and perform poor-mans SSA update here.
2841         (slpeel_tree_peel_loop_to_edge): Adjust.
2843 2013-01-16  Richard Biener  <rguenther@suse.de>
2845         PR tree-optimization/54767
2846         PR tree-optimization/53465
2847         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
2848         (vrp_visit_phi_node): For PHI arguments coming via backedges
2849         drop all symbolical range information.
2850         (execute_vrp): Compute backedges.
2852 2013-01-16  Richard Biener  <rguenther@suse.de>
2854         * doc/install.texi: Update CLooG and ISL requirements to
2855         0.18.0 and 0.11.1.
2857 2013-01-16  Christian Bruel  <christian.bruel@st.com>
2859         PR target/55301
2860         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
2861         (broken_move): Handle UNSPECV_SP_SWITCH_B.
2862         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
2864 2013-01-16  DJ Delorie  <dj@redhat.com>
2866         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
2867         (UNSPECV_SP_SWITCH_E): New.
2868         (sp_switch_1): Change to an unspec.
2869         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
2870         replace $r15.
2872 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
2874         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
2875         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
2876         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
2877         (expand_mem_thread_fence): Ditto.
2878         (expand_mem_signal_fence): Ditto.
2879         (expand_atomic_load): Ditto.
2880         (expand_atomic_store): Ditto.
2882 2013-01-16  Alexandre Oliva  <aoliva@redhat.com>
2884         PR rtl-optimization/55547
2885         PR rtl-optimization/53827
2886         PR debug/53671
2887         PR debug/49888
2888         * alias.c (memrefs_conflict_p): Set sizes to negative after
2889         AND adjustments.
2891 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
2893         PR target/55940
2894         * function.c (thread_prologue_and_epilogue_insns): Always
2895         add crtl->drap_reg to set_up_by_prologue.set, even if
2896         stack_realign_drap is false.
2898 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
2900         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
2901         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
2902         *call): Fix indention.
2904 2013-01-15  Tom de Vries  <tom@codesourcery.com>
2906         PR target/55876
2907         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
2908         Update comment.
2910 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
2912         PR rtl-optimization/55153
2913         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
2915 2013-01-15  Martin Jambor  <mjambor@suse.cz>
2917         PR tree-optimization/55920
2918         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
2919         accesses as grp_to_be_debug_replaced.
2921 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
2923         PR tree-optimization/55920
2924         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
2925         there is non-useless type conversion needed from debug rhs to lhs,
2926         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
2928 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
2929             Mikael Pettersson  <mikpe@it.uu.se>
2931         PR target/43961
2932         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
2933         Thumb.
2934         (ASM_OUTPUT_CASE_LABEL): Remove.
2935         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
2936         * final.c (shorten_branches): Update alignment of labels before
2937         jump tables if CASE_VECTOR_SHORTEN_MODE.
2939 2013-01-15  Richard Biener  <rguenther@suse.de>
2941         PR bootstrap/55961
2942         * system.h: Do not include gmp.h for building host tools.
2944 2013-01-15  Richard Biener  <rguenther@suse.de>
2946         PR middle-end/55882
2947         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
2948         account for bitpos when computing alignment.
2950 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
2952         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
2953         (ix86_target_macros_internal): Likewise.
2955         * config/i386/i386.c (m_CORE2I7): Removed.
2956         (m_CORE_HASWELL): New macro.
2957         (m_CORE_ALL): Likewise.
2958         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
2959         (initial_ix86_arch_features): Likewise.
2960         (processor_target_table): Initializations for Core avx2.
2961         (cpu_names): New names "core-avx2".
2962         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
2963         PROCESSOR_CORE_HASWELL.
2964         (ix86_issue_rate): New case.
2965         (ia32_multipass_dfa_lookahead): Likewise.
2966         (ix86_sched_init_global): Likewise.
2968         * config/i386/i386.h (TARGET_HASWELL): New macro.
2969         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
2970         (processor_type): New PROCESSOR_HASWELL.
2972 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
2974         PR tree-optimization/55955
2975         * tree-vect-loop.c (vectorizable_reduction): Give up early on
2976         *SHIFT_EXPR and *ROTATE_EXPR codes.
2978         PR tree-optimization/48766
2979         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
2980         -ftrapv disable -fwrapv.
2982 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
2984         PR target/55974
2985         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
2986         etc. to 1 and not to __flash.
2987         Use LL suffix for __INT24_MAX__ with -mint8.
2988         Use ULL suffix for __UINT24_MAX__ with -mint8.
2990 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
2992         * config/avr/avr-arch.h
2993         (struct base_arch_s): Use typedef avr_arch_t instead.
2994         (struct arch_info_s): Use typedef avr_arch_info_t instead.
2995         (struct mcu_type_s): Use typedef avr_mcu_t instead.
2996         * config/avr/avr.c: Same.
2997         * config/avr/avr-devices.c: Same.
2998         * config/avr/driver-avr.c: Same.
2999         * config/avr/gen-avr-mmcu-texi.c: Same.
3000         * config/avr/avr-mcus.def: Adjust comment.
3002 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
3004         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
3005         * config/aarch64/iterators.md (VALLDI): New.
3007 2013-01-14  Uros Bizjak  <ubizjak@gmail.com>
3008             Andi Kleen  <ak@linux.intel.com>
3010         PR target/55948
3011         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
3012         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
3013         memmodel flag.
3015 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
3017         * config/avr/avr-stdint.h: Remove trailing blanks.
3018         * config/avr/avr-log.h: Same.
3019         * config/avr/avr-arch.h: Same.
3020         * config/avr/avr-devices.c: Same.
3021         * config/avr/avr-dimode.md: Same.
3022         * config/avr/predicates.md: Same.
3023         * config/avr/avr-c.c: Same.  And fix typo.
3025         * config/avr/avr-protos.h: Same.  And:
3026         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
3027         (init_cumulative_args): Rename to avr_init_cumulative_args.
3028         (expand_prologue): Rename to avr_expand_prologue.
3029         (expand_epilogue): Rename to avr_expand_epilogue.
3030         (adjust_insn_length): Rename to avr_adjust_insn_length.
3031         (notice_update_cc): Rename to avr_notice_update_cc.
3032         (final_prescan_insn): Rename to avr_final_prescan_insn.
3033         * config/avr/avr.c: Same.
3034         * config/avr/avr.h: Same.
3035         * config/avr/avr.md: Remove trailing blanks.
3036         (prologue): Use avr_expand_prologue.
3037         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
3039 2013-01-14  Richard Biener  <rguenther@suse.de>
3041         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
3042         verify_location, collect_subblocks): New functions.
3043         (verify_gimple_in_cfg): Verify that locations only reference
3044         BLOCKs in the functions BLOCK tree.
3046 2013-01-14  Richard Biener  <rguenther@suse.de>
3048         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
3049         PHI argument.
3050         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
3051         unshare reference.
3052         (insert_out_of_ssa_copy_on_edge): Likewise.
3053         (rewrite_close_phi_out_of_ssa): Likewise.
3054         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
3055         debug expressions.
3056         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
3057         propagated constants.
3058         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
3059         can not be shared.
3061 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
3063         * config/avr/avr-modes.def: Add GPL copyright notice.
3065 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
3067         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
3068         MEMMODEL_MASK to determine memory model.
3069         (atomic_store<mode>): Ditto from operands[2].
3070         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
3072 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
3074         PR fortran/55935
3075         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
3076         (fold_gimple_assign): Don't call unshare_expr here.
3077         (fold_ctor_reference): Call unshare_expr.
3079 2013-01-13  Terry Guo  <terry.guo@arm.com>
3081         * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
3082         * doc/fragments.texi: Document MULTILIB_REUSE.
3083         * gcc.c (multilib_reuse): New internal spec.
3084         (set_multilib_dir): Also search multilib from multilib_reuse.
3085         * genmultilib (tmpmultilib3): Refactor code.
3086         (tmpmultilib4): Ditto.
3087         (multilib_reuse): New multilib argument.
3089 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
3091         * Makefile.in: Update copyright.
3093 2013-01-12  Tom de Vries  <tom@codesourcery.com>
3095         PR middle-end/55890
3096         * calls.c (expand_call): Check if arg_nr is valid.
3098 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
3100         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
3101         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
3102         documentation.  Add missing '__' in front of
3103         __builtin_ia32_packssdw256.
3105 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3107         PR target/55719
3108         * config/s390/s390.c (s390_preferred_reload_class): Do not return
3109         NO_REGS for larl operands.
3110         (s390_reload_larl_operand): Use s390_load_address instead of
3111         emit_move_insn.
3113 2013-01-11  Richard Biener  <rguenther@suse.de>
3115         * tree-cfg.c (verify_node_sharing_1): Split out from ...
3116         (verify_node_sharing): ... here.
3117         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
3119 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
3121         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
3122         Substitute TREECHECKING.
3123         * configure: Regenerate.
3124         * Makefile.in (TREECHECKING): New.
3126 2013-01-11  Richard Guenther  <rguenther@suse.de>
3128         PR tree-optimization/44061
3129         * tree-vrp.c (extract_range_basic): Compute zero as
3130         value-range for __builtin_constant_p of function parameters.
3132 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
3134         Update copyright years.
3136 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
3138         PR rtl-optimization/55672
3139         * lra-eliminations.c (mark_not_eliminable): Permit addition with
3140         const to be eliminable.
3142 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
3144         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
3145         * configure: Regenerate.
3147 2013-01-10  Richard Biener  <rguenther@suse.de>
3149         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
3151 2013-01-10  Richard Biener  <rguenther@suse.de>
3153         PR bootstrap/55792
3154         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
3155         locations for virtual PHI arguments.
3156         (rewrite_update_phi_arguments): Likewise.
3158 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
3160         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
3161         on to assembler.
3163 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
3165         PR tree-optimization/55921
3166         * tree-complex.c (expand_complex_asm): New function.
3167         (expand_complex_operations_1): Call it for GIMPLE_ASM.
3169 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3171         PR target/55718
3172         * config/s390/s390.c (s390_symref_operand_p)
3173         (s390_loadrelative_operand_p): Merge the two functions.
3174         (s390_check_qrst_address, print_operand_address): Add parameters
3175         to s390_loadrelative_operand_p invokation.
3176         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
3177         (s390_reload_larl_operand, s390_secondary_reload): Use
3178         s390_loadrelative_operand_p instead of s390_symref_operand_p.
3179         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
3181 2013-01-09  Mike Stump  <mikestump@comcast.net>
3183         * dse.c (record_store): Remove unnecessary assert.
3185 2013-01-09  Jan Hubicka  <jh@suse.cz>
3187         PR tree-optimization/55569
3188         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
3189         * cfgloop.h (scale_loop_profile): Likewise.
3191 2013-01-09  Jan Hubicka  <jh@suse.cz>
3193         PR lto/45375
3194         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
3195         functions.
3196         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
3198 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
3200         PR middle-end/55114
3201         * expr.h (maybe_emit_group_store): Declare.
3202         * expr.c (maybe_emit_group_store): New function.
3203         * builtins.c (expand_builtin_int_roundingfn): Call it.
3204         (expand_builtin_int_roundingfn_2): Likewise.
3206 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
3208         PR rtl-optimization/55829
3209         * lra-constraints.c (match_reload): Add code for absent output.
3210         (curr_insn_transform): Add code for reloads of matched inputs
3211         without output.
3213 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
3215         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
3216         attribute of movddup insn to DF.
3217         (*vec_interleave_lowv2df): Ditto.
3218         (vec_dupv2df): Ditto.
3220 2013-01-09  Jan Hubicka  <jh@suse.cz>
3222         PR tree-optimiation/55875
3223         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
3224         EVERY_ITERATION parameter.
3225         (number_of_iterations_exit): Check if exit is executed every iteration.
3226         (idx_infer_loop_bounds): Similarly here.
3227         (n_of_executions_at_most): Simplify
3228         to only test for cases where statement is dominated by the
3229         particular bound; handle correctly the "postdominance" test.
3230         (scev_probably_wraps_p): Use max loop iterations info
3231         as a global bound first.
3233 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
3234             Nick Clifton  <nickc@redhat.com>
3236         * config/v850/v850.md (cbranchsf4): New pattern.
3237         (cstoresf4): New pattern.
3238         (cbranchdf4): New pattern.
3239         (cstoredf4): New pattern.
3240         (movsicc): Disallow floating point comparisons.
3241         (cmpsf_le_insn): Fix order of operators.
3242         (cmpsf_lt_insn): Likewise.
3243         (cmpsf_eq_insn): Likewise.
3244         (cmpdf_le_insn): Likewise.
3245         (cmpdf_lt_insn): Likewise.
3246         (cmpdf_eq_insn): Likewise.
3247         (cmpsf_ge_insn): Use LE comparison.
3248         (cmpdf_ge_insn): Likewise.
3249         (cmpsf_gt_insn): Use LT comparison.
3250         (cmpdf_gt_insn): Likewise.
3251         (cmpsf_ne_insn): Delete pattern.
3252         (cmpdf_ne_insn): Delete pattern.
3253         * config/v850/v850.c (v850_gen_float_compare): Use
3254         gen_cmpdf_eq_insn for NE comparison.
3255         (v850_float_z_comparison_operator)
3256         (v850_float_nz_comparison_operator): Move from here ...
3257         * config/v850/predicates.md: ... to here.  Move GT and GE
3258         comparisons into v850_float_z_comparison_operator.
3259         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
3260         Delete prototype.
3261         (v850_float_nz_comparison_operator): Likewise.
3263 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3265         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
3266         with calls to gen_insvsi/gen_insvdi.
3268 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
3270         * config/i386/i386.c (initial_ix86_tune_features): Set up
3271         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
3273 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
3274             Jakub Jelinek  <jakub@redhat.com>
3276         PR tree-optimization/48189
3277         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
3278         If nitercst is 0, don't predict the exit edge.
3280 2013-01-08  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
3282         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
3283         in asm_fprintf with reg_names.
3284         (aarch64_print_operand_address): Likewise.
3285         (aarch64_return_addr): Likewise.
3286         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
3288 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3290         * config/pa/pa.h (VAL_U6_BITS_P): Define.
3291         (INT_U6_BITS): Likewise.
3292         * config/pa/predicates.md (uint6_operand): New predicate.
3293         (shift5_operand, shift6_operand): Likewise.
3294         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
3295         arith32_operand.
3296         (lshrdi3): Use shift6_operand.
3297         (shrpsi4, shrpdi4): New insn patterns.
3298         (extzv): Delete expander.
3299         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
3300         predicates in unamed zero extract patterns.  Tighten common constraint.
3301         (extv): Delete expander.
3302         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
3303         predicates in unamed sign extract patterns.  Tighten common constraint.
3304         (insv): Delete expander.
3305         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
3306         predicates in unamed insert patterns.  Tighten common constraint.
3307         Change uint32_operand predicate to uint6_operand predicate in unamed
3308         DImode pattern to insert constant values of type 1...1xxxx.
3310 2013-01-04  Jan Hubicka  <jh@suse.cz>
3312         PR tree-optimization/55823
3313         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
3314         issue.
3316 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
3317             Uros Bizjak  <ubizjak@gmail.com>
3319         PR rtl-optimization/55845
3320         * df-problems.c (can_move_insns_across): Stop scanning at
3321         volatile_insn_p source instruction or give up if
3322         across_from .. across_to range contains any volatile_insn_p
3323         instructions.
3325 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
3327         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
3328         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
3329         Declare.
3330         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
3331         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
3333 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
3335         PR fortran/55341
3336         * asan.c (asan_clear_shadow): New function.
3337         (asan_emit_stack_protection): Use it.
3339 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
3341         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
3342         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
3343         with tab instead of space.
3345 2013-01-08  Nick Clifton  <nickc@redhat.com>
3347         * config/rl78/rl78.c (rl78_expand_prologue): Always select
3348         register bank 0 at the start of an interrupt handler.
3349         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
3350         MDBH registers.
3352 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
3354         * config/aarch64/aarch64-simd.md
3355         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
3356         (aarch64_simd_bsl): Likewise.
3357         (aarch64_vcond_internal<mode>): Likewise.
3358         (vcond<mode><mode>): Likewise.
3359         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
3360         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
3362 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
3364         * config/aarch64/aarch64-builtins.c
3365         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
3367 2013-01-08  Martin Jambor  <mjambor@suse.cz>
3369         PR debug/55579
3370         * tree-sra.c (analyze_access_subtree): Return true also after
3371         potentially creating a debug-only replacement.
3373 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
3375         PR middle-end/55890
3376         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
3378         PR tree-optimization/54120
3379         * tree-vrp.c (range_fits_type_p): Don't allow
3380         src_precision < precision from signed vr to unsigned_p
3381         if vr->min or vr->max is negative.
3382         (simplify_float_conversion_using_ranges): Test can_float_p
3383         against CODE_FOR_nothing.
3385 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
3386             Richard Biener  <rguenther@suse.de>
3388         PR middle-end/55851
3389         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
3390         types instead of just INTEGER_TYPE types.
3392 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
3394         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
3395         TF_SIZE): Define.
3397 2013-01-07  Steve Ellcey  <sellcey@mips.com>
3399         PR target/42661
3400         * config/mips/mips.opt: Change mad to mmad to match documentation.
3402 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
3404         PR target/55897
3405         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
3406         .progmemx.data now.
3408 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
3410         PR target/55897
3411         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
3412         (avr_addrspace_t): Add .section_name field.
3413         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
3414         array size.
3415         (avr_addrspace): Same.  Initialize .section_name.  Remove last
3416         NULL entry.  Put __memx into .progmemx.data.
3417         (progmem_section_prefix): Remove.
3418         (avr_asm_init_sections): No need to initialize progmem_section.
3419         (avr_asm_named_section): Use avr_addrspace[].section_name to get
3420         section name prefix.
3421         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
3422         retrieve the progmem section.
3423         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
3424         boundary to run over avr_addrspace[].
3425         (avr_register_target_pragmas): Ditto.
3427 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
3429         * varasm.c (output_constant_def_contents): For asan_protect_global
3430         protected strings, adjust DECL_ALIGN if needed, before testing for
3431         anchored symbols.
3432         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
3433         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
3434         normal decls.
3435         (output_object_block): For asan protected decls, emit asan padding
3436         after their contents.
3437         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
3438         (asan_finish_file): Test it here instead.
3440 2013-01-07  Nick Clifton  <nickc@redhat.com>
3441             Matthias Klose  <doko@debian.org>
3442             Doug Kwan  <dougkwan@google.com>
3443             H.J. Lu  <hongjiu.lu@intel.com>
3445         PR driver/55470
3446         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
3448         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
3450         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
3452         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
3454         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
3456 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
3458         PR target/54461
3459         * doc/install.texi (Cross-Compiler-Specific Options): Document
3460         --with-avrlibc.
3462 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
3464         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
3465         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
3466         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
3467         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
3468         vqmovun_high_s64): Fix source operand number and update copyright.
3470 2013-01-07  Richard Biener  <rguenther@suse.de>
3472         PR middle-end/55890
3473         * gimple.h (gimple_call_builtin_p): New overload.
3474         * gimple.c (validate_call): New function.
3475         (gimple_call_builtin_p): Likewise.
3476         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3477         Use gimple_call_builtin_p.
3478         (find_func_clobbers): Likewise.
3479         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
3480         (strlen_optimize_stmt): Likewise.
3482 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
3484         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
3485         (vld1q_dup_*): Likewise.
3486         (vld1_*): Likewise.
3487         (vld1q_*): Likewise.
3488         (vld1_lane_*): Likewise.
3489         (vld1q_lane_*): Likewise.
3491 2013-01-07  Richard Biener  <rguenther@suse.de>
3493         * lto-streamer.h (LTO_minor_version): Bump to 2.
3495 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
3497         * config/aarch64/aarch64-protos.h
3498         (aarch64_const_double_zero_rtx_p): Rename to...
3499         (aarch64_float_const_zero_rtx_p): ...this.
3500         (aarch64_float_const_representable_p): New.
3501         (aarch64_output_simd_mov_immediate): Likewise.
3502         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
3503         move immediate case.
3504         * config/aarch64/aarch64.c
3505         (aarch64_const_double_zero_rtx_p): Rename to...
3506         (aarch64_float_const_zero_rtx_p): ...this.
3507         (aarch64_print_operand): Allow printing of new constants.
3508         (aarch64_valid_floating_const): New.
3509         (aarch64_legitimate_constant_p): Check for valid floating-point
3510         constants.
3511         (aarch64_simd_valid_immediate): Likewise.
3512         (aarch64_vect_float_const_representable_p): New.
3513         (aarch64_float_const_representable_p): Likewise.
3514         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
3515         (aarch64_output_simd_mov_immediate): New.
3516         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
3517         (*movdf_aarch64): Likewise.
3518         * config/aarch64/constraints.md (Ufc): New.
3519         (Y): call aarch64_float_const_zero_rtx.
3520         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
3522 2013-01-07  Richard Biener  <rguenther@suse.de>
3524         PR tree-optimization/55888
3525         PR tree-optimization/55862
3526         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
3527         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
3528         not if it is contained therein.
3530 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
3532         * config/avr/t-avr: Typo.
3534 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
3536         PR55243
3537         * config/avr/t-avr: Don't automatically rebuild
3538         $(srcdir)/config/avr/t-multilib
3539         $(srcdir)/config/avr/avr-tables.opt
3540         $(srcdir)/doc/avr-mmcu.texi
3541         (avr-mcus): New phony target to build them on request.
3542         (s-avr-mlib, s-avr-mmcu-texi): Remove.
3543         * avr/avr-mcus.def: Adjust comments.
3545 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
3547         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
3549 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
3551         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
3553 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
3555         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
3557 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
3559         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
3560         to generate profiling.
3561         * config/rs6000/aix64.h (LIB_SPEC): Same.
3563 2013-01-04  Andrew Pinski  <apinski@cavium.com>
3565         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
3566         New function.
3567         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3569 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
3571         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
3572         unconditionally.
3573         (ix86_expand_move): Ditto.
3574         (ix86_zero_extend_to_Pmode): Ditto.
3575         (ix86_expand_call): Ditto.
3576         (ix86_expand_special_args_builtin): Ditto.
3577         (ix86_expand_builtin): Ditto.
3579 2013-01-04  Richard Biener  <rguenther@suse.de>
3581         PR tree-optimization/55862
3582         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
3583         translating them through PHI nodes.
3585 2013-01-04  Martin Jambor  <mjambor@suse.cz>
3587         PR tree-optimization/55755
3588         * tree-sra.c (sra_modify_assign): Do not check that an access has no
3589         children when trying to avoid producing a VIEW_CONVERT_EXPR.
3591 2013-01-04  Marek Polacek  <polacek@redhat.com>
3593         PR middle-end/55859
3594         * opts.c (default_options_optimization): Clarify error message.
3596 2013-01-04  Richard Biener  <rguenther@suse.de>
3598         PR middle-end/55863
3599         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
3600         reassociation.
3602 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3604         PR target/53789
3605         * config/pa/pa.md (movsi): Revert previous change.
3606         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
3607         references.
3609 2013-01-03  Richard Henderson  <rth@redhat.com>
3611         * config/i386/i386.c (ix86_expand_move): Always assign to op1
3612         after eliminating TLS symbols.
3614 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
3616         PR bootstrap/50167
3617         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
3618         * graphite-poly.c (debug_gmp_value): Likewise.
3620 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
3622         PR target/55712
3623         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
3624         selected code model, define __code_mode_small__, __code_model_medium__,
3625         __code_model_large__, __code_model_32__ or __code_model_kernel__.
3626         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
3627         xchg temporary register with %k.  Declare temporary register as
3628         early clobbered.
3629         [__x86_64__]: For medium and large code models, preserve %rbx register.
3631 2013-01-03  Richard Biener  <rguenther@suse.de>
3633         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
3634         (dump_subscript): Adjust.
3635         (finalize_ddr_dependent): Do not dump redundant info.
3636         (analyze_siv_subscript): Adjust.
3637         (subscript_dependence_tester): Likewise.
3638         (compute_affine_dependence): Likewise.
3640 2013-01-03  Richard Biener  <rguenther@suse.de>
3642         Revert
3643         2013-01-03  Richard Biener  <rguenther@suse.de>
3645         PR tree-optimization/55857
3646         * tree-vect-stmts.c (vectorizable_load): Do not setup
3647         re-alignment for invariant loads.
3649         2013-01-02  Richard Biener  <rguenther@suse.de>
3651         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
3652         invariant load do not generate a vector load from the scalar location.
3654 2013-01-03  Richard Biener  <rguenther@suse.de>
3656         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
3657         for not vectorizing.
3658         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
3659         not build INDIRECT_REFs, call get_name once only.
3660         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
3661         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
3663 2013-01-03  Richard Biener  <rguenther@suse.de>
3665         PR tree-optimization/55857
3666         * tree-vect-stmts.c (vectorizable_load): Do not setup
3667         re-alignment for invariant loads.
3669 2013-01-03  Richard Biener  <rguenther@suse.de>
3671         PR lto/55848
3672         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
3673         prefer a built-in decl.
3675 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
3677         * gcc.c (process_command): Update copyright notice dates.
3678         * gcov.c (print_version): Likewise.
3679         * gcov-dump.c (print_version): Likewise.
3681         PR rtl-optimization/55838
3682         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
3683         iv0.step, iv1.step and step.
3685 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
3686             Marc Glisse  <marc.glisse@inria.fr>
3688         PR tree-optimization/55832
3689         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
3690         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
3691         integer_{one,zero}_node.
3693 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
3695         PR debug/54402
3696         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
3697         * var-tracking.c (reverse_op): Don't add reverse ops to
3698         VALUEs that have already
3699         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
3701 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
3703         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
3705 2013-01-02  Teresa Johnson  <tejohnson@google.com>
3707         * dumpfile.c (dump_loc): Print filename with location.
3708         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
3709         new location_t parameter to emit complete unroll message with
3710         new dump framework.
3711         (canonicalize_loop_induction_variables): Compute loops location
3712         and pass to try_unroll_loop_completely.
3713         * loop-unroll.c (report_unroll_peel): New function.
3714         (peel_loops_completely): Use new dump format with location
3715         for main dumpfile message, and invoke report_unroll_peel on success.
3716         (decide_unrolling_and_peeling): Ditto.
3717         (decide_peel_once_rolling): Remove old dumpfile message subsumed
3718         by report_unroll_peel.
3719         (decide_peel_completely): Ditto.
3720         (decide_unroll_constant_iterations): Ditto.
3721         (decide_unroll_runtime_iterations): Ditto.
3722         (decide_peel_simple): Ditto.
3723         (decide_unroll_stupid): Ditto.
3724         * cfgloop.c (get_loop_location): New function.
3725         * cfgloop.h (get_loop_location): Declare.
3727 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
3729         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
3730         NULL.
3732 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3734         PR middle-end/55198
3735         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
3736         BLKmode objects when EXPAND_MEMORY is specified.
3738 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
3740         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
3741         in loop predicate.
3742         (fold_builtin_cpu): Do not share cpu model decls across statements.
3744 2013-01-02  Jason Merrill  <jason@redhat.com>
3746         PR c++/55804
3747         * tree.c (build_array_type_1): Revert earlier change.
3749 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
3751         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
3752         "cortex-a57".
3753         * config/aarch64/aarch64-tune.md: Re-generate.
3755 2013-01-02  Richard Biener  <rguenther@suse.de>
3757         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
3758         invariant load do not generate a vector load from the scalar location.
3760 2013-01-02  Richard Biener  <rguenther@suse.de>
3762         PR bootstrap/55784
3763         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
3764         * configure: Regenerate.
3766 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3768         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
3769         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
3770         (expand_builtin_int_roundingfn_2): Keep the original target around
3771         for the fallback case.
3773 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3775         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
3776         to be clear for sign changes.
3778 2013-01-01  Jan Hubicka  <jh@suse.cz>
3780         * ipa-inline-analysis.c: Fix formatting.
3782 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
3784         PR tree-optimization/55831
3785         * tree-vect-loop.c (get_initial_def_for_induction): Use
3786         gsi_after_labels instead of gsi_start_bb.
3788 Copyright (C) 2013 Free Software Foundation, Inc.
3790 Copying and distribution of this file, with or without modification,
3791 are permitted in any medium without royalty provided the copyright
3792 notice and this notice are preserved.