1 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
3 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
5 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
7 2012-01-09 Richard Guenther <rguenther@suse.de>
9 * tree-streamer-out.c (write_ts_optimization): Fix spelling.
11 2012-01-08 Jan Hubicka <jh@suse.cz>
13 PR tree-optimize/51680
14 * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
15 on when known_vals needs to be computed; cleanup.
17 2012-01-08 Jan Hubicka <jh@suse.cz>
19 PR tree-optimize/51694
20 * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
22 2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
24 * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
25 for -std=c++98 and -std=c++11 too.
27 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
29 * cfgloop.c (cancel_loop): Add free() of bbs array.
31 2012-01-07 Jan Hubicka <jh@suse.cz>
33 PR tree-optimization/51600
34 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
35 that benefits small functions.
37 2012-01-07 Jan Hubicka <jh@suse.cz>
39 * ipa-inline.c (want_inline_small_function_p): Fix formating.
41 2012-01-07 Jan Hubicka <jh@suse.cz>
43 PR tree-optimization/51680
44 * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
45 whose inlining reduce unit size.
47 2012-01-07 Alexandre Oliva <aoliva@redhat.com>
50 * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
51 Add canonical node to containing_mem chain after the non-canonical
52 one, even if there weren't any locs to propagate.
53 (remove_useless_values): Keep only canonical values.
54 (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
55 (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
56 canonicalize mem_chain elements that are not discarded.
58 2012-01-06 Jakub Jelinek <jakub@redhat.com>
61 * cgraphunit.c (cgraph_optimize): Call output_weakrefs
62 before emitting functions.
65 * bb-reorder.c (partition_hot_cold_basic_blocks): Call
68 2012-01-06 Alexandre Oliva <aoliva@redhat.com>
71 * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
73 2012-01-06 Arnaud Charlet <charlet@adacore.com>
75 * c-decl.c (ext_block): Moved up.
76 (collect_all_refs, for_each_global_decl): Take ext_block into account.
78 2012-01-06 Han Shen <shenhan@google.com>
80 Translate built-in include paths for sysroot.
81 * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
82 (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
84 * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
85 GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
87 * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
88 control whether sysroot should be prepended to gxx include dir.
90 * configure: Regenerate.
92 2012-01-06 Torvald Riegel <triegel@redhat.com>
94 PR rtl-optimization/51771
95 * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST):
97 * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
99 2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
101 PR tree-optimization/51315
102 * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
103 (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
105 2012-01-05 Uros Bizjak <ubizjak@gmail.com>
108 * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
109 for shrp pattern. Correctly handle and fixup shift variable.
110 Return false when shift > nelt for BYTES_BIG_ENDIAN target.
112 2012-01-05 Jakub Jelinek <jakub@redhat.com>
115 * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
116 note when !ACCUMULATE_OUTGOING_ARGS.
118 2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
120 * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
122 (extract_range_from_unary_expr_1): Avoid useless computations.
124 2012-01-05 Jakub Jelinek <jakub@redhat.com>
126 PR rtl-optimization/51767
127 * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
128 of jump_block and add an extra edge for degenerated asm gotos.
131 * stmt.c (check_unique_operand_names): Don't ICE during error
132 reporting if i is from labels chain.
135 * profile.c (branch_prob): Split bbs that have exit edge
136 and need a fake entry edge too.
138 2012-01-05 Jan Hubicka <jh@suse.cz>
141 * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
144 2012-01-05 Richard Guenther <rguenther@suse.de>
147 * tree-streamer-out.c (write_ts_optimization): New function.
148 (streamer_write_tree_body): Call it.
149 * tree-streamer-in.c (lto_input_ts_optimization): New function.
150 (streamer_read_tree_body): Call it.
151 * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
153 2012-01-05 Jakub Jelinek <jakub@redhat.com>
156 * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
157 * gimplify.c (gimplify_cleanup_point_expr): Save and set
158 in_cleanup_point_expr before gimplify_stmt call and restore it
160 (gimplify_target_expr): Don't add {CLOBBER} cleanup if
161 in_cleanup_point_expr is false.
163 2012-01-05 Richard Guenther <rguenther@suse.de>
166 * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
168 * toplev.c (process_options): Reject combining mudflap and LTO.
169 * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
171 2012-01-05 Richard Guenther <rguenther@suse.de>
173 PR tree-optimization/51760
174 * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
176 (bit_value_unop): Handle UNDEFINED operands.
177 (bit_value_binop): Likewise.
179 2012-01-05 Georg-Johann Lay <avr@gjlay.de>
181 * config/avr/avr.c (avr_replace_prefix): Remove.
182 (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
183 (avr_asm_function_rodata_section): Ditto.
184 (avr_asm_select_section): Ditto.
186 2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
188 * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
191 2012-01-05 Jakub Jelinek <jakub@redhat.com>
194 * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
195 calls that have any non-fake successor edges.
198 * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
200 2012-01-04 Eric Botcazou <ebotcazou@adacore.com>
202 PR tree-optimization/51624
203 * tree-sra.c (build_ref_for_model): When replicating a chain of
204 COMPONENT_REFs, stop as soon as the offset would become negative.
206 2012-01-04 Jakub Jelinek <jakub@redhat.com>
209 * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
210 in .debug_loc on the floor.
212 2012-01-04 Andrew Pinski <apinski@cavium.com>
214 * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
216 2012-01-04 Andrew Pinski <apinski@cavium.com>
217 Adam Nemet <anemet@caviumnetworks.com>
219 * config/mips/mips.md (size): Add SI and DI.
220 (SIZE): New mode attribute.
221 (U): New code attribute.
222 * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
223 (mips_lbux_<mode>): Delete.
224 (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
225 (mips_lhx): Use gen_mips_lhx_extsi.
226 (mips_lhx_<mode>): Delete.
228 (mips_l<size>x): New expand.
229 (mips_lwx_<mode>): Delete.
230 (mips_l<GPR:size>x_<P:mode>): New pattern.
231 (*mips_lw<u>x_<P:mode>_ext): Likewise.
232 * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
233 * config/mips/mips.c (mips_lx_address_p): New function.
234 (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
235 (dsp64): New availability predicate.
236 (mips_builtins): Add an entry for __builtin_mips_ldx.
237 * config/mips/mips.h (ISA_HAS_LBX): New define.
238 (ISA_HAS_LBUX): Likewise.
239 (ISA_HAS_LHX): Likewise.
240 (ISA_HAS_LHUX): Likewise.
241 (ISA_HAS_LWX): Likewise.
242 (ISA_HAS_LWUX): Likewise.
243 (ISA_HAS_LDX): Likewise.
244 * doc/extend.texi (__builtin_mips_ldx): Document.
246 2012-01-04 Tristan Gingold <gingold@adacore.com>
248 * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
249 when long pointers are used.
250 * config.build (*-*-*vms*): Handle all OpenVMS targets.
251 (alpha64-dec-*vms*, alpha*-dec-*vms*)
252 (ia64-hp-*vms*): Remove.
253 * config/vms/xm-vms64.h: Delete.
255 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
258 * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
260 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
262 * opts.c (finish_options): Remove duplicate sorry.
264 2012-01-04 Aldy Hernandez <aldyh@redhat.com>
267 * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
270 2012-01-04 Richard Guenther <rguenther@suse.de>
273 * tree.c (size_low_cst): New function.
274 * tree.h (size_low_cst): Declare.
275 * fold-const.c (fold_comparison): Use it to extract the low
276 part of the POINTER_PLUS_EXPR offset.
278 2012-01-04 Georg-Johann Lay <avr@gjlay.de>
280 Fix clearing ZERO_REG
281 * config/avr/avr.md (cc): Add alternative "ldi".
282 (movqi_insn): Use it in cc attribute.
283 * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
284 (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
285 (output_reload_insisf): Use ZERO_REG to pre-clear register.
287 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
289 * configure: Regenerate.
291 2012-01-04 Richard Guenther <rguenther@suse.de>
293 PR tree-optimization/49651
294 * tree-ssa-structalias.c (type_can_have_subvars): New function.
295 (var_can_have_subvars): Use it.
296 (get_constraint_for_1): Only consider subfields if there can be any.
298 2012-01-03 Jakub Jelinek <jakub@redhat.com>
301 * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
302 to its new canonical_cselib_val and the cselib_val was in
303 first_containing_mem chain, but the canonical_cselib_val was not,
304 add the latter into the chain.
305 (cselib_invalidate_mem): Compare canonical_cselib_val of
306 addr_list chain elt with v.
309 * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
310 dwarf2out_undef): Allocate e.info using ggc_strdup instead
312 (output_macinfo_op): Don't ggc_strdup fd->filename.
313 (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
314 then ggc_strdup it. Don't free inc->info or cur->info.
315 (output_macinfo): Don't free ref->info or file->info.
317 2012-01-03 Ira Rosen <irar@il.ibm.com>
319 PR tree-optimization/51269
320 * tree-vect-loop-manip.c (set_prologue_iterations): Make
321 first_niters a pointer.
322 (slpeel_tree_peel_loop_to_edge): Likewise.
323 (vect_do_peeling_for_loop_bound): Update call to
324 slpeel_tree_peel_loop_to_edge.
325 (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
326 here. Remove it from the parameters list.
327 (vect_do_peeling_for_alignment): Update calls and compute
330 2012-01-03 Richard Guenther <rguenther@suse.de>
332 PR tree-optimization/51070
333 * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
334 Properly handle calls.
336 2012-01-03 Richard Guenther <rguenther@suse.de>
338 PR tree-optimization/51692
339 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
340 the LHS of allocation stmts.
342 2012-01-03 Olivier Hainque <hainque@adacore.com>
344 * system.h: Prior to #define, #undef fopen and freopen unconditionally.
346 2012-01-03 Olivier Hainque <hainque@adacore.com>
348 * collect2.c (main): In AIX specific computations for vector
349 insertions, use CONST_CAST2 to cast from char ** to const char **.
351 2012-01-03 Richard Guenther <rguenther@suse.de>
354 * dwarf2out.c (dwarf2out_finish): Always create a DIE for
355 the context of a limbo DIE when it does not already exist.
357 2012-01-03 Jakub Jelinek <jakub@redhat.com>
359 PR tree-optimization/51719
360 * value-prof.c (gimple_ic): When indirect call isn't noreturn,
361 but direct call is, clear direct call's lhs and don't add fallthrough
362 edge from dcall_bb to join_bb and PHIs.
364 2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
366 * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
367 the instructions emitted by the pattern.
368 ("*TDC_insn_<mode>"): Add comment.
370 2012-01-03 Richard Guenther <rguenther@suse.de>
373 * fold-const.c (fold_comparison): Properly canonicalize
374 tree offset and HOST_WIDE_INT bit position.
376 2012-01-02 Uros Bizjak <ubizjak@gmail.com>
378 * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
379 operands for extzv pattern.
381 2012-01-02 Jakub Jelinek <jakub@redhat.com>
384 * cselib.c (add_mem_for_addr): Call canonical_cselib_val
387 2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
389 * doc/invoke.texi (-flto and related options): Copy-edit.
391 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
393 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
395 2012-01-02 Jakub Jelinek <jakub@redhat.com>
397 * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
400 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
402 * expr.h (move_by_pieces_ninsns): Declare.
403 * expr.c (move_by_pieces_ninsns): Make external.
404 * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
405 (mips_store_by_pieces_p): Likewise.
406 * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
407 (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
408 * config/mips/mips.c (mips_move_by_pieces_p): New function.
409 (mips_store_by_pieces_p): Likewise.
411 2012-01-02 Jakub Jelinek <jakub@redhat.com>
413 * passes.c (register_one_dump_file): Free full_name.
415 * reload1.c (reload): Don't allocate reg_max_ref_width here.
416 (calculate_elim_costs_all_insns): Free offsets_at and
417 offsets_known_at at the end and clear the pointers.
419 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
421 * config/avr/avr.opt (-mbranch-cost): Fix double definition of
422 this option introduced in r180739.
424 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
427 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
428 (tmake_file target=avr): Add avr/t-multilib.
430 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
431 to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
432 * config/avr/genmultilib.awk: New file.
433 * config/avr/t-multilib: New auto-generated file.
434 * config/avr/multilib.h: New auto-generated file.
435 * config/avr/t-avr (AVR_MCUS): New variable.
437 (s-mlib): Depend on t-multilib.
438 (t-multilib, multilib.h): New dependencies.
439 (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
440 (MULTILIB_OPTIONS): Remove.
441 (MULTILIB_MATCHES): Remove.
442 (MULTILIB_DIRNAMES): Remove.
443 (MULTILIB_EXCEPTIONS): Remove:
444 * config/avr/genopt.sh: Don't use hard coded file name;
445 pass AVR_MCUS from t-avr instead.
447 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
449 * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
451 2012-01-02 Georg-Johann Lay <avr@gjlay.de>
453 Implement light-weight DImode support.
454 * config/avr/avr-dimode.md: New file.
455 * config/avr/avr.md: Include it.
456 (adjust_len): Add plus64, compare64.
457 (HIDI): Remove code iterator.
458 (code_stdname): New code attribute.
459 (rotx, rotsmode): Remove DI.
460 (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
462 * config/avr/avr-protos.h (avr_have_dimode): New.
463 (avr_out_plus64, avr_out_compare64): New.
464 * config/avr/avr.c (avr_out_compare): Handle DImode.
465 (avr_have_dimode): New variable definition and initialization.
466 (avr_out_compare64, avr_out_plus64): New functions.
467 (avr_out_plus_1): Use simplify_unary_operation to negate xval.
468 (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
469 (avr_compare_pattern): Skip DImode comparisons.
471 2012-01-02 Revital Eres <revital.eres@linaro.org>
473 * ddg.c (def_has_ccmode_p): New function.
474 (add_cross_iteration_register_deps,
475 create_ddg_dep_from_intra_loop_link): Call it.
477 2012-01-02 Richard Guenther <rguenther@suse.de>
480 * invoke.texi (fassociative-math): Remove spurious paranthesis.
482 2012-01-01 Jakub Jelinek <jakub@redhat.com>
484 * gcc.c (process_command): Update copyright notice dates.
485 * gcov.c (print_version): Likewise.
486 * gcov-dump.c (print_version): Likewise.
487 * mips-tfile.c (main): Likewise.
488 * mips-tdump.c (main): Likewise.
490 2012-01-01 Ira Rosen <irar@il.ibm.com>
492 PR tree-optimization/51704
493 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
494 a use is inside the basic block or loop before accessing its vect info.
496 2012-01-01 Jan Hubicka <jhjh@suse.cz>
498 PR rtl-optimization/51069
499 * cfgloopmanip.c (remove_path): Removing path making irreducible
500 region unconditional makes BB part of the region.
502 2012-01-01 Jakub Jelinek <jakub@redhat.com>
504 PR tree-optimization/51683
505 * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
506 calls with side-effects.
507 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
509 Copyright (C) 2012 Free Software Foundation, Inc.
511 Copying and distribution of this file, with or without modification,
512 are permitted in any medium without royalty provided the copyright
513 notice and this notice are preserved.