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