re PR target/54222 ([avr] Implement fixed-point support)
[gcc.git] / gcc / ChangeLog
1 2013-02-08 Georg-Johann Lay <avr@gjlay.de>
2
3 PR target/54222
4 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
5 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
6 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
7 (*round<mode>3.libgcc): New insns for fixed-modes.
8 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
9 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
10 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
11 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
12 implementations. Define to __builtin_avr_absFX,
13 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
14 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
15 __builtin_avr_countlsFX, respectively.
16 * config/avr/avr-c.c (target.h): Include it.
17 (enum avr_builtin_id): New enum.
18 (avr_resolve_overloaded_builtin): New static function.
19 (avr_register_target_pragmas): Use it to set
20 targetm.resolve_overloaded_builtin.
21 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
22 tree nodes used by DEF_BUILTIN.
23 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
24 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
25 <AVR_BUILTIN_xxBITS>: Same.
26
27 2013-02-08 Richard Biener <rguenther@suse.de>
28
29 * cfgloop.c (verify_loop_structure): Properly handle
30 a loop exiting to another loop header.
31 * ira-int.h (ira_loops): Remove.
32 * ira.c (ira_loops): Remove.
33 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
34 (do_reload): Use loop_optimizer_finalize.
35 * ira-build.c (create_loop_tree_nodes): Use get_loops and
36 number_of_loops to access the loop tree.
37 (more_one_region_p): Likewise.
38 (finish_loop_tree_nodes): Likewise.
39 (rebuild_regno_allocno_maps): Likewise.
40 (mark_loops_for_removal): Likewise.
41 (mark_all_loops_for_removal): Likewise.
42 (remove_unnecessary_regions): Likewise.
43 (ira_build): Likewise.
44 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
45
46 2013-02-08 Richard Biener <rguenther@suse.de>
47
48 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
49 * ipa-pure-const.c (analyze_function): Avoid calling
50 mark_irreducible_loops twice.
51 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops
52 for fixup.
53
54 2013-02-07 David S. Miller <davem@davemloft.net>
55
56 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
57 on 'reg'.
58 * var-tracking.c (vt_add_function_parameter): Test the presence of
59 HAVE_window_save properly and do not remap argument registers when
60 we have a leaf function.
61
62 2013-02-07 Uros Bizjak <ubizjak@gmail.com>
63
64 PR bootstrap/56227
65 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
66 instead of "ll".
67 * config/i386/i386.c (ix86_print_operand): Ditto.
68
69 2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
70
71 * lra-constraints.c (process_alt_operands): Fix recently added comment.
72
73 2013-02-07 Vladimir Makarov <vmakarov@redhat.com>
74
75 PR rtl-optimization/56225
76 * lra-constraints.c (process_alt_operands): Check that reload hard
77 reg can hold value for strict_low_part.
78
79 2013-02-07 Jakub Jelinek <jakub@redhat.com>
80
81 PR debug/56154
82 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
83 dwarf2out_end_function.
84 (in_first_function_p, maybe_at_text_label_p,
85 first_loclabel_num_not_at_text_label): New variables.
86 (dwarf2out_var_location): In the first function find out
87 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
88 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
89 functions.
90
91 2013-02-07 Eric Botcazou <ebotcazou@adacore.com>
92
93 PR rtl-optimization/56178
94 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
95 SUBREG of a register. Tidy up related block of code.
96 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
97 note if the source is a register or a SUBREG of a register.
98
99 2013-02-07 Jakub Jelinek <jakub@redhat.com>
100
101 PR target/56228
102 * config/rs6000/rs6000.md (ptrm): New mode attr.
103 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
104 call_value_indirect_aix<pttrsize>,
105 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
106 m in constraints.
107
108 2013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
109
110 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
111 if -bnortl. Convert to strcmp and strncmp.
112
113 2013-02-07 Alan Modra <amodra@gmail.com>
114
115 PR target/54009
116 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
117 addresses won't wrap when offsetting.
118 (rs6000_secondary_reload): Provide secondary reloads needed for
119 wrapping LO_SUM addresses.
120
121 2013-02-06 Thomas Schwinge <thomas@codesourcery.com>
122
123 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
124 MACH, just __MACH__.
125
126 2013-02-06 Richard Biener <rguenther@suse.de>
127
128 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
129 instead of calling fix_loop_structure.
130
131 2013-02-06 Jakub Jelinek <jakub@redhat.com>
132
133 PR middle-end/56217
134 * omp-low.c (use_pointer_for_field): Return false if
135 lower_send_shared_vars doesn't generate any copy-out code.
136
137 2013-02-06 Tom de Vries <tom@codesourcery.com>
138
139 PR rtl-optimization/56131
140 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
141 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
142 of the label is NULL. Add comment.
143
144 2013-02-05 Jakub Jelinek <jakub@redhat.com>
145
146 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
147
148 PR sanitizer/55374
149 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
150 (STATIC_LIBTSAN_LIBS): Likewise.
151 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
152 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
153 is defined, don't add anything else beyond that.
154 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
155 (LINK_COMMAND_SPEC): Use them.
156
157 PR tree-optimization/56205
158 * tree-stdarg.c (check_all_va_list_escapes): Return true if
159 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
160 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
161
162 2013-02-05 Richard Biener <rguenther@suse.de>
163
164 PR tree-optimization/53342
165 PR tree-optimization/53185
166 * tree-vectorizer.h (vect_check_strided_load): Remove.
167 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
168 not disallow peeling for vectorized strided loads.
169 (vect_check_strided_load): Make static and simplify.
170 (vect_analyze_data_refs): Adjust.
171 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
172 correctly when vectorizing strided loads.
173
174 2013-02-05 Richard Biener <rguenther@suse.de>
175
176 * doc/install.texi: Refer to ISL, not PPL.
177
178 2013-02-05 Jan Hubicka <jh@suse.cz>
179
180 PR tree-optimization/55789
181 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
182
183 2013-02-05 Jan Hubicka <jh@suse.cz>
184
185 PR tree-optimization/55789
186 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
187 the dead call anyway.
188
189 2013-02-05 Eric Botcazou <ebotcazou@adacore.com>
190
191 PR sanitizer/55374
192 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
193
194 2013-02-04 Alexander Potapenko <glider@google.com>
195 Jack Howarth <howarth@bromo.med.uc.edu>
196 Jakub Jelinek <jakub@redhat.com>
197
198 PR sanitizer/55617
199 * config/darwin.c (sort_ctor_records): Stabilized qsort
200 on constructor priority by using original position.
201 (finalize_ctors): New routine to sort constructors by
202 priority before use in assemble_integer.
203 (machopic_asm_out_constructor): Use finalize_ctors if needed.
204
205 2013-02-04 Jakub Jelinek <jakub@redhat.com>
206
207 PR libstdc++/54314
208 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
209 about visibility on artificial decls.
210 * config/sol2.c (solaris_assemble_visibility): Likewise.
211
212 2013-02-04 Kai Tietz <ktietz@redhat.com>
213
214 PR target/56186
215 * config/i386/i386.c (function_value_ms_64): Add additional valtype
216 argument and improve checking of return-argument types for 16-byte
217 modes.
218 (ix86_function_value_1): Add additional valtype argument on call
219 of function_value_64.
220 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
221 handling infunction_value_64 function.
222
223 2013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
224
225 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
226
227 2013-02-04 Richard Biener <rguenther@suse.de>
228
229 PR tree-optimization/56188
230 * tree-ssa-structalias.c (label_visit): Consider case with
231 initially non-empty points-to set.
232 (perform_var_substitution): Dump node mapping and clean up.
233
234 2013-02-04 Richard Guenther <rguenther@suse.de>
235
236 PR lto/56168
237 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
238 node prevail as last resort.
239 (lto_symtab_merge_decls): Remove guard on LTRANS here.
240 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
241
242 2013-02-04 Richard Biener <rguenther@suse.de>
243
244 PR tree-optimization/56113
245 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
246 Merge into ...
247 (equiv_class_lookup_or_add): ... this.
248 (label_visit): Adjust and fix error in previous patch.
249 (perform_var_substitution): Adjust.
250
251 2013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
252
253 * config/sh/divtab.c: Fix formatting and comments throughout the file.
254 * config/sh/sh4-300.md: Likewise.
255 * config/sh/sh4a.md: Likewise.
256 * config/sh/constraints.md: Likewise.
257 * config/sh/sh.md: Likewise.
258 * config/sh/netbsd-elf.h: Likewise.
259 * config/sh/predicates.md: Likewise.
260 * config/sh/sh-protos.h: Likewise.
261 * config/sh/ushmedia.h: Likewise.
262 * config/sh/linux.h: Likewise.
263 * config/sh/sh.c: Likewise.
264 * config/sh/superh.h: Likewise.
265 * config/sh/elf.h: Likewise.
266 * config/sh/sh4.md: Likewise.
267 * config/sh/sh.h: Likewise.
268
269 2013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
270
271 * config/pa/constraints.md: Adjust unused letters. Change "T"
272 constraint to match_test floating_point_store_memory_operand().
273 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
274 (base14_operand): New.
275 (floating_point_store_memory_operand): New.
276 (integer_store_memory_operand): Revise to use base14_operand and
277 reg_plus_base_memory_operand.
278 (move_dest_operand): Allow symbolic_memory_operands.
279 (symbolic_memory_operand): Check for LO_SOM.
280 (symbolic_operand): Change default case to break.
281 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
282 CONST_DOUBLE values to be reloaded by putting them into memory when
283 the destination is a floating point register.
284 (movdf): Remove code to handle CONST_DOUBLE.
285 (movsf): Likewise.
286 (reload_indf_r1): New.
287 (reload_insf_r1): New.
288 Consistently use "Q" and "T" constraints with integer and floating
289 point move instructions, respectively.
290 (movdi): Remove FAIL.
291 Change predicate for source operand unamed DImode move from
292 general_operand to move_src_operand.
293 (umulsidi3): Change predicate for destination operand to
294 register_operand.
295 Likewise for similar unamed patterns.
296 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
297 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
298 (hppa_legitimize_address): Simplify mask calculation.
299 (pa_emit_move_sequence): Revised handling of secondary reloads from
300 REG+D addresses for floating point loads and stores. Directly handle
301 loading CONST0_RTX (mode) to a floating point register.
302 (pa_secondary_reload): Handle reloading DF and SFmode constant values
303 to floating point registers. Don't restrict secondary reloads to
304 floating point registers to integer modes. Revise some comments and
305 cleanup some code.
306 (TARGET_LEGITIMATE_ADDRESS_P): Define.
307 (pa_legitimate_address_p): New.
308 (pa_legitimize_reload_address): New.
309 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
310 (STRICT_REG_OK_FOR_BASE_P): New.
311 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
312 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
313
314 2013-02-03 David Edelsohn <dje.gcc@gmail.com>
315 Andrew Dixie <andrewd@gentrack.com>
316
317 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
318 flag set.
319
320 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
321
322 * expmed.c (extract_bit_field_1): Pass the full width of the
323 structure to get_best_reg_extraction_insn.
324
325 2013-02-01 David Edelsohn <dje.gcc@gmail.com>
326
327 PR target/54601
328 * configure.ac (use_cxa_atexit): Add AIX.
329 * configure: Regenerate.
330
331 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
332
333 2013-02-01 Jakub Jelinek <jakub@redhat.com>
334
335 PR debug/54793
336 * final.c (need_profile_function): New variable.
337 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
338 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
339 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
340 notes, targetm.asm_out.function_prologue doesn't emit anything,
341 HAVE_prologue and profiler should be emitted before prologue,
342 set need_profile_function instead of emitting it.
343 (final_scan_insn): If need_profile_function, emit
344 profile_function on the first NOTE_INSN_BASIC_BLOCK or
345 NOTE_INSN_FUNCTION_BEG note.
346
347 2013-02-01 Richard Henderson <rth@redhat.com>
348
349 * config/rs6000/rs6000.md (smulditi3): New.
350 (umulditi3): New.
351
352 * config/alpha/alpha.md (umulditi3): New.
353
354 2013-02-01 David Edelsohn <dje.gcc@gmail.com>
355
356 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
357 (ASM_OUTPUT_ALIGNED_LOCAL): New.
358
359 2013-02-01 Richard Biener <rguenther@suse.de>
360
361 PR tree-optimization/56113
362 * tree-ssa-structalias.c (label_visit): Reduce work for
363 single-predecessor nodes.
364
365 2013-02-01 Eric Botcazou <ebotcazou@adacore.com>
366
367 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
368 range isn't testing for zero.
369
370 2013-01-31 Steven Bosscher <steven@gcc.gnu.org>
371
372 PR middle-end/56113
373 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
374
375 2013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
376 Nick Clifton <nickc@redhat.com>
377
378 * config/v850/constraints.md (Q): Define as a memory constraint.
379 * config/v850/predicates.md (label_ref_operand): New predicate.
380 (e3v5_shift_operand): New predicate.
381 (ior_operator): New predicate.
382 * config/v850/t-v850: Add e3v5 multilib.
383 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
384 (v850_gen_movdi): Prototype.
385 * config/v850/v850.c: Add support for e3v5 architecture.
386 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
387 TARGET_V850E_UP.
388 (construct_save_jarl): Add e3v5 long JARL support.
389 (v850_adjust_insn_length): New function. Adjust length of call
390 insns when using e3v5 instructions.
391 (v850_gen_movdi): New function: Generate instructions to move a
392 DImode value.
393 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
394 (CPP_SPEC): Define __v850e3v5__ as appropriate.
395 (TARGET_USE_FPU): Enable for e3v5.
396 (CONST_OK_FOR_W): New macro.
397 (ADJUST_INSN_LENGTH): Define.
398 * config/v850/v850.md (UNSPEC_LOOP): Define.
399 (attr cpu): Add v850e3v5.
400 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
401 (movdi): New pattern.
402 (movdi_internal): New pattern.
403 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
404 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
405 (cstoresf4): Likewise.
406 (cstoredf4): Likewise.
407 (insv): New pattern.
408 (rotlso3_a): New pattern.
409 (rotlsi3_b): New pattern
410 (rotlsi3_v850e3v5): New pattern.
411 (doloop_begin): New pattern.
412 (fix_loop_counter): New pattern.
413 (doloop_end): New pattern.
414 (branch_normal): Add e3v5 long branch support.
415 (branch_invert): Likewise.
416 (branch_z_normal): Likewise.
417 (branch_z_invert): Likewise.
418 (branch_nz_normal): Likewise.
419 (branch_nz_invert): Likewise.
420 (call_internal_short): Add e3v5 register-indirect JARL support.
421 (call_internal_long): Likewise.
422 (call_value_internal_short): Likewise.
423 (call_value_internal_long): Likewise.
424 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
425 (mloop): New option.
426 * config.gcc: Add support for configuring v840e3v5 target.
427 * doc/invoke.texi: Document new v850 specific command line options.
428
429 2013-01-31 Paul Koning <ni1d@arrl.net>
430
431 PR debug/55059
432 PR debug/54508
433 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
434 children if parent is a class.
435 (prune_unused_types_prune): Don't add DW_AT_declaration.
436
437 2013-01-31 Richard Biener <rguenther@suse.de>
438
439 PR tree-optimization/56157
440 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
441 match up operand with SLP child.
442
443 2013-01-31 Jason Merrill <jason@redhat.com>
444
445 PR debug/54410
446 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
447 parameters the first time.
448 (gen_scheduled_generic_parms_dies): Check completeness here.
449
450 2013-01-31 Richard Biener <rguenther@suse.de>
451
452 PR middle-end/53073
453 * common.opt (faggressive-loop-optimizations): New flag,
454 enabled by default.
455 * doc/invoke.texi (faggressive-loop-optimizations): Document.
456 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
457 infer_loop_bounds_from_undefined by it.
458
459 2013-01-31 Richard Biener <rguenther@suse.de>
460
461 PR tree-optimization/56150
462 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
463 visit virtual operands.
464 (find_uses_to_rename_bb): Likewise.
465
466 2013-01-31 Richard Biener <rguenther@suse.de>
467
468 PR tree-optimization/56150
469 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
470 mixed store non-store stmts.
471
472 2013-01-30 Jakub Jelinek <jakub@redhat.com>
473
474 PR sanitizer/55374
475 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
476 LIBASAN_EARLY_SPEC is defined.
477 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
478 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
479 before %o.
480 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
481
482 PR c++/55742
483 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
484 invalid args instead of ICEing on it.
485 (ix86_valid_target_attribute_tree): Return error_mark_node if
486 ix86_valid_target_attribute_inner_p failed.
487 (ix86_valid_target_attribute_p): Return false only if
488 ix86_valid_target_attribute_tree returned error_mark_node. Allow
489 target("default") attribute.
490 (sorted_attr_string): Change argument from const char * to tree,
491 merge in all target attribute arguments rather than just one.
492 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
493 instead of free. Avoid using strcat.
494 (ix86_mangle_function_version_assembler_name): Mangle
495 target("default") as if no target attribute is present. Adjust
496 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
497 instead of xmalloc and XDELETEVEC instead of free.
498 (ix86_function_versions): Don't return true if one of the decls
499 doesn't have target attribute. If they don't and one of the decls
500 is DECL_FUNCTION_VERSIONED, report an error. Adjust
501 sorted_attr_string caller. Use XDELETEVEC instead of free.
502 (ix86_supports_function_versions): Remove.
503 (make_name): Fix up formatting.
504 (make_dispatcher_decl): Remove resolver_name and its initialization.
505 Avoid leaking memory.
506 (is_function_default_version): Return true if there is
507 target("default") attribute rather than no target attribute at all.
508 (make_resolver_func): Avoid leaking memory.
509 (ix86_generate_version_dispatcher_body): Likewise.
510 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
511 * target.def (supports_function_versions): Remove.
512 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
513 * doc/tm.texi: Regenerated.
514
515 2013-01-30 Vladimir Makarov <vmakarov@redhat.com>
516
517 PR rtl-optimization/56144
518 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
519 for values with side effects.
520
521 2013-01-30 Richard Biener <rguenther@suse.de>
522
523 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
524 (sparseset_pop): Likewise.
525 * cfganal.c (compute_idf): Likewise. Increase work-stack size
526 to be able to use quick_push in the worker loop.
527
528 2013-01-30 Marek Polacek <polacek@redhat.com>
529
530 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
531
532 2013-01-30 Richard Biener <rguenther@suse.de>
533
534 PR lto/56147
535 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
536
537 2013-01-30 Georg-Johann Lay <avr@gjlay.de>
538
539 PR tree-optimization/56064
540 * fixed-value.c (fixed_from_double_int): New function.
541 * fixed-value.h (fixed_from_double_int): New prototype.
542 (const_fixed_from_double_int): New static inline function.
543 * fold-const.c (native_interpret_fixed): New static function.
544 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
545 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
546 (native_encode_fixed): New static function.
547 (native_encode_expr) <FIXED_CST>: Use it.
548 (native_interpret_int): Move double_int worker code to...
549 * double-int.c (double_int::from_buffer): ...this new static method.
550 * double-int.h (double_int::from_buffer): Prototype it.
551
552 2013-01-30 Richard Biener <rguenther@suse.de>
553
554 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
555 New pointer-map and obstack.
556 (init_alias_vars): Allocate pointer-map and obstack.
557 (delete_points_to_sets): Free them.
558 (find_what_var_points_to): Cache result.
559 (find_what_p_points_to): Adjust for changed interface of
560 find_what_var_points_to.
561 (compute_points_to_sets): Likewise.
562 (ipa_pta_execute): Likewise.
563
564 2013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
565
566 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
567 * configure: Regenerate.
568 * config.in: Regenerate.
569 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
570 #nobits/#progbits if supported.
571
572 2013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
573
574 PR target/56121
575 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
576 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
577 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
578
579 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
580
581 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
582 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
583
584 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
585
586 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
587 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
588
589 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
590
591 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
592 declaration.
593 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
594 * config/arm/cortex-a7.md: New bypasses using
595 arm_mac_accumulator_is_result.
596
597 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
598
599 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
600 (cortex_a7_neon_mla): Likewise.
601 (cortex_a7_fpfmad): New reservation.
602 (cortex_a7_fpmacs): Use ffmas and update required units.
603 (cortex_a7_fpmuld): Update required units and latency.
604 (cortex_a7_fpmacd): Likewise.
605 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
606 (cortex_a7_neon). Likewise.
607 (bypass) Update participating units.
608
609 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
610
611 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
612 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
613 from fmac to ffma.
614 * config/arm/vfp11.md (vfp_farith): Use ffmas.
615 (vfp_fmul): Use ffmad.
616 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
617 (cortex_r4_fmacd): Use ffmad.
618 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
619 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
620 (cortex_a9_fmacd): Use ffmad.
621 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
622 (cortex_a8_vfp_macd): Use ffmad.
623 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
624 (cortex_a5_fpmacd): Use ffmad.
625 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
626 (cortex_a15_vfp_macd): Use ffmad.
627 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
628
629 2013-01-29 Jason Merrill <jason@redhat.com>
630
631 PR libstdc++/54314
632 * varasm.c (default_assemble_visibility): Don't warn about
633 visibility on artificial decls.
634
635 2013-01-29 Richard Biener <rguenther@suse.de>
636
637 PR tree-optimization/56113
638 * tree-ssa-structalias.c (equiv_class_lookup): Also return
639 the bitmap leader.
640 (label_visit): Free duplicate bitmaps and record the leader instead.
641 (perform_var_substitution): Adjust.
642
643 2013-01-29 Richard Biener <rguenther@suse.de>
644
645 PR tree-optimization/55270
646 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
647 the CFG, schedule loops for fixup.
648
649 2013-01-29 Nick Clifton <nickc@redhat.com>
650
651 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
652 SP_REG.
653
654 2013-01-28 Leif Ekblad <leif@rdos.net>
655
656 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
657 * config/i386/i386.h (TARGET_RDOS): New macro.
658 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
659 * config/i386/i386.c (ix86_option_override_internal): For 64bit
660 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
661 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
662 DEFAULT_LARGE_SECTION_THRESHOLD.
663 * config/i386/i386.md (R14_REG, R15_REG): New constants.
664 * config/i386/rdos.h: New file.
665 * config/i386/rdos64.h: New file.
666
667 2013-01-28 Bernd Schmidt <bernds@codesourcery.com>
668
669 PR other/54814
670 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
671 TEST_HARD_REG_BIT.
672
673 2013-01-28 Jakub Jelinek <jakub@redhat.com>
674
675 PR rtl-optimization/56117
676 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
677 call cselib_lookup_from_insn on the MEM before calling
678 add_insn_mem_dependence.
679
680 2013-01-28 Richard Biener <rguenther@suse.de>
681
682 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
683 to a stmt that didn't have one.
684 (copy_phis_for_bb): Likewise for PHI arguments.
685 (copy_debug_stmt): Likewise for debug stmts.
686
687 2013-01-28 Richard Biener <rguenther@suse.de>
688
689 PR tree-optimization/56034
690 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
691 (partition_builtin_p): Adjust.
692 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
693 it is the last partition.
694 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
695 up the vertex for the definition.
696 (classify_partition): Classify whether a partition is a
697 PKIND_REDUCTION, thus has uses outside of the loop.
698 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
699 Merge all PKIND_REDUCTION partitions into the last partition.
700 (tree_loop_distribution): Seed partitions from reductions as well.
701
702 2013-01-28 Jakub Jelinek <jakub@redhat.com>
703
704 PR tree-optimization/56125
705 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
706 pow(x,c) into sqrt(x) * powi(x, n/2) or
707 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
708 optimizing for size.
709 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
710 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
711 integer.
712
713 PR tree-optimization/56094
714 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
715 to UNKNOWN_LOCATION while gimplifying expr.
716
717 2013-01-27 Uros Bizjak <ubizjak@gmail.com>
718
719 PR target/56114
720 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
721 operand 0 in movabs insn template for -masm=intel asm alternative.
722 (*movabs<mode>_2): Ditto for operand 1.
723
724 2013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
725
726 PR target/54663
727 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
728 of microblaze-c.o
729
730 2013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
731
732 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
733 tm_file.
734
735 2013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
736
737 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
738 Undef to avoid warning.
739
740 2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
741
742 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
743 * configure: Regenerate.
744
745 2013-01-25 Jakub Jelinek <jakub@redhat.com>
746
747 PR tree-optimization/56098
748 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
749 for stmts with volatile ops.
750 (cond_store_replacement): Don't optimize if assign has volatile ops.
751 (cond_if_else_store_replacement_1): Don't optimize if either
752 then_assign or else_assign have volatile ops.
753 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
754 volatile ops.
755
756 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
757
758 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
759
760 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
761
762 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
763 missing ':' in asm example.
764
765 2013-01-25 Tejas Belagod <tejas.belagod@arm.com>
766
767 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
768 entries into lane and laneq entries.
769 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
770 Remove AdvSIMD scalar modes.
771 (aarch64_sq<r>dmulh_laneq<mode>): New.
772 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
773 modes.
774 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
775 builtin implementations to relfect changes in RTL in aarch64-simd.md.
776 * config/aarch64/iterators.md (VCOND): New.
777 (VCONQ): New.
778
779 2013-01-25 Georg-Johann Lay <avr@gjlay.de>
780
781 PR target/54222
782 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
783 Add NULL LIBNAME argument to existing definitions.
784 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
785 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
786 * config/avr/avr.c (DEF_BUILTIN): Same.
787 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
788 (avr_expand_builtin): Expand to a vanilla call if a libgcc
789 implementation is available (DECL_ASSEMBLER_NAME is set).
790 (avr_fold_absfx): New static function.
791 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
792 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
793 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
794 AVR_BUILTIN_ABSLLK.
795 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
796 (abshk, absk, abslk, absllk): Provide as static inline functions.
797
798 2013-01-25 Marek Polacek <polacek@redhat.com>
799
800 PR tree-optimization/56035
801 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
802
803 2012-01-24 Uros Bizjak <ubizjak@gmail.com>
804
805 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
806 (*movtf_internal_rex64): Add (!o,C) alternative
807 (*movxf_internal_rex64): Ditto.
808 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
809
810 2013-01-24 Shenghou Ma <minux.ma@gmail.com>
811
812 * doc/invoke.texi: fix typo.
813 * doc/objc.texi: fix typo.
814
815 2013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
816
817 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
818 for the first two alternatives.
819
820 2013-01-24 Diego Novillo <dnovillo@google.com>
821
822 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
823 (ggc-zone.o): Remove.
824 * configure.ac: Remove option --with-gc.
825 * configure: Re-generate.
826 * doc/install.texi: Remove documentation for --with-gc.
827 * gengtype.c (write_enum_defn): Remove. Update all users.
828 (write_Types_process_field): Remove generation of gt_e_* argument.
829 (output_type_enum): Remove. Update all users.
830 (write_enum_defn): Remove. Update all users.
831 (enum alloc_zone): Remove. Update all users.
832 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
833 * ggc-common.c (ggc_splay_alloc): Remove first argument.
834 Update all callers.
835 (struct ptr_data): Remove field TYPE. Update all users.
836 (gt_pch_note_object): Remove argument TYPE. Update all users.
837 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
838 Update all users.
839 * ggc-none.c (ggc_alloc_typed_stat): Remove.
840 (struct alloc_zone): Remove.
841 (ggc_internal_alloc_zone_stat): Remove.
842 (ggc_internal_cleared_alloc_zone_stat): Remove.
843 * ggc-page.c (ggc_alloc_typed_stat): Remove.
844 (ggc_pch_count_object): Remove last argument. Update all users.
845 (ggc_pch_alloc_object): Remove last argument. Update all users.
846 (struct alloc_zone): Remove.
847 * ggc-zone.c: Remove.
848 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
849 (struct alloc_zone): Remove.
850 (ggc_alloc_typed_stat): Remove.
851 (ggc_alloc_typed): Remove.
852 (ggc_splay_alloc): Remove first argument.
853 (rtl_zone): Remove. Update all users.
854 (tree_zone): Remove. Update all users.
855 (tree_id_zone): Remove. Update all users.
856 (ggc_internal_zone_alloc_stat): Remove. Update all users.
857 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
858 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
859 * tree-ssanames.c: Remove references to zone allocator in comments.
860
861 2013-01-24 Georg-Johann Lay <avr@gjlay.de>
862
863 * config/avr/avr.c (avr_out_fract): Make register numbers that
864 might be outside of source operand signed.
865
866 2013-01-24 Uros Bizjak <ubizjak@gmail.com>
867
868 * config/i386/constraints.md (Yf): New constraint.
869 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
870 of f constraint to conditionaly disable x87 register preferences.
871 (*movdf_internal): Ditto.
872 (*movsf_internal): Ditto.
873
874 2013-01-24 Steven Bosscher <steven@gcc.gnu.org>
875
876 PR inline-asm/55934
877 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
878 that have operands with impossible constraints.
879 Add a FIXME for a speed-up opportunity.
880 * lra-constraints.c (process_alt_operands): Verify that a class
881 selected from constraints on asms is valid for the operand mode.
882 (curr_insn_transform): Remove incorrect comment.
883
884 2013-01-23 David Edelsohn <dje.gcc@gmail.com>
885
886 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
887 TOC operand is a valid symbol ref in the constant pool.
888
889 2013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
890
891 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
892
893 2013-01-23 Georg-Johann Lay <avr@gjlay.de>
894
895 PR target/54222
896 * config/avr/stdfix.h: New file.
897 * t-avr (stdfix-gcc.h): New rule to build it.
898 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
899
900 2013-01-23 Kostya Serebryany <kcc@google.com>
901
902 * config/darwin.h: remove dependency on
903 CoreFoundation (asan on Mac OS).
904
905 2013-01-23 Jakub Jelinek <jakub@redhat.com>
906
907 PR target/49069
908 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
909 instead of cmpdi_operand for first comparison operand.
910 Don't assert that comparison operands aren't both constants.
911
912 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
913
914 * doc/install.texi (Downloading the Source): Update references to
915 downloading separate components.
916
917 2013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
918
919 * doc/extend.texi (__int128): Improve grammar.
920
921 2013-01-22 Uros Bizjak <ubizjak@gmail.com>
922
923 PR target/56028
924 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
925 alternative to (o,r).
926 (*movdi_internal_rex64): Remove (!o,n) alternative.
927 (DImode immediate->memory splitter): Remove.
928 (DImode immediate->memory peephole2): Remove.
929 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
930 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
931 alternative to (!o,*r).
932 (*movtf_internal_sse): New pattern.
933 (*movxf_internal_rex64): New pattern.
934 (*movxf_internal): Disable for TARGET_64BIT.
935 (*movdf_internal_rex64): Remove (!o,F) alternative.
936
937 2013-01-22 Jakub Jelinek <jakub@redhat.com>
938
939 PR middle-end/56074
940 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
941 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
942 * tree-vect-loop-manip.c (find_loop_location): Also ignore
943 stmt locations where LOCATION_LOCUS of the stmt location is
944 UNKNOWN_LOCATION or BUILTINS_LOCATION.
945
946 PR target/55686
947 * config/i386/i386.md (UNSPEC_STOS): New.
948 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
949 *strsetqi_1): Add UNSPEC_STOS.
950
951 2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
952
953 PR c++/56067
954 * doc/invoke.texi: Remove left over -Wsynth example.
955
956 2013-01-21 Jakub Jelinek <jakub@redhat.com>
957
958 PR tree-optimization/56051
959 * fold-const.c (fold_binary_loc): Don't fold
960 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
961 a narrowing conversion, or widening conversion from signed
962 to unsigned.
963
964 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
965
966 PR rtl-optimization/56023
967 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
968 dependent on debug instruction.
969
970 2013-01-21 Martin Jambor <mjambor@suse.cz>
971
972 PR middle-end/56022
973 * function.c (allocate_struct_function): Call
974 invoke_set_current_function_hook earlier.
975
976 2013-01-21 Jakub Jelinek <jakub@redhat.com>
977
978 * reload1.c (init_reload): Only initialize reload_obstack
979 during the first call.
980
981 2013-01-21 Marek Polacek <polacek@redhat.com>
982
983 * cfgloop.c (verify_loop_structure): Fix up grammar.
984
985 2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
986
987 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
988 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
989
990 2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
991
992 PR target/56058
993 * config/arm/marvell-pj4.md: Update copyright year.
994 Fix up use of alu to alu_reg and simple_alu_imm.
995
996 2013-01-21 Uros Bizjak <ubizjak@gmail.com>
997
998 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
999
1000 2013-01-20 Vladimir Makarov <vmakarov@redhat.com>
1001
1002 PR target/55433
1003 * lra-constraints.c (curr_insn_transform): Don't reuse original
1004 insn for secondary memory move when memory mode should be different.
1005
1006 2013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1007
1008 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
1009 atomic_storedi_1): New patterns.
1010
1011 2013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1012
1013 btver2 pipeline descriptions.
1014 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
1015 descriptions.
1016 * config/i386/i386.md (btver2_decode): New type attributes.
1017 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
1018 type attributes.
1019 * config/i386/btver2.md: New file describing btver2 pipelines.
1020
1021 2013-01-19 Andrew Pinski <apinski@cavium.com>
1022
1023 PR tree-optimization/52631
1024 * tree-ssa-sccvn (visit_use): Before looking up the original
1025 statement, try looking up the simplified expression.
1026
1027 2013-01-19 Anthony Green <green@moxielogic.com>
1028
1029 * config/moxie/moxie.c (moxie_expand_prologue): Set
1030 current_function_static_stack_size.
1031
1032 2013-01-18 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR tree-optimization/56029
1035 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
1036 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
1037
1038 2013-01-18 Sharad Singhai <singhai@google.com>
1039
1040 PR tree-optimization/55995
1041 * dumpfile.c (dump_loc): Print location only if available.
1042 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
1043
1044 2013-01-18 Vladimir Makarov <vmakarov@redhat.com>
1045
1046 PR target/55433
1047 * lra-constraints.c (curr_insn_transform): Reuse original insn for
1048 secondary memory move.
1049 (inherit_reload_reg): Use rclass instead of cl for
1050 check_secondary_memory_needed_p.
1051
1052 2013-01-18 Jakub Jelinek <jakub@redhat.com>
1053
1054 PR middle-end/56015
1055 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1056 the case where writing real complex part of target modifies op1.
1057
1058 2013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
1059
1060 * config/aarch64/aarch64-simd.md
1061 (aarch64_vcond_internal<mode>): Handle unordered cases.
1062 * config/aarch64/iterators.md (v_cmp_result): New.
1063
1064 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
1065 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1066
1067 * config/arm/marvell-pj4.md: New file.
1068 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
1069 * config/arm/arm.md (generic_sched): Add marvell_pj4.
1070 (generic_vfp): Likewise.
1071 * config/arm/arm-cores.def: Add marvell-pj4.
1072 * config/arm/arm-tune.md: Regenerate.
1073 * config/arm/arm-tables.opt: Regenerate.
1074 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
1075 * doc/invoke.texi: Document marvell-pj4.
1076
1077 2013-01-18 Tejas Belagod <tejas.belagod@arm.com>
1078
1079 * config/aarch64/arm_neon.h: Map scalar types to standard types.
1080
1081 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
1082
1083 PR debug/54114
1084 PR debug/54402
1085 PR debug/49888
1086 * var-tracking.c (negative_power_of_two_p): New.
1087 (global_get_addr_cache, local_get_addr_cache): New.
1088 (get_addr_from_global_cache, get_addr_from_local_cache): New.
1089 (vt_canonicalize_addr): Rewrite using the above. Adjust the
1090 heading comment.
1091 (vt_stack_offset_p): Remove.
1092 (vt_canon_true_dep): Always canonicalize loc's address.
1093 (clobber_overlapping_mems): Make sure we have a MEM.
1094 (local_get_addr_clear_given_value): New.
1095 (val_reset): Clear local cached entries.
1096 (compute_bb_dataflow): Create and release the local cache.
1097 Disable duplicate MEMs clobbering.
1098 (emit_notes_in_bb): Clobber MEMs likewise.
1099 (vt_emit_notes): Create and release the local cache.
1100 (vt_initialize, vt_finalize): Create and release the global
1101 cache, respectively.
1102 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
1103
1104 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
1105
1106 PR libmudflap/53359
1107 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
1108 not found in the symtab.
1109
1110 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
1111
1112 PR debug/56006
1113 PR rtl-optimization/55547
1114 PR rtl-optimization/53827
1115 PR debug/53671
1116 PR debug/49888
1117 * alias.c (offset_overlap_p): New, factored out of...
1118 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
1119 the conservative special case for symbolic constants. Don't
1120 adjust zero sizes on alignment.
1121
1122 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
1123
1124 PR rtl-optimization/52573
1125 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
1126 REG_UNUSED for the same register.
1127
1128 2013-01-17 Richard Biener <rguenther@suse.de>
1129 Marek Polacek <polacek@redhat.com>
1130
1131 PR rtl-optimization/55833
1132 * loop-unswitch.c (unswitch_loops): Move loop verification...
1133 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
1134 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
1135 Set it to true when we're removing a loop from hierarchy tree in
1136 an irreducible region.
1137 (fix_bb_placements): Adjust caller.
1138 (fix_loop_placements): Likewise.
1139
1140 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
1141
1142 * config/avr/builtins.def (DEF_BUILTIN): Factor out
1143 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
1144 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
1145 Remove ID. Adjust comments.
1146 * config/avr/avr-c.c (avr_builtin_name): Remove.
1147 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
1148 * config/avr/avr.c (avr_tolower): New static function.
1149 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
1150 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
1151 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
1152 default expansion.
1153
1154 2013-01-17 Jan Hubicka <jh@suse.cz>
1155
1156 PR tree-optimization/55273
1157 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
1158
1159 2013-01-17 Uros Bizjak <ubizjak@gmail.com>
1160
1161 PR target/55981
1162 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
1163 store through atomic_store<mode>_1.
1164 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1165
1166 2013-01-17 Martin Jambor <mjambor@suse.cz>
1167
1168 PR tree-optimizations/55264
1169 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1170 for virtual methods.
1171 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
1172 virtual methods before inlining is over.
1173 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
1174 virtual functions.
1175 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
1176 non-virtual.
1177
1178 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
1179
1180 PR rtl-optimization/56005
1181 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
1182 pending reads for prefetch.
1183
1184 2013-01-16 Ian Bolton <ian.bolton@arm.com>
1185
1186 * config/aarch64/aarch64.md
1187 (*cstoresi_neg_uxtw): New pattern.
1188 (*cmovsi_insn_uxtw): New pattern.
1189 (*<optab>si3_uxtw): New pattern.
1190 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
1191 (*<optab>si3_insn_uxtw): New pattern.
1192 (*bswapsi2_uxtw): New pattern.
1193
1194 2013-01-16 Richard Biener <rguenther@suse.de>
1195
1196 * tree-inline.c (tree_function_versioning): Remove set but
1197 never used variable.
1198
1199 2013-01-16 Richard Biener <rguenther@suse.de>
1200
1201 PR tree-optimization/55964
1202 * tree-flow.h (rename_variables_in_loop): Remove.
1203 (rename_variables_in_bb): Likewise.
1204 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
1205 (copy_loop_before): Adjust and delete update-ssa status.
1206 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
1207 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
1208 (rename_variables_in_loop): Remove.
1209 (slpeel_update_phis_for_duplicate_loop): Likewise.
1210 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
1211 use available cfg machinery instead of duplicating it.
1212 Update PHI nodes and perform poor-mans SSA update here.
1213 (slpeel_tree_peel_loop_to_edge): Adjust.
1214
1215 2013-01-16 Richard Biener <rguenther@suse.de>
1216
1217 PR tree-optimization/54767
1218 PR tree-optimization/53465
1219 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
1220 (vrp_visit_phi_node): For PHI arguments coming via backedges
1221 drop all symbolical range information.
1222 (execute_vrp): Compute backedges.
1223
1224 2013-01-16 Richard Biener <rguenther@suse.de>
1225
1226 * doc/install.texi: Update CLooG and ISL requirements to
1227 0.18.0 and 0.11.1.
1228
1229 2013-01-16 Christian Bruel <christian.bruel@st.com>
1230
1231 PR target/55301
1232 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
1233 (broken_move): Handle UNSPECV_SP_SWITCH_B.
1234 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
1235
1236 2013-01-16 DJ Delorie <dj@redhat.com>
1237
1238 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
1239 (UNSPECV_SP_SWITCH_E): New.
1240 (sp_switch_1): Change to an unspec.
1241 (sp_switch_2): Change to an unspec. Don't use post-inc when we
1242 replace $r15.
1243
1244 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
1245
1246 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
1247 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
1248 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
1249 (expand_mem_thread_fence): Ditto.
1250 (expand_mem_signal_fence): Ditto.
1251 (expand_atomic_load): Ditto.
1252 (expand_atomic_store): Ditto.
1253
1254 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
1255
1256 PR rtl-optimization/55547
1257 PR rtl-optimization/53827
1258 PR debug/53671
1259 PR debug/49888
1260 * alias.c (memrefs_conflict_p): Set sizes to negative after
1261 AND adjustments.
1262
1263 2013-01-15 Jakub Jelinek <jakub@redhat.com>
1264
1265 PR target/55940
1266 * function.c (thread_prologue_and_epilogue_insns): Always
1267 add crtl->drap_reg to set_up_by_prologue.set, even if
1268 stack_realign_drap is false.
1269
1270 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1271
1272 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
1273 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
1274 *call): Fix indention.
1275
1276 2013-01-15 Tom de Vries <tom@codesourcery.com>
1277
1278 PR target/55876
1279 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
1280 Update comment.
1281
1282 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
1283
1284 PR rtl-optimization/55153
1285 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
1286
1287 2013-01-15 Martin Jambor <mjambor@suse.cz>
1288
1289 PR tree-optimization/55920
1290 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
1291 accesses as grp_to_be_debug_replaced.
1292
1293 2013-01-15 Jakub Jelinek <jakub@redhat.com>
1294
1295 PR tree-optimization/55920
1296 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
1297 there is non-useless type conversion needed from debug rhs to lhs,
1298 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
1299
1300 2013-01-15 Joseph Myers <joseph@codesourcery.com>
1301 Mikael Pettersson <mikpe@it.uu.se>
1302
1303 PR target/43961
1304 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
1305 Thumb.
1306 (ASM_OUTPUT_CASE_LABEL): Remove.
1307 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
1308 * final.c (shorten_branches): Update alignment of labels before
1309 jump tables if CASE_VECTOR_SHORTEN_MODE.
1310
1311 2013-01-15 Richard Biener <rguenther@suse.de>
1312
1313 PR bootstrap/55961
1314 * system.h: Do not include gmp.h for building host tools.
1315
1316 2013-01-15 Richard Biener <rguenther@suse.de>
1317
1318 PR middle-end/55882
1319 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1320 account for bitpos when computing alignment.
1321
1322 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
1323
1324 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
1325 (ix86_target_macros_internal): Likewise.
1326
1327 * config/i386/i386.c (m_CORE2I7): Removed.
1328 (m_CORE_HASWELL): New macro.
1329 (m_CORE_ALL): Likewise.
1330 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
1331 (initial_ix86_arch_features): Likewise.
1332 (processor_target_table): Initializations for Core avx2.
1333 (cpu_names): New names "core-avx2".
1334 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
1335 PROCESSOR_CORE_HASWELL.
1336 (ix86_issue_rate): New case.
1337 (ia32_multipass_dfa_lookahead): Likewise.
1338 (ix86_sched_init_global): Likewise.
1339
1340 * config/i386/i386.h (TARGET_HASWELL): New macro.
1341 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
1342 (processor_type): New PROCESSOR_HASWELL.
1343
1344 2013-01-15 Jakub Jelinek <jakub@redhat.com>
1345
1346 PR tree-optimization/55955
1347 * tree-vect-loop.c (vectorizable_reduction): Give up early on
1348 *SHIFT_EXPR and *ROTATE_EXPR codes.
1349
1350 PR tree-optimization/48766
1351 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
1352 -ftrapv disable -fwrapv.
1353
1354 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
1355
1356 PR target/55974
1357 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1358 etc. to 1 and not to __flash.
1359 Use LL suffix for __INT24_MAX__ with -mint8.
1360 Use ULL suffix for __UINT24_MAX__ with -mint8.
1361
1362 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
1363
1364 * config/avr/avr-arch.h
1365 (struct base_arch_s): Use typedef avr_arch_t instead.
1366 (struct arch_info_s): Use typedef avr_arch_info_t instead.
1367 (struct mcu_type_s): Use typedef avr_mcu_t instead.
1368 * config/avr/avr.c: Same.
1369 * config/avr/avr-devices.c: Same.
1370 * config/avr/driver-avr.c: Same.
1371 * config/avr/gen-avr-mmcu-texi.c: Same.
1372 * config/avr/avr-mcus.def: Adjust comment.
1373
1374 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
1375
1376 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
1377 * config/aarch64/iterators.md (VALLDI): New.
1378
1379 2013-01-14 Uros Bizjak <ubizjak@gmail.com>
1380 Andi Kleen <ak@linux.intel.com>
1381
1382 PR target/55948
1383 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
1384 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
1385 memmodel flag.
1386
1387 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
1388
1389 * config/avr/avr-stdint.h: Remove trailing blanks.
1390 * config/avr/avr-log.h: Same.
1391 * config/avr/avr-arch.h: Same.
1392 * config/avr/avr-devices.c: Same.
1393 * config/avr/avr-dimode.md: Same.
1394 * config/avr/predicates.md: Same.
1395 * config/avr/avr-c.c: Same. And fix typo.
1396
1397 * config/avr/avr-protos.h: Same. And:
1398 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
1399 (init_cumulative_args): Rename to avr_init_cumulative_args.
1400 (expand_prologue): Rename to avr_expand_prologue.
1401 (expand_epilogue): Rename to avr_expand_epilogue.
1402 (adjust_insn_length): Rename to avr_adjust_insn_length.
1403 (notice_update_cc): Rename to avr_notice_update_cc.
1404 (final_prescan_insn): Rename to avr_final_prescan_insn.
1405 * config/avr/avr.c: Same.
1406 * config/avr/avr.h: Same.
1407 * config/avr/avr.md: Remove trailing blanks.
1408 (prologue): Use avr_expand_prologue.
1409 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
1410
1411 2013-01-14 Richard Biener <rguenther@suse.de>
1412
1413 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
1414 verify_location, collect_subblocks): New functions.
1415 (verify_gimple_in_cfg): Verify that locations only reference
1416 BLOCKs in the functions BLOCK tree.
1417
1418 2013-01-14 Richard Biener <rguenther@suse.de>
1419
1420 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
1421 PHI argument.
1422 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
1423 unshare reference.
1424 (insert_out_of_ssa_copy_on_edge): Likewise.
1425 (rewrite_close_phi_out_of_ssa): Likewise.
1426 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
1427 debug expressions.
1428 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
1429 propagated constants.
1430 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
1431 can not be shared.
1432
1433 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
1434
1435 * config/avr/avr-modes.def: Add GPL copyright notice.
1436
1437 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
1438
1439 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
1440 MEMMODEL_MASK to determine memory model.
1441 (atomic_store<mode>): Ditto from operands[2].
1442 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
1443
1444 2013-01-13 Jakub Jelinek <jakub@redhat.com>
1445
1446 PR fortran/55935
1447 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
1448 (fold_gimple_assign): Don't call unshare_expr here.
1449 (fold_ctor_reference): Call unshare_expr.
1450
1451 2013-01-13 Terry Guo <terry.guo@arm.com>
1452
1453 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
1454 * doc/fragments.texi: Document MULTILIB_REUSE.
1455 * gcc.c (multilib_reuse): New internal spec.
1456 (set_multilib_dir): Also search multilib from multilib_reuse.
1457 * genmultilib (tmpmultilib3): Refactor code.
1458 (tmpmultilib4): Ditto.
1459 (multilib_reuse): New multilib argument.
1460
1461 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
1462
1463 * Makefile.in: Update copyright.
1464
1465 2013-01-12 Tom de Vries <tom@codesourcery.com>
1466
1467 PR middle-end/55890
1468 * calls.c (expand_call): Check if arg_nr is valid.
1469
1470 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1471
1472 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1473 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1474 documentation. Add missing '__' in front of
1475 __builtin_ia32_packssdw256.
1476
1477 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1478
1479 PR target/55719
1480 * config/s390/s390.c (s390_preferred_reload_class): Do not return
1481 NO_REGS for larl operands.
1482 (s390_reload_larl_operand): Use s390_load_address instead of
1483 emit_move_insn.
1484
1485 2013-01-11 Richard Biener <rguenther@suse.de>
1486
1487 * tree-cfg.c (verify_node_sharing_1): Split out from ...
1488 (verify_node_sharing): ... here.
1489 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
1490
1491 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
1492
1493 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
1494 Substitute TREECHECKING.
1495 * configure: Regenerate.
1496 * Makefile.in (TREECHECKING): New.
1497
1498 2013-01-11 Richard Guenther <rguenther@suse.de>
1499
1500 PR tree-optimization/44061
1501 * tree-vrp.c (extract_range_basic): Compute zero as
1502 value-range for __builtin_constant_p of function parameters.
1503
1504 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
1505
1506 Update copyright years.
1507
1508 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
1509
1510 PR rtl-optimization/55672
1511 * lra-eliminations.c (mark_not_eliminable): Permit addition with
1512 const to be eliminable.
1513
1514 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
1515
1516 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
1517 * configure: Regenerate.
1518
1519 2013-01-10 Richard Biener <rguenther@suse.de>
1520
1521 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
1522
1523 2013-01-10 Richard Biener <rguenther@suse.de>
1524
1525 PR bootstrap/55792
1526 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
1527 locations for virtual PHI arguments.
1528 (rewrite_update_phi_arguments): Likewise.
1529
1530 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
1531
1532 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
1533 on to assembler.
1534
1535 2013-01-10 Jakub Jelinek <jakub@redhat.com>
1536
1537 PR tree-optimization/55921
1538 * tree-complex.c (expand_complex_asm): New function.
1539 (expand_complex_operations_1): Call it for GIMPLE_ASM.
1540
1541 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1542
1543 PR target/55718
1544 * config/s390/s390.c (s390_symref_operand_p)
1545 (s390_loadrelative_operand_p): Merge the two functions.
1546 (s390_check_qrst_address, print_operand_address): Add parameters
1547 to s390_loadrelative_operand_p invokation.
1548 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
1549 (s390_reload_larl_operand, s390_secondary_reload): Use
1550 s390_loadrelative_operand_p instead of s390_symref_operand_p.
1551 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
1552
1553 2013-01-09 Mike Stump <mikestump@comcast.net>
1554
1555 * dse.c (record_store): Remove unnecessary assert.
1556
1557 2013-01-09 Jan Hubicka <jh@suse.cz>
1558
1559 PR tree-optimization/55569
1560 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
1561 * cfgloop.h (scale_loop_profile): Likewise.
1562
1563 2013-01-09 Jan Hubicka <jh@suse.cz>
1564
1565 PR lto/45375
1566 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
1567 functions.
1568 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
1569
1570 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
1571
1572 PR middle-end/55114
1573 * expr.h (maybe_emit_group_store): Declare.
1574 * expr.c (maybe_emit_group_store): New function.
1575 * builtins.c (expand_builtin_int_roundingfn): Call it.
1576 (expand_builtin_int_roundingfn_2): Likewise.
1577
1578 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
1579
1580 PR rtl-optimization/55829
1581 * lra-constraints.c (match_reload): Add code for absent output.
1582 (curr_insn_transform): Add code for reloads of matched inputs
1583 without output.
1584
1585 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
1586
1587 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1588 attribute of movddup insn to DF.
1589 (*vec_interleave_lowv2df): Ditto.
1590 (vec_dupv2df): Ditto.
1591
1592 2013-01-09 Jan Hubicka <jh@suse.cz>
1593
1594 PR tree-optimiation/55875
1595 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
1596 EVERY_ITERATION parameter.
1597 (number_of_iterations_exit): Check if exit is executed every iteration.
1598 (idx_infer_loop_bounds): Similarly here.
1599 (n_of_executions_at_most): Simplify
1600 to only test for cases where statement is dominated by the
1601 particular bound; handle correctly the "postdominance" test.
1602 (scev_probably_wraps_p): Use max loop iterations info
1603 as a global bound first.
1604
1605 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
1606 Nick Clifton <nickc@redhat.com>
1607
1608 * config/v850/v850.md (cbranchsf4): New pattern.
1609 (cstoresf4): New pattern.
1610 (cbranchdf4): New pattern.
1611 (cstoredf4): New pattern.
1612 (movsicc): Disallow floating point comparisons.
1613 (cmpsf_le_insn): Fix order of operators.
1614 (cmpsf_lt_insn): Likewise.
1615 (cmpsf_eq_insn): Likewise.
1616 (cmpdf_le_insn): Likewise.
1617 (cmpdf_lt_insn): Likewise.
1618 (cmpdf_eq_insn): Likewise.
1619 (cmpsf_ge_insn): Use LE comparison.
1620 (cmpdf_ge_insn): Likewise.
1621 (cmpsf_gt_insn): Use LT comparison.
1622 (cmpdf_gt_insn): Likewise.
1623 (cmpsf_ne_insn): Delete pattern.
1624 (cmpdf_ne_insn): Delete pattern.
1625 * config/v850/v850.c (v850_gen_float_compare): Use
1626 gen_cmpdf_eq_insn for NE comparison.
1627 (v850_float_z_comparison_operator)
1628 (v850_float_nz_comparison_operator): Move from here ...
1629 * config/v850/predicates.md: ... to here. Move GT and GE
1630 comparisons into v850_float_z_comparison_operator.
1631 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
1632 Delete prototype.
1633 (v850_float_nz_comparison_operator): Likewise.
1634
1635 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1636
1637 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
1638 with calls to gen_insvsi/gen_insvdi.
1639
1640 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1641
1642 * config/i386/i386.c (initial_ix86_tune_features): Set up
1643 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
1644
1645 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
1646 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR tree-optimization/48189
1649 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
1650 If nitercst is 0, don't predict the exit edge.
1651
1652 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
1653
1654 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
1655 in asm_fprintf with reg_names.
1656 (aarch64_print_operand_address): Likewise.
1657 (aarch64_return_addr): Likewise.
1658 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
1659
1660 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1661
1662 * config/pa/pa.h (VAL_U6_BITS_P): Define.
1663 (INT_U6_BITS): Likewise.
1664 * config/pa/predicates.md (uint6_operand): New predicate.
1665 (shift5_operand, shift6_operand): Likewise.
1666 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
1667 arith32_operand.
1668 (lshrdi3): Use shift6_operand.
1669 (shrpsi4, shrpdi4): New insn patterns.
1670 (extzv): Delete expander.
1671 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
1672 predicates in unamed zero extract patterns. Tighten common constraint.
1673 (extv): Delete expander.
1674 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
1675 predicates in unamed sign extract patterns. Tighten common constraint.
1676 (insv): Delete expander.
1677 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
1678 predicates in unamed insert patterns. Tighten common constraint.
1679 Change uint32_operand predicate to uint6_operand predicate in unamed
1680 DImode pattern to insert constant values of type 1...1xxxx.
1681
1682 2013-01-04 Jan Hubicka <jh@suse.cz>
1683
1684 PR tree-optimization/55823
1685 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
1686 issue.
1687
1688 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1689 Uros Bizjak <ubizjak@gmail.com>
1690
1691 PR rtl-optimization/55845
1692 * df-problems.c (can_move_insns_across): Stop scanning at
1693 volatile_insn_p source instruction or give up if
1694 across_from .. across_to range contains any volatile_insn_p
1695 instructions.
1696
1697 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
1698
1699 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
1700 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
1701 Declare.
1702 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
1703 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
1704
1705 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1706
1707 PR fortran/55341
1708 * asan.c (asan_clear_shadow): New function.
1709 (asan_emit_stack_protection): Use it.
1710
1711 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
1712
1713 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
1714 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
1715 with tab instead of space.
1716
1717 2013-01-08 Nick Clifton <nickc@redhat.com>
1718
1719 * config/rl78/rl78.c (rl78_expand_prologue): Always select
1720 register bank 0 at the start of an interrupt handler.
1721 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
1722 MDBH registers.
1723
1724 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
1725
1726 * config/aarch64/aarch64-simd.md
1727 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
1728 (aarch64_simd_bsl): Likewise.
1729 (aarch64_vcond_internal<mode>): Likewise.
1730 (vcond<mode><mode>): Likewise.
1731 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
1732 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
1733
1734 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
1735
1736 * config/aarch64/aarch64-builtins.c
1737 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
1738
1739 2013-01-08 Martin Jambor <mjambor@suse.cz>
1740
1741 PR debug/55579
1742 * tree-sra.c (analyze_access_subtree): Return true also after
1743 potentially creating a debug-only replacement.
1744
1745 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1746
1747 PR middle-end/55890
1748 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
1749
1750 PR tree-optimization/54120
1751 * tree-vrp.c (range_fits_type_p): Don't allow
1752 src_precision < precision from signed vr to unsigned_p
1753 if vr->min or vr->max is negative.
1754 (simplify_float_conversion_using_ranges): Test can_float_p
1755 against CODE_FOR_nothing.
1756
1757 2013-01-08 Jakub Jelinek <jakub@redhat.com>
1758 Richard Biener <rguenther@suse.de>
1759
1760 PR middle-end/55851
1761 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
1762 types instead of just INTEGER_TYPE types.
1763
1764 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
1765
1766 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
1767 TF_SIZE): Define.
1768
1769 2013-01-07 Steve Ellcey <sellcey@mips.com>
1770
1771 PR target/42661
1772 * config/mips/mips.opt: Change mad to mmad to match documentation.
1773
1774 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1775
1776 PR target/55897
1777 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1778 .progmemx.data now.
1779
1780 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1781
1782 PR target/55897
1783 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1784 (avr_addrspace_t): Add .section_name field.
1785 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1786 array size.
1787 (avr_addrspace): Same. Initialize .section_name. Remove last
1788 NULL entry. Put __memx into .progmemx.data.
1789 (progmem_section_prefix): Remove.
1790 (avr_asm_init_sections): No need to initialize progmem_section.
1791 (avr_asm_named_section): Use avr_addrspace[].section_name to get
1792 section name prefix.
1793 (avr_asm_select_section): Ditto. And use get_unnamed_section to
1794 retrieve the progmem section.
1795 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1796 boundary to run over avr_addrspace[].
1797 (avr_register_target_pragmas): Ditto.
1798
1799 2013-01-06 Jakub Jelinek <jakub@redhat.com>
1800
1801 * varasm.c (output_constant_def_contents): For asan_protect_global
1802 protected strings, adjust DECL_ALIGN if needed, before testing for
1803 anchored symbols.
1804 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
1805 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
1806 normal decls.
1807 (output_object_block): For asan protected decls, emit asan padding
1808 after their contents.
1809 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
1810 (asan_finish_file): Test it here instead.
1811
1812 2013-01-07 Nick Clifton <nickc@redhat.com>
1813 Matthias Klose <doko@debian.org>
1814 Doug Kwan <dougkwan@google.com>
1815 H.J. Lu <hongjiu.lu@intel.com>
1816
1817 PR driver/55470
1818 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
1819
1820 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
1821
1822 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
1823
1824 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
1825
1826 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
1827
1828 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1829
1830 PR target/54461
1831 * doc/install.texi (Cross-Compiler-Specific Options): Document
1832 --with-avrlibc.
1833
1834 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
1835
1836 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
1837 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
1838 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
1839 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
1840 vqmovun_high_s64): Fix source operand number and update copyright.
1841
1842 2013-01-07 Richard Biener <rguenther@suse.de>
1843
1844 PR middle-end/55890
1845 * gimple.h (gimple_call_builtin_p): New overload.
1846 * gimple.c (validate_call): New function.
1847 (gimple_call_builtin_p): Likewise.
1848 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1849 Use gimple_call_builtin_p.
1850 (find_func_clobbers): Likewise.
1851 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1852 (strlen_optimize_stmt): Likewise.
1853
1854 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
1855
1856 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
1857 (vld1q_dup_*): Likewise.
1858 (vld1_*): Likewise.
1859 (vld1q_*): Likewise.
1860 (vld1_lane_*): Likewise.
1861 (vld1q_lane_*): Likewise.
1862
1863 2013-01-07 Richard Biener <rguenther@suse.de>
1864
1865 * lto-streamer.h (LTO_minor_version): Bump to 2.
1866
1867 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
1868
1869 * config/aarch64/aarch64-protos.h
1870 (aarch64_const_double_zero_rtx_p): Rename to...
1871 (aarch64_float_const_zero_rtx_p): ...this.
1872 (aarch64_float_const_representable_p): New.
1873 (aarch64_output_simd_mov_immediate): Likewise.
1874 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
1875 move immediate case.
1876 * config/aarch64/aarch64.c
1877 (aarch64_const_double_zero_rtx_p): Rename to...
1878 (aarch64_float_const_zero_rtx_p): ...this.
1879 (aarch64_print_operand): Allow printing of new constants.
1880 (aarch64_valid_floating_const): New.
1881 (aarch64_legitimate_constant_p): Check for valid floating-point
1882 constants.
1883 (aarch64_simd_valid_immediate): Likewise.
1884 (aarch64_vect_float_const_representable_p): New.
1885 (aarch64_float_const_representable_p): Likewise.
1886 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
1887 (aarch64_output_simd_mov_immediate): New.
1888 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
1889 (*movdf_aarch64): Likewise.
1890 * config/aarch64/constraints.md (Ufc): New.
1891 (Y): call aarch64_float_const_zero_rtx.
1892 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
1893
1894 2013-01-07 Richard Biener <rguenther@suse.de>
1895
1896 PR tree-optimization/55888
1897 PR tree-optimization/55862
1898 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
1899 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
1900 not if it is contained therein.
1901
1902 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1903
1904 * config/avr/t-avr: Typo.
1905
1906 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
1907
1908 PR55243
1909 * config/avr/t-avr: Don't automatically rebuild
1910 $(srcdir)/config/avr/t-multilib
1911 $(srcdir)/config/avr/avr-tables.opt
1912 $(srcdir)/doc/avr-mmcu.texi
1913 (avr-mcus): New phony target to build them on request.
1914 (s-avr-mlib, s-avr-mmcu-texi): Remove.
1915 * avr/avr-mcus.def: Adjust comments.
1916
1917 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
1918
1919 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
1920
1921 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
1922
1923 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
1924
1925 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
1926
1927 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
1928
1929 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
1930
1931 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
1932 to generate profiling.
1933 * config/rs6000/aix64.h (LIB_SPEC): Same.
1934
1935 2013-01-04 Andrew Pinski <apinski@cavium.com>
1936
1937 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
1938 New function.
1939 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
1940
1941 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
1942
1943 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
1944 unconditionally.
1945 (ix86_expand_move): Ditto.
1946 (ix86_zero_extend_to_Pmode): Ditto.
1947 (ix86_expand_call): Ditto.
1948 (ix86_expand_special_args_builtin): Ditto.
1949 (ix86_expand_builtin): Ditto.
1950
1951 2013-01-04 Richard Biener <rguenther@suse.de>
1952
1953 PR tree-optimization/55862
1954 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
1955 translating them through PHI nodes.
1956
1957 2013-01-04 Martin Jambor <mjambor@suse.cz>
1958
1959 PR tree-optimization/55755
1960 * tree-sra.c (sra_modify_assign): Do not check that an access has no
1961 children when trying to avoid producing a VIEW_CONVERT_EXPR.
1962
1963 2013-01-04 Marek Polacek <polacek@redhat.com>
1964
1965 PR middle-end/55859
1966 * opts.c (default_options_optimization): Clarify error message.
1967
1968 2013-01-04 Richard Biener <rguenther@suse.de>
1969
1970 PR middle-end/55863
1971 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
1972 reassociation.
1973
1974 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1975
1976 PR target/53789
1977 * config/pa/pa.md (movsi): Revert previous change.
1978 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1979 references.
1980
1981 2013-01-03 Richard Henderson <rth@redhat.com>
1982
1983 * config/i386/i386.c (ix86_expand_move): Always assign to op1
1984 after eliminating TLS symbols.
1985
1986 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
1987
1988 PR bootstrap/50167
1989 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
1990 * graphite-poly.c (debug_gmp_value): Likewise.
1991
1992 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
1993
1994 PR target/55712
1995 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1996 selected code model, define __code_mode_small__, __code_model_medium__,
1997 __code_model_large__, __code_model_32__ or __code_model_kernel__.
1998 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1999 xchg temporary register with %k. Declare temporary register as
2000 early clobbered.
2001 [__x86_64__]: For medium and large code models, preserve %rbx register.
2002
2003 2013-01-03 Richard Biener <rguenther@suse.de>
2004
2005 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
2006 (dump_subscript): Adjust.
2007 (finalize_ddr_dependent): Do not dump redundant info.
2008 (analyze_siv_subscript): Adjust.
2009 (subscript_dependence_tester): Likewise.
2010 (compute_affine_dependence): Likewise.
2011
2012 2013-01-03 Richard Biener <rguenther@suse.de>
2013
2014 Revert
2015 2013-01-03 Richard Biener <rguenther@suse.de>
2016
2017 PR tree-optimization/55857
2018 * tree-vect-stmts.c (vectorizable_load): Do not setup
2019 re-alignment for invariant loads.
2020
2021 2013-01-02 Richard Biener <rguenther@suse.de>
2022
2023 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
2024 invariant load do not generate a vector load from the scalar location.
2025
2026 2013-01-03 Richard Biener <rguenther@suse.de>
2027
2028 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
2029 for not vectorizing.
2030 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
2031 not build INDIRECT_REFs, call get_name once only.
2032 (vect_create_data_ref_ptr): Likewise. Dump base object kind
2033 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
2034
2035 2013-01-03 Richard Biener <rguenther@suse.de>
2036
2037 PR tree-optimization/55857
2038 * tree-vect-stmts.c (vectorizable_load): Do not setup
2039 re-alignment for invariant loads.
2040
2041 2013-01-03 Richard Biener <rguenther@suse.de>
2042
2043 PR lto/55848
2044 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
2045 prefer a built-in decl.
2046
2047 2013-01-03 Jakub Jelinek <jakub@redhat.com>
2048
2049 * gcc.c (process_command): Update copyright notice dates.
2050 * gcov.c (print_version): Likewise.
2051 * gcov-dump.c (print_version): Likewise.
2052
2053 PR rtl-optimization/55838
2054 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
2055 iv0.step, iv1.step and step.
2056
2057 2013-01-03 Jakub Jelinek <jakub@redhat.com>
2058 Marc Glisse <marc.glisse@inria.fr>
2059
2060 PR tree-optimization/55832
2061 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
2062 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
2063 integer_{one,zero}_node.
2064
2065 2013-01-03 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR debug/54402
2068 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
2069 * var-tracking.c (reverse_op): Don't add reverse ops to
2070 VALUEs that have already
2071 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
2072
2073 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
2074
2075 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
2076
2077 2013-01-02 Teresa Johnson <tejohnson@google.com>
2078
2079 * dumpfile.c (dump_loc): Print filename with location.
2080 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
2081 new location_t parameter to emit complete unroll message with
2082 new dump framework.
2083 (canonicalize_loop_induction_variables): Compute loops location
2084 and pass to try_unroll_loop_completely.
2085 * loop-unroll.c (report_unroll_peel): New function.
2086 (peel_loops_completely): Use new dump format with location
2087 for main dumpfile message, and invoke report_unroll_peel on success.
2088 (decide_unrolling_and_peeling): Ditto.
2089 (decide_peel_once_rolling): Remove old dumpfile message subsumed
2090 by report_unroll_peel.
2091 (decide_peel_completely): Ditto.
2092 (decide_unroll_constant_iterations): Ditto.
2093 (decide_unroll_runtime_iterations): Ditto.
2094 (decide_peel_simple): Ditto.
2095 (decide_unroll_stupid): Ditto.
2096 * cfgloop.c (get_loop_location): New function.
2097 * cfgloop.h (get_loop_location): Declare.
2098
2099 2013-01-02 Sriraman Tallam <tmsriram@google.com>
2100
2101 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
2102 NULL.
2103
2104 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2105
2106 PR middle-end/55198
2107 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
2108 BLKmode objects when EXPAND_MEMORY is specified.
2109
2110 2013-01-02 Sriraman Tallam <tmsriram@google.com>
2111
2112 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
2113 in loop predicate.
2114 (fold_builtin_cpu): Do not share cpu model decls across statements.
2115
2116 2013-01-02 Jason Merrill <jason@redhat.com>
2117
2118 PR c++/55804
2119 * tree.c (build_array_type_1): Revert earlier change.
2120
2121 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
2122
2123 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
2124 "cortex-a57".
2125 * config/aarch64/aarch64-tune.md: Re-generate.
2126
2127 2013-01-02 Richard Biener <rguenther@suse.de>
2128
2129 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
2130 invariant load do not generate a vector load from the scalar location.
2131
2132 2013-01-02 Richard Biener <rguenther@suse.de>
2133
2134 PR bootstrap/55784
2135 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
2136 * configure: Regenerate.
2137
2138 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2139
2140 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
2141 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
2142 (expand_builtin_int_roundingfn_2): Keep the original target around
2143 for the fallback case.
2144
2145 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2146
2147 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
2148 to be clear for sign changes.
2149
2150 2013-01-01 Jan Hubicka <jh@suse.cz>
2151
2152 * ipa-inline-analysis.c: Fix formatting.
2153
2154 2013-01-01 Jakub Jelinek <jakub@redhat.com>
2155
2156 PR tree-optimization/55831
2157 * tree-vect-loop.c (get_initial_def_for_induction): Use
2158 gsi_after_labels instead of gsi_start_bb.
2159 \f
2160 Copyright (C) 2013 Free Software Foundation, Inc.
2161
2162 Copying and distribution of this file, with or without modification,
2163 are permitted in any medium without royalty provided the copyright
2164 notice and this notice are preserved.