| 2013-03-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline: |
| 2012-12-04 Ian Lance Taylor <iant@google.com> |
| |
| * godump.c (find_dummy_types): Output a dummy type if we couldn't |
| output the real type. |
| |
| 2013-03-20 Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| PR bootstrap/56258 |
| * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx. |
| (PLUS_EXPR): Likewise. |
| * doc/cppopts.texi (--help): Likewise. |
| * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise. |
| (-fdump-rtl-cprop_hardreg): Likewise. |
| (-fdump-rtl-csa): Likewise. |
| (-fdump-rtl-dce): Likewise. |
| (-fdump-rtl-dbr): Likewise. |
| (-fdump-rtl-into_cfglayout): Likewise. |
| (-fdump-rtl-outof_cfglayout): Likewise. |
| |
| 2013-03-18 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/56470 |
| * arm.c (shift_op): Validate RTL pattern on the fly. |
| (arm_print_operand, case 'S'): Don't use shift_operator to validate |
| the RTL. |
| |
| 2013-03-14 Seth LaForge <sethml@google.com> |
| |
| PR target/56351 |
| Backport from mainline |
| 2012-10-22 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing |
| VFP D registers in big-endian mode. |
| |
| 2013-03-08 Joey Ye <joey.ye@arm.com> |
| |
| Backport from mainline |
| 2013-03-06 Joey Ye <joey.ye@arm.com> |
| |
| PR lto/50293 |
| * gcc.c (convert_white_space): New function. |
| (main): Handles white space in function name. |
| |
| 2013-03-06 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2013-03-06 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/56529 |
| * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT |
| instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy |
| to SH_DIV_CALL_TABLE for TARGET_SH2. |
| * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib |
| list. |
| * doc/invoke.texi (SH options): Use table for mdiv= option. Document |
| mdiv= call-div1, call-fp, call-table options. |
| |
| 2013-03-06 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (arm*-*-rtemself*): New. |
| (arm*-*-rtems*): Removed. |
| (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename |
| "arm*-*-rtemseabi*" to "arm*-*-rtems*". |
| |
| 2013-03-01 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-12-12 Zdenek Dvorak <ook@ucw.cz> |
| |
| PR tree-optimization/55481 |
| * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall |
| back to general rewriting if we cannot leave an original biv |
| definition alone. |
| |
| 2013-03-01 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-04-10 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52888 |
| * gimple-low.c (gimple_check_call_args): Properly account for |
| compatible aggregate types. |
| |
| 2013-02-26 Nick Clifton <nickc@redhat.com> |
| |
| PR target/56453 |
| Import this patch from the mainline: |
| |
| 2012-08-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison. |
| (branch_true): Likewise. |
| (branch_false): Likewise. |
| |
| 2013-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56443 |
| * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For |
| overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument |
| to type_for_mode langhook. |
| |
| 2013-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/56258 |
| * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item |
| instead of @itemx. |
| |
| 2013-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2013-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56350 |
| * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false |
| if haven't found reduction or nested cycle operand, rather than |
| asserting we must find it. |
| |
| PR tree-optimization/56381 |
| * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument |
| to fold_build3. |
| |
| 2013-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56250 |
| * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize |
| if type is unsigned and code isn't MULT_EXPR. |
| |
| 2013-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/56217 |
| * omp-low.c (use_pointer_for_field): Return false if |
| lower_send_shared_vars doesn't generate any copy-out code. |
| |
| 2012-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/55110 |
| * tree-vect-loop.c (vectorizable_reduction): Don't assert |
| that STMT_VINFO_RELATED_STMT of orig_stmt is stmt. |
| |
| 2013-02-18 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2013-02-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-07-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53844 |
| * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle |
| the loop virtual PHI. |
| |
| 2013-02-13 David S. Miller <davem@davemloft.net> |
| |
| * expmed.c (expand_shift_1): Only strip scalar integer subregs. |
| |
| 2013-02-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-02-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/56275 |
| * simplify-rtx.c (avoid_constant_pool_reference): Check that |
| offset is non-negative and less than cmode size before |
| calling simplify_subreg. |
| |
| 2013-02-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-02-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (FMAMODEM): New mode iterator. |
| (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM |
| mode iterator. Do not use TARGET_SSE_MATH in insn constraint. |
| |
| 2013-02-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only |
| when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set. |
| * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto. |
| |
| 2013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/56043 |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass): |
| If there is no implicit builtin declaration, just return NULL. |
| |
| 2013-02-08 David Edelsohn <dje.gcc@gmail.com> |
| Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear |
| MASK_VSX from set_masks if OS_MISSING_ALTIVEC. |
| |
| 2013-02-07 David S. Miller <davem@davemloft.net> |
| |
| * dwarf2out.c (based_loc_descr): Perform leaf register remapping |
| on 'reg'. |
| * var-tracking.c (vt_add_function_parameter): Test the presence of |
| HAVE_window_save properly and do not remap argument registers when |
| we have a leaf function. |
| |
| 2013-02-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-02-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR bootstrap/56227 |
| * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT |
| instead of "ll". |
| * config/i386/i386.c (ix86_print_operand): Ditto. |
| |
| 2013-02-07 Alan Modra <amodra@gmail.com> |
| |
| PR target/53040 |
| * config/rs6000/rs6000.c (rs6000_savres_strategy): When using |
| static chain, set REST_INLINE_FPRS too. |
| |
| 2013-02-06 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at> |
| |
| * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld. |
| * configure: Regenerate. |
| |
| 2013-02-05 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2013-02-03 David Edelsohn <dje.gcc@gmail.com> |
| Andrew Dixie <andrewd@gentrack.com> |
| |
| * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY |
| flag set. |
| |
| 2013-02-05 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-12-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/55107 |
| * tree-ssa-pre.c (struct pre_stats): Remove constified field. |
| (bitmap_set_replace_value): Add gcc_unreachable. |
| (do_regular_insertion): Re-write all_same handling. Insert |
| an assignment instead of a PHI in this case. |
| (execute_pre): Do not record constified events. |
| |
| 2013-02-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/54767 |
| * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via |
| backedges drop all symbolical range information. |
| (execute_vrp): Compute backedges. |
| |
| 2013-02-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-01-11 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44061 |
| * tree-vrp.c (extract_range_basic): Compute zero as |
| value-range for __builtin_constant_p of function parameters. |
| |
| 2013-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/55890 |
| * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p. |
| |
| 2013-02-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-07-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53844 |
| * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle |
| the loop virtual PHI. |
| |
| 2012-12-13 Richard Biener <rguenther@suse.de> |
| |
| PR lto/55660 |
| * tree-streamer.c (record_common_node): Check that we are not |
| recursively pre-loading nodes we want to skip. Handle |
| char_type_node appearing as part of va_list_type_node. |
| |
| 2013-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/55890 |
| * gimple.h (gimple_call_builtin_class_p): New function. |
| * gimple.c (validate_call): New function. |
| (gimple_call_builtin_class_p): Likewise. |
| * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): |
| Use gimple_call_builtin_class_p. |
| (find_func_clobbers): Likewise. |
| * tree-ssa-strlen.c (adjust_last_stmt): Likewise. |
| (strlen_optimize_stmt): Likewise. |
| |
| 2013-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2013-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56125 |
| * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize |
| pow(x,c) into sqrt(x) * powi(x, n/2) or |
| 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when |
| optimizing for size. |
| Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or |
| 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an |
| integer. |
| |
| 2013-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56098 |
| * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr |
| for stmts with volatile ops. |
| (cond_store_replacement): Don't optimize if assign has volatile ops. |
| (cond_if_else_store_replacement_1): Don't optimize if either |
| then_assign or else_assign have volatile ops. |
| |
| 2013-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/49069 |
| * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand |
| instead of cmpdi_operand for first comparison operand. |
| Don't assert that comparison operands aren't both constants. |
| |
| 2013-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/56051 |
| * fold-const.c (fold_binary_loc): Don't fold |
| X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either |
| a narrowing conversion, or widening conversion from signed |
| to unsigned. |
| |
| 2013-01-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/56015 |
| * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle |
| the case where writing real complex part of target modifies |
| op1. |
| |
| 2013-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/55940 |
| * function.c (thread_prologue_and_epilogue_insns): Always |
| add crtl->drap_reg to set_up_by_prologue.set, even if |
| stack_realign_drap is false. |
| |
| 2013-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/55921 |
| * tree-complex.c (expand_complex_asm): New function. |
| (expand_complex_operations_1): Call it for GIMPLE_ASM. |
| |
| 2013-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/55838 |
| * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on |
| iv0.step, iv1.step and step. |
| |
| 2012-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/54046 |
| * Makefile.in (gimple-low.o): Depend on langhooks.h. |
| * gimple-low.c: Include langhooks.c. |
| (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK, |
| by default call lang_hooks.block_may_fallthru. |
| * langhooks.h (struct lang_hooks): Add block_may_fallthru |
| langhook. |
| * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define. |
| (LANG_HOOKS_INITIALIZER): Use it. |
| |
| 2012-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/55094 |
| * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note |
| on the trap insn for !ACCUMULATE_OUTGOING_ARGS. |
| * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns |
| on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS |
| fail if the last real insn doesn't have REG_ARGS_SIZE note. |
| |
| 2012-11-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/55236 |
| * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv |
| and signed ARG0_TYPE, force low and high to be non-NULL. |
| |
| 2012-11-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/54127 |
| * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting |
| asm goto labels from BB_HEAD (e->dest) to target bb, decrement |
| LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of |
| BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or |
| REG_LABEL_TARGET and REG_LABEL_OPERAND. |
| |
| 2013-02-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the |
| range isn't testing for zero. |
| |
| 2013-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/56113 |
| * tree-ssa-structalias.c (equiv_class_lookup): Also return |
| the bitmap leader. |
| (label_visit): Free duplicate bitmaps and record the leader instead. |
| (perform_var_substitution): Adjust. |
| |
| 2013-01-28 Serowk <serowk@yandex.ru> |
| |
| PR target/35294 |
| * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter. |
| Fix mode checks to allow for the passing of constants in the |
| second parameter. |
| (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin. |
| Add entries in the switch statement for builtin iwmmxt vector |
| shift and rotate builtins. |
| |
| 2013-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/56114 |
| * config/i386/i386.md (*movabs<mode>_1): Add square brackets around |
| operand 0 in movabs insn template for -masm=intel asm alternative. |
| (*movabs<mode>_2): Ditto for operand 1. |
| |
| 2013-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-01-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/56028 |
| * config/i386/i386.md (*movti_internal_rex64): Change (o,riF) |
| alternative to (o,r). |
| (*movdi_internal_rex64): Remove (!o,n) alternative. |
| (DImode immediate->memory splitter): Remove. |
| (DImode immediate->memory peephole2): Remove. |
| (movtf): Enable for TARGET_64BIT || TARGET_SSE. |
| (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r) |
| alternative to (!o,*r). |
| (*movtf_internal_sse): New pattern. |
| (*movxf_internal_rex64): New pattern. |
| (*movxf_internal): Disable for TARGET_64BIT. |
| (*movdf_internal_rex64): Remove (!o,F) alternative. |
| |
| 2013-01-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives |
| involving stack registers slightly. |
| |
| 2013-01-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/constraints.md (Yf): New constraint. |
| * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead |
| of f constraint to conditionaly disable x87 register preferences. |
| (*movdf_internal): Ditto. |
| (*movsf_internal): Ditto. |
| |
| 2012-01-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative. |
| (*movtf_internal_rex64): Add (!o,C) alternative |
| (*movxf_internal_rex64): Ditto. |
| (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives. |
| |
| 2013-01-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__. |
| |
| 2013-01-24 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2013-01-04 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/55755 |
| * tree-sra.c (sra_modify_assign): Do not check that an access has no |
| children when trying to avoid producing a VIEW_CONVERT_EXPR. |
| |
| 2013-01-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-01-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA. |
| |
| 2013-01-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/56023 |
| * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions, |
| dependent on debug instruction. |
| |
| 2013-01-21 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2013-01-17 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimizations/55264 |
| * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual. |
| * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false |
| for virtual functions. |
| * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true |
| for virtual methods. |
| * ipa.c (cgraph_remove_unreachable_nodes): Never return true for |
| virtual methods before inlining is over. |
| |
| 2013-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/55981 |
| * config/i386/sync.md (atomic_store<mode>): Generate SWImode |
| store through atomic_store<mode>_1. |
| (atomic_store<mode>_1): Macroize insn using SWI mode iterator. |
| |
| 2013-01-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/55882 |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly |
| account for bitpos when computing alignment. |
| |
| 2013-01-14 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2013-01-14 trunk r195169. |
| |
| PR target/55974 |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH |
| etc. to 1 and not to __flash. |
| Use LL suffix for __INT24_MAX__ with -mint8. |
| Use ULL suffix for __UINT24_MAX__ with -mint8. |
| |
| 2013-01-14 Matthias Klose <doko@ubuntu.com> |
| |
| * doc/invoke.texi: Document -print-multiarch. |
| * doc/install.texi: Document --enable-multiarch. |
| * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME. |
| * configure.ac: Add --enable-multiarch option. |
| Substitute with_cpu, with_float. |
| * configure: Regenerate. |
| * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib. |
| enable_multiarch, with_cpu, with_float: New macros. |
| if_multiarch: New macro, define in terms of enable_multiarch. |
| * genmultilib: Add new argument for the multiarch name. |
| * gcc.c (multiarch_dir): Define. |
| (for_each_path): Search for multiarch suffixes. |
| (driver_handle_option): Handle multiarch option. |
| (do_spec_1): Pass -imultiarch if defined. |
| (main): Print multiarch. |
| (set_multilib_dir): Separate multilib and multiarch names |
| from multilib_select. |
| (print_multilib_info): Ignore multiarch names in multilib_select. |
| * incpath.c (add_standard_paths): Search the multiarch include dirs. |
| * cppdefault.h (default_include): Document multiarch in multilib |
| member. |
| * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an |
| include directory for multiarch directories. |
| * common.opt: New options --print-multiarch and -imultilib. |
| |
| * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file): |
| Include i386/t-linux. |
| <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file): |
| Include i386/t-kfreebsd. |
| <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu. |
| * config/i386/t-linux64: Add multiarch names in |
| MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME. |
| * config/i386/t-gnu: New file. |
| * config/i386/t-kfreebsd: Likewise. |
| * config/i386/t-linux: Likewise. |
| |
| * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. |
| * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME. |
| * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux |
| for 32bit non-biarch configurations. |
| |
| * config/pa/t-linux: New file; define MULTIARCH_DIRNAME. |
| * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file): |
| Include pa/t-linux. |
| |
| * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. |
| |
| * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target. |
| |
| * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. |
| * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME. |
| * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2 |
| to the list. |
| (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS. |
| * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file): |
| Include rs6000/t-linux for 32bit non-biarch configurations. |
| |
| * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. |
| |
| * config/m68k/t-linux: Define MULTIARCH_DIRNAME. |
| |
| * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME. |
| * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux. |
| |
| * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME. |
| * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux. |
| |
| 2013-01-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo. |
| * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise. |
| (vect_estimate_min_profitable_iter): Adjust to above fix. |
| * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. |
| |
| 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (X86 Built-in Functions): Add whitespace in |
| __builtin_ia32_paddb256 and __builtin_ia32_pavgb256 |
| documentation. Add missing '__' in front of |
| __builtin_ia32_packssdw256. |
| |
| 2013-01-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-01-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (*vec_interleave_highv2df): Change mode |
| attribute of movddup insn to DF. |
| (*vec_interleave_lowv2df): Ditto. |
| (vec_dupv2df): Ditto. |
| |
| 2013-01-07 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2013-01-07 trunk r194991, r194992. |
| |
| PR target/55897 |
| * doc/extend.texi (AVR Named Address Spaces): __memx goes into |
| .progmemx.data now. |
| |
| * config/avr/avr.h (ADDR_SPACE_COUNT): New enum. |
| (avr_addrspace_t): Add .section_name field. |
| * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as |
| array size. |
| (avr_addrspace): Same. Initialize .section_name. Remove last |
| NULL entry. Put __memx into .progmemx.data. |
| (progmem_section_prefix): Remove. |
| (avr_asm_init_sections): No need to initialize progmem_section. |
| (avr_asm_named_section): Use avr_addrspace[].section_name to get |
| section name prefix. |
| (avr_asm_select_section): Ditto. And use get_unnamed_section to |
| retrieve the progmem section. |
| * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop |
| boundary to run over avr_addrspace[]. |
| (avr_register_target_pragmas): Ditto. |
| |
| 2013-01-07 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2013-01-07 trunk r194978. |
| |
| PR target/54461 |
| * doc/install.texi (Cross-Compiler-Specific Options): Document |
| --with-avrlibc. |
| |
| 2013-01-07 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2013-01-07 trunk r194968. |
| |
| PR other/55243 |
| * config/avr/t-avr: Don't automatically rebuild |
| $(srcdir)/config/avr/t-multilib |
| $(srcdir)/config/avr/avr-tables.opt |
| (avr-mcus): New phony target to build them on request. |
| (s-avr-mlib): Remove. |
| * avr/avr-mcus.def: Adjust comments. |
| |
| 2013-01-07 Terry Guo <terry.guo@arm.com> |
| |
| Backport from mainline |
| 2012-12-19 Terry Guo <terry.guo@arm.com> |
| |
| * config/arm/arm.c (thumb_find_work_register): Check argument |
| register number based on current PCS. |
| |
| 2013-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2013-01-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/55712 |
| * config/i386/i386-c.c (ix86_target_macros_internal): Depending on |
| selected code model, define __code_mode_small__, __code_model_medium__, |
| __code_model_large__, __code_model_32__ or __code_model_kernel__. |
| * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix |
| xchg temporary register with %k. Declare temporary register as |
| early clobbered. |
| [__x86_64__]: For medium and large code models, preserve %rbx register. |
| |
| 2013-01-03 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_move): Always assign to op1 |
| after eliminating TLS symbols. |
| |
| 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/53789 |
| * config/pa/pa.md (movsi): Revert previous change. |
| * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol |
| references. |
| |
| 2013-01-02 Rainer Emrich <rainer@emrich-ebersheim.de> |
| |
| PR bootstrap/55707 |
| * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via |
| intptr_t. |
| |
| 2013-01-02 Jason Merrill <jason@redhat.com> |
| |
| PR c++/55804 |
| * tree.c (build_array_type_1): Revert earlier change. |
| |
| 2012-12-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/53789 |
| * config/pa/pa.md (movsi): Reject expansion of TLS symbol references |
| after reload starts. |
| |
| 2012-12-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/55355 |
| * tree-sra.c (type_internals_preclude_sra_p): Also check that |
| bit_position is small enough to fit a single HOST_WIDE_INT. |
| |
| 2012-12-21 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> |
| |
| * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux. |
| |
| 2012-12-18 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> |
| |
| Backport from mainline |
| 2012-10-15 Matthias Klose <doko@ubuntu.com> |
| |
| * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU. |
| * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi. |
| |
| 2012-12-16 Eric Botcazou <ebotcazou@adacore.com> |
| Tomash Brechko <tomash.brechko@gmail.com> |
| |
| PR target/55673 |
| * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed |
| handling of before and after cases. |
| * config/sparc/sync.md (atomic_store): Fix pasto. |
| |
| 2012-12-14 Yvan Roux <yvan.roux@linaro.org> |
| |
| * optabs.c (expand_atomic_store): Elide redundant model test. |
| |
| 2012-12-13 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/55492 |
| * optabs.c (expand_atomic_load): Emit acquire barrier after the load. |
| |
| 2012-12-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/54121 |
| * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto. |
| (tldo_stb_sp64): Likewise. |
| (tldo_sth_sp32): Likewise. |
| (tldo_sth_sp64): Likewise. |
| (tldo_stw_sp32): Likewise. |
| (tldo_stw_sp64): Likewise. |
| (tldo_stx_sp64): Likewise. |
| |
| 2012-12-10 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/53912 |
| * print-tree.c (print_node): Cast from pointer via uintptr_t. |
| |
| 2012-12-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-12-06 Uros Bizjak <ubizjak@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/55597 |
| * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode, |
| before using it as insn or call equivalent. |
| |
| 2012-12-06 Jason Merrill <jason@redhat.com> |
| |
| PR c++/55032 |
| * tree.c (build_array_type_1): Re-layout if we found it in the |
| hash table. |
| |
| 2012-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify |
| opaque cond in all call insns. |
| |
| 2012-12-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch |
| area if the function allocates dynamic stack space. |
| (ia64_initial_elimination_offset): Adjust offsets to above change. |
| |
| 2012-12-03 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-09-24 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53663 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional |
| native encode/interpret translation on VN_WALKREWRITE. |
| |
| 2012-12-03 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/53912 |
| * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t. |
| |
| PR target/53912 |
| * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT. |
| |
| PR target/53912 |
| * pointer-set.c (hash1): Cast from pointer via uintptr_t. |
| |
| 2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| Backport from mainline: |
| 2012-11-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/55195 |
| * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types. |
| (in_branch_delay): Don't allow sibcall or sh_func_adrs insns. |
| (in_nullified_branch_delay): Likewise. |
| (in_call_delay): Likewise. |
| Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for |
| new types. Add opaque cond to mark all calls, sibcalls, dyncalls and |
| the $$sh_func_adrs call as variable. Update type of sibcalls and |
| $$sh_func_adrs call. |
| * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated |
| length instead of adjustment. Handle negative and undefined call |
| adjustments for insn_default_length. Remove adjustment for millicode |
| insn with unfilled delay slot. |
| (pa_output_millicode_call): Update for revised millicode length. |
| * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH. |
| |
| 2012-11-29 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/55171 |
| * prefix.c (lookup_key): Replace xmalloc/xrealloc |
| use by XNEWVEC/XRESIZEVEC. |
| |
| * i386.c (get_scratch_register_on_entry): Handle |
| thiscall-convention. |
| (split_stack_prologue_scratch_regno): Likewise. |
| (ix86_static_chain): Likewise. |
| (x86_output_mi_thunk): Likewise. |
| |
| 2012-11-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-11-27 H.J. Lu <hongjiu.lu@intel.com> |
| Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR lto/54795 |
| * lto-opts.c (lto_write_options): Also handle |
| OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and |
| OPT_SPECIAL_program_name. |
| |
| PR lto/55474 |
| * lto-wrapper.c (merge_and_complain): Handle |
| OPT_SPECIAL_unknown, OPT_SPECIAL_ignore, |
| OPT_SPECIAL_program_name and OPT_SPECIAL_input_file. |
| |
| 2012-11-27 Paolo Bonzini <pbonzini@redhat.com> |
| |
| PR rtl-optimization/55489 |
| * gcse.c (compute_transp): Precompute a canonical version |
| of XEXP (x, 0), and pass it to canon_true_dependence. |
| |
| 2012-11-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/55331 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Replace |
| stmt with a NOP instead of removing it. |
| |
| 2012-11-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-10-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/54976 |
| * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): |
| Robustify against odd inner_mode inputs. |
| |
| 2012-10-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/54894 |
| * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): |
| Handle over-aligned scalar types properly. |
| |
| 2012-10-02 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/54735 |
| * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before |
| cleaning up the CFG. |
| |
| 2012-11-21 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment |
| explaining the register ordering preferences. |
| |
| 2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move |
| constraints so that the traditional floating point loads, stores, |
| and moves are done first, then the VSX loads, stores, and moves, |
| and finally the GPR loads, stores, and moves so that reload |
| chooses FPRs over GPRs, and uses the traditional load/store |
| instructions which provide an offset. |
| (movdf_hardfloat64): Likewise. |
| |
| 2012-11-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-11-13 Eric Botcazou <ebotcazou@adacore.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/55142 |
| * config/i386/i386.c (legitimize_pic_address): Properly handle |
| REG + CONST. |
| (ix86_print_operand_address): Set code to 'k' when forcing |
| addr32 prefix. For x32, zero-extend negative displacement if |
| it < -16*1024*1024. |
| |
| 2012-11-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * common.opt (fvar-tracking-uninit): Document. |
| * toplev.c (process_options): Fix handling of flag_var_tracking_uninit. |
| * config/darwin.c (darwin_override_options): Likewise. |
| |
| 2012-11-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak. |
| * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto. |
| |
| 2012-11-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (sparc64-x-solaris2): Mention MPC as well. |
| |
| 2012-11-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (release_scratch_register_on_entry): Also adjust |
| sp_offset manually. |
| |
| 2012-11-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-11-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_init_machine_status): Do not |
| explicitly clear tls_descriptor_call_expanded_p again. |
| |
| 2012-11-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md |
| (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0 |
| as read and written by the instruction. |
| |
| 2012-11-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define. |
| (ix86_instantiate_decls): New function. |
| (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP |
| stack slot instead of SLOT_VIRTUAL. |
| <case IX86_BUILTIN_STMXCSR>: Ditto. |
| (assign_386_stack_local): Do not assert when virtual slot is valid. |
| * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL. |
| * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot. |
| (truncxf<mode>2): Ditto. |
| (floatunssi<mode>2): Ditto. |
| (isinf<mode>2): Ditto. |
| * config/i386/sync.md (atomic_load<mode>): Ditto. |
| (atomic_store<mode>): Ditto. |
| |
| 2012-11-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/55219 |
| * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if |
| the argument is itself a conditional expression. |
| |
| 2012-11-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with |
| REX_INT_REGNO_P. |
| |
| 2012-11-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/54986 |
| * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op |
| conversions on entry but add them back on exit if needed. |
| |
| 2012-11-05 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/55204 |
| * config/i386/i386.c (ix86_address_subreg_operand): Remove stack |
| pointer check. |
| (print_reg): Use true_regnum rather than REGNO. |
| (ix86_print_operand_address): Remove SUBREG handling. |
| |
| 2012-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-10-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/54828 |
| * gimple.h (is_gimple_sizepos): New inline function. |
| * gimplify.c (gimplify_one_sizepos): Use it. Remove useless |
| final assignment to expr variable. |
| * tree.c (RETURN_TRUE_IF_VAR): Return true also if |
| !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified |
| into a local temporary. |
| |
| 2012-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/54877 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR |
| use make_ssa_name instead of copy_ssa_name. |
| |
| 2012-11-03 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-10-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53708 |
| * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve |
| user-supplied alignment when used with an explicit section name. |
| |
| 2012-11-02 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/54985 |
| * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted |
| from thread_across_edge. |
| (thread_across_edge): Use it in all cases where we might thread |
| across a back edge. |
| |
| 2012-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the |
| special register pushes before frame probing and allocation. |
| |
| 2012-10-31 Ralf Corsépius <ralf.corsepius@rtems.org>, |
| Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| * config/sparc/t-rtems: New (Custom multilibs). |
| * config/sparc/t-rtems-64: New (Custom multilibs). |
| * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64. |
| (sparc-*-rtems*): Add sparc/t-rtems. |
| |
| 2012-10-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in |
| head comment. |
| (hash_rtx): Likewise. |
| |
| 2012-10-29 Terry Guo <terry.guo@arm.com> |
| |
| Backport from mainline |
| 2012-10-11 Terry Guo <terry.guo@arm.com> |
| |
| * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m |
| architecture. |
| * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB |
| instruction. |
| |
| 2012-10-26 Gunther Nikl <gnikl@users.sourceforge.net> |
| |
| * common/config/m68k/m68k-common.c (m68k_handle_option): Set |
| gcc_options fields of opts_set for -m68020-40 and -m68020-60. |
| |
| 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| * config/avr/t-rtems: Revert previous commit. |
| |
| 2012-10-26 Terry Guo <terry.guo@arm.com> |
| |
| Backport from mainline |
| 2012-10-23 Terry Guo <terry.guo@arm.com> |
| |
| PR target/55019 |
| * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with |
| live argument regs. |
| |
| 2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove |
| __USE_INIT_FINI__. |
| * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit. |
| |
| 2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (microblaze*-*-rtems*): New target. |
| * config/microblaze/rtems.h: New. |
| * config/microblaze/t-rtems: New. |
| |
| 2012-10-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/54902 |
| * tree-ssa-pre.c (fini_pre): Return TODO. |
| (execute_pre): Adjust. |
| * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable |
| blocks before computing dominators. |
| |
| 2012-10-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-10-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (memory_address_length): Assert that non-null |
| base or index RTXes are registers. Do not check for REG RTXes. |
| Determine addr32 prefix using SImode_address_operand or |
| from original base and index RTXes. Simplify code. |
| |
| 2012-10-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-protos.h (memory_address_length): Add new bool |
| argument. Update all uses. |
| * config/i386/i386.c (memory_address_length): If not LEA insn, then |
| add length of addr32 prefix based on mode of base or index register. |
| (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode |
| addresses here. Update call to memory_address_length. |
| (ix86_print_address_operand): Use SImode_address_operand predicate. |
| * config/i386/predicates.md (SImode_address_operand): New. |
| * config/i386/i386.md (lea<mode>): Use SImode_address_operand |
| to calculate "mode" attribute. Use SImode_address_operand predicate |
| instead of open-coding accepted RTX codes. |
| |
| 2012-10-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-10-22 trunk r192685. |
| * doc/invoke.texi (AVR Options): Document __AVR_ARCH__. |
| Note __AVR_<device>__ is not defined for cores. |
| Don't point to --help=target. |
| Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi. |
| |
| 2012-10-19 Marek Polacek <polacek@redhat.com> |
| |
| Backported from mainline |
| 2012-10-19 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/54945 |
| * fold-const.c (fold_sign_changed_comparison): Punt if folding |
| pointer/non-pointer comparison. |
| |
| 2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org> |
| |
| Backported from mainline |
| 2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org> |
| |
| PR target/54892 |
| * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make |
| sure the mode is correct when falling through from above cases. |
| |
| 2012-10-19 Alan Modra <amodra@gmail.com> |
| |
| * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold. |
| (HAVE_LD_LARGE_TOC): Likewise. |
| * configure: Regenerate. |
| |
| 2012-10-19 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/predicates.md (splat_input_operand): Don't call |
| input_operand for MEMs. Instead check for volatile and call |
| memory_address_addr_space_p with modified mode. |
| |
| 2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> |
| |
| Backported from mainline |
| 2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| * config/arm/arm.c (arm_reorg): Ensure all insns are split. |
| |
| 2012-10-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/54870 |
| * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME. |
| * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the |
| SSA_NAME pointer that points to a partition if there is at least |
| one variable with it set in the partition. |
| * dse.c (local_variable_can_escape): New predicate. |
| (can_escape): Call it. |
| * gimplify.c (mark_addressable): If this is a partitioned decl, also |
| mark the SSA_NAME pointer that points to a partition. |
| |
| 2012-10-16 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2012-08-09 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/53701 |
| * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment. |
| rocess not only expr's vinsns but all old vinsns from expr's |
| istory of changes. |
| |
| 2012-10-16 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2012-07-31 Andrey Belevantsev <abel@ispras.ru> |
| PR target/53975 |
| |
| * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment. |
| Revert |
| 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru> |
| * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge |
| only if producer writes to the register given by regno. |
| |
| 2012-09-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-10-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (UNSPEC_MOVU): Remove. |
| (UNSPEC_LOADU): New. |
| (UNSPEC_STOREU): Ditto. |
| (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ... |
| (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ... |
| (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this. |
| (<sse2>_movdqu<avxsizesuffix>): Split to ... |
| (<sse2>_loaddqu<avxsizesuffix>): ... this and ... |
| (<sse2>_storedqu<avxsizesuffix>): ... this. |
| (*sse4_2_pcmpestr_unaligned): Update. |
| (*sse4_2_pcmpistr_unaligned): Ditto. |
| |
| * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use |
| gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and |
| gen_avx_store{dqu,ups,upd}256 to store to unaligned memory. |
| (ix86_expand_vector_move_misalign): Use gen_sse_loadups or |
| gen_sse2_load{dqu,upd} to load from unaligned memory and |
| gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to |
| unaligned memory. |
| (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>: |
| Use CODE_FOR_sse_loadups. |
| <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd. |
| <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu. |
| <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups. |
| <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd. |
| <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu. |
| <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256. |
| <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256. |
| <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256. |
| <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256. |
| <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256. |
| <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256. |
| |
| 2012-10-15 Steven Bosscher <steven@gcc.gnu.org> |
| |
| Backport from trunk (r190222): |
| |
| PR tree-optimization/54146 |
| * ifcvt.c: Include pointer-set.h. |
| (cond_move_process_if_block): Change type of then_regs and |
| else_regs from alloca'd array to pointer_sets. |
| (check_cond_move_block): Update for this change. |
| (cond_move_convert_if_block): Likewise. |
| * Makefile.in: Fix dependencies for ifcvt.o. |
| |
| 2012-10-15 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/54920 |
| * tree-ssa-pre.c (create_expression_by_pieces): Properly |
| allocate temporary storage for all NARY elements. |
| |
| 2012-10-08 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/54854 |
| * doc/invoke.texi (AVR Options): Deprecate -mshort-calls. |
| |
| 2012-10-05 Mark Kettenis <kettenis@openbsd.org> |
| |
| * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set |
| default_use_cxa_atexit to yes. |
| |
| 2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/pa.md: Adjust unamed HImode add insn pattern. |
| |
| 2012-10-05 Jan Hubicka <jh@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/33763 |
| * tree-inline.c (expand_call_inline): Silently ignore always_inline |
| attribute for redefined extern inline functions. |
| |
| 2012-10-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic |
| in SSE and YMM state support check for -march=native. |
| |
| 2012-10-03 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/53135 |
| * dwarf2out.c (value_format): Use block4 for dw_val_class_loc |
| when needed. |
| |
| 2012-10-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-10-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/54785 |
| * doc/invoke.texi: Document -mprefer-avx128. |
| |
| 2012-10-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-10-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/54741 |
| * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New. |
| (XSTATE_FP): Likewise. |
| (XSTATE_SSE): Likewise. |
| (XSTATE_YMM): Likewise. |
| (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if |
| SSE and YMM states aren't supported. |
| |
| 2012-10-01 Tom de Vries <tom@codesourcery.com> |
| |
| * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to |
| the prototype. |
| |
| 2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR target/54746 |
| * config/s390/s390.c (s390_option_override): Add missing break. |
| |
| 2012-09-29 Andreas Tobler <andreast@fgznet.ch> |
| |
| Backport from mainline |
| 2012-09-29 Andreas Tobler <andreast@fgznet.ch> |
| |
| * config.gcc: Replace 'host' with 'target' when configuring for |
| powerpc64*-*-freebsd. |
| |
| 2012-09-28 Meador Inge <meadori@codesourcery.com> |
| |
| Backport from mainline |
| 2012-09-27 Meador Inge <meadori@codesourcery.com> |
| |
| * gcc-ar.c (main): Handle the returning of the sub-process error |
| code correctly. |
| |
| 2012-09-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-09-28 trunk r191821. |
| * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic. |
| |
| 2012-09-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/54703 |
| * simplify-rtx.c (simplify_binary_operation_1): Perform |
| (x - (x & y)) -> (x & ~y) optimization only for integral modes. |
| |
| 2012-09-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in |
| TYPE_NONALIASED_COMPONENT flag. |
| * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out |
| TYPE_NONALIASED_COMPONENT flag. |
| |
| 2012-09-21 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/54638 |
| Backport from mainline |
| 2012-04-19 Richard Guenther <rguenther@suse.de> |
| |
| * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound |
| array access. |
| |
| 2012-09-20 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/54552 |
| * c-typeck.c (c_cast_expr): When casting to a type requiring |
| C_MAYBE_CONST_EXPR to be created, pass the inner expression to |
| c_fully_fold first. |
| |
| 2012-09-20 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/54103 |
| * c-typeck.c (build_unary_op): Pass original argument of |
| TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove |
| any C_MAYBE_CONST_EXPR, if it has integer operands. |
| (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, |
| TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR |
| to c_objc_common_truthvalue_conversion, then remove any |
| C_MAYBE_CONST_EXPR, if they have integer operands. Use |
| c_objc_common_truthvalue_conversion not |
| c_common_truthvalue_conversion. |
| (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and |
| call note_integer_operands for arguments with integer operands |
| that are not integer constants. |
| |
| 2012-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-09-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/54563 |
| * tree-ssa-math-opts.c (execute_cse_sincos): Call |
| gimple_purge_dead_eh_edges if last call has been changed. |
| |
| 2012-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/54564 |
| * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1) |
| instead of (match_dup 0) as second argument to vec_merge. |
| (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise. |
| Remove third alternative. |
| (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate |
| operand 2 instead of operand 1, but put it as first argument |
| of fma. |
| * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss, |
| _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead |
| of the first. |
| |
| 2012-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 4.7.3. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2012-09-20 Release Manager |
| |
| * GCC 4.7.2 released. |
| |
| 2012-09-15 Andi Kleen <ak@linux.intel.com> |
| |
| Backport from mainline |
| 2012-09-07 Andi Kleen <ak@linux.intel.com> |
| |
| * gcc/lto-streamer.h (res_pair): Add. |
| (lto_file_decl_data): Replace resolutions with respairs. |
| Add max_index. |
| * gcc/lto/lto.c (lto_resolution_read): Remove max_index. Add rp. |
| Initialize respairs. |
| (lto_file_finalize): Set up resolutions vector lazily from respairs. |
| |
| 2012-09-14 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline. |
| 2012-09-14 Walter Lee <walt@tilera.com> |
| |
| * doc/invoke.texi (Option Summary): fix typesetting for -mcpu |
| option for TILEPro and TILE-Gx. |
| |
| 2012-09-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (x86_prefetchw): New global variable. |
| (TARGET_PREFETCHW): New macro. |
| * config/i386/i386.c (PTA_PREFETCHW): Ditto. |
| (processor_alias_table): Add PTA_PREFETCHW to |
| bdver1, bdver2 and btver1. |
| (ix86_option_override_internal): Set x86_prefetchw for |
| PTA_PREFETCHW targets. |
| * config/i386/i386.md (prefetch): Expand to prefetchw |
| for TARGET_PREFETCHW. |
| (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW. |
| |
| Backport from mainline |
| 2012-08-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (prefetch): Do not assert mode of operand 0. |
| (*prefetch_sse_<mode>): Do not set mode of address_operand predicate. |
| Rename to ... |
| (*prefetch_sse): ... this. |
| (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate. |
| Rename to ... |
| (*prefetch_3dnow): ... this. |
| |
| 2012-09-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/54559 |
| * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or |
| COMPLEX_TYPE with in_late_binary_op set temporarily to true. |
| |
| 2012-09-12 Teresa Johnson <tejohnson@google.com> |
| |
| Backport from mainline. |
| 2012-09-12 Teresa Johnson <tejohnson@google.com> |
| |
| PR gcov-profile/54487 |
| * configure.ac (HOST_HAS_F_SETLKW): Set based on compile |
| test using F_SETLKW with fcntl. |
| * configure, config.in: Regenerate. |
| |
| 2012-09-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> |
| |
| * config/i386/i386.md : Comments on fma4 instruction selection |
| reflect requirement on register pressure based cost model. |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): fma4 |
| flag is set-reset as informed by the cpuid flag. |
| |
| * config/i386/i386.c (processor_alias_table): fma4 |
| flag is enabled for bdver2. |
| |
| 2012-09-12 Christian Bruel <christian.bruel@st.com> |
| |
| * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define. |
| |
| 2012-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * config.gcc: Obsolete picochip-*. |
| |
| 2012-09-11 Richard Guenther <rguenther@suse.de> |
| |
| PR debug/54534 |
| * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence |
| on flag_toplevel_reorder. |
| |
| 2012-09-10 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/predicates.md (small_symbolic_operand): Disallow |
| large offsets. |
| |
| 2012-09-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-09-10 mainline r191132. |
| |
| PR target/54536 |
| * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287". |
| |
| 2012-09-10 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR middle-end/54515 |
| * tree-sra.c (disqualify_base_of_expr): Check for possible |
| NULL_TREE returned by get_base_address() |
| |
| 2012-09-07 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-06-26 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/53572 |
| * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of |
| used symbols. |
| |
| 2012-09-07 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-07-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53922 |
| * tree-vrp.c (value_inside_range): Change prototype to take |
| min/max instead of value-range. |
| (range_includes_zero_p): Likewise. Return the result from |
| value_inside_range. |
| (extract_range_from_binary_expr_1): Adjust to handle dont-know |
| return value from range_includes_zero_p. |
| (extract_range_from_unary_expr_1): Likewise. |
| (compare_range_with_value): Likewise. |
| (vrp_meet_1): Likewise. |
| |
| 2012-09-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53667 |
| * tree-ssa-structalias.c (handle_rhs_call): Properly clobber |
| EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT |
| arguments separately. |
| |
| 2012-09-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-09-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/54455 |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru |
| bb ends up with asm goto referencing bb's label. |
| |
| 2012-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| Backport from mainline. |
| 2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| Richard Earnshaw <richard.earnshaw@arm.com> |
| |
| PR target/54252 |
| * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by |
| element size. Use elem_type from the formal parameter. New parameter |
| fcode. |
| (neon_expand_args): Adjust call to neon_dereference_pointer. |
| |
| 2012-09-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use |
| reg_not_xmm0_operand_maybe_avx as operand 0 constraint. |
| |
| 2012-09-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-08-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (isa): Add fma and fma4. |
| (enabled): Handle fma and fma4. |
| * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>. |
| (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>. |
| (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>. |
| (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>. |
| (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>. |
| (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>. |
| |
| 2012-08-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>, |
| *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>, |
| *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns. |
| |
| 2012-09-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/54498 |
| * tree-ssa-alias.h (get_continuation_for_phi): Add flag to |
| abort when reaching an already visited region. |
| * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it. |
| (get_continuation_for_phi_1): Likewise. |
| (walk_non_aliased_vuses): When we translated the reference, |
| abort when we re-visit a region. |
| * tree-ssa-pre.c (translate_vuse_through_block): Adjust. |
| |
| 2012-09-06 Andrew Pinski <apinski@cavium.com> |
| |
| PR tree-opt/54494 |
| * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also. |
| |
| 2012-09-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/54486 |
| * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use |
| build_int_cst with size_type_node instead of size_int. |
| |
| 2012-09-05 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-09-05 mainline r190697. |
| |
| PR target/54461 |
| * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if |
| configured --with-avrlibc. |
| (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured |
| --with-avrlibc. |
| * config/avr/avrlibc.h: New file. |
| * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if |
| configured --with-avrlibc. |
| * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__ |
| |
| 2012-09-05 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from 2012-09-04 mainline r190919 |
| |
| PR target/45070 |
| * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value |
| of size less than 4 bytes by using macro ARM_NUM_INTS. |
| (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. |
| |
| 2012-09-04 Richard Henderson <rth@redhat.com> |
| |
| * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER. |
| |
| 2012-09-04 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-09-04 mainline r190920 |
| |
| PR target/54476 |
| * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode. |
| |
| 2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from 2012-09-04 mainline r190914 |
| |
| PR target/54220 |
| * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New |
| define to... |
| (avr_allocate_stack_slots_for_args): ...this new static function. |
| |
| 2012-09-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-08-23 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/54335 |
| * doc/invoke.texi: Add -da and remove -dm. |
| |
| 2012-09-03 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/54436 |
| * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If |
| operands[1] is CONST_INT_P, convert it to QImode before printing. |
| |
| 2012-08-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/54428 |
| * c-convert.c (convert): Don't call fold_convert_loc if |
| TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e |
| is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from |
| COMPLEX_TYPE -> COMPLEX_TYPE conversion. |
| |
| 2012-08-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/54363 |
| * gimplify.c (optimize_compound_literals_in_ctor): Only recurse |
| if init is a CONSTRUCTOR. |
| |
| 2012-09-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/54369 |
| * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before |
| calling dbr_schedule. |
| * config/sparc/sparc.c (sparc_reorg): Likewise. |
| |
| 2012-08-31 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| Backport from mainline |
| 2012-08-23 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add |
| case for Atom processor. |
| |
| 2012-08-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-08-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46254 |
| * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return |
| true for TARGET_64BIT or !flag_pic. |
| * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove. |
| (atomic_compare_and_swap_double<mode>): Change operand 2 predicate |
| to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator. |
| Add insn constraint. Conditionally emit xchg asm insns. |
| (atomic_compare_and_swap<mode>): Update calls. Check only |
| cmpxchg8b_pic_memory_operand in memory address fixup. |
| (DCASMODE): Remove. |
| (CASHMODE): Rename from DCASHMODE. |
| (doublemodesuffix): Update modes. |
| (regprefix): New mode attribute. |
| |
| (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove. |
| <UNSPECV_CMPXCHG>: New constant. |
| (atomic_compare_and_swap<mode>_1): Rename from |
| atomic_compare_and_swap_single<mode>. Update calls and |
| unspec_volatile constants. |
| (atomic_compare_and_swap<mode>_doubleword): Rename from |
| atomic_compare_and_swap_double<mode>. Update calls and |
| unspec_volatile constants. |
| |
| 2012-08-28 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-28 Walter Lee <walt@tilera.com> |
| |
| * confg/tilegx/tilegx.md: Fix code style. |
| (*zero_extendsidi_truncdisi): Fix typo. |
| * config/tilegx/tilegx.c: Fix code style. |
| (tilegx_function_profiler): Fix typo. |
| |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| * doc/md.texi (TILE-Gx): Fix typo. |
| |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo. |
| * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto. |
| |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins. |
| (insn_bfins): Delete. |
| |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-27 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>, |
| atomic_exchange_bare<mode>, |
| atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote. |
| * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation. |
| * config/tilegx/tilegx.md (type): Add X1_remove. |
| (insn_cmpexch<four_if_si>, insn_exch<four_if_si>, |
| insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>, |
| insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to |
| X1_remote. |
| |
| 2012-08-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/54088 |
| * jump.c (delete_related_insns): Robustify latest change. |
| |
| 2012-08-21 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-08-16 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/54146 |
| * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the |
| exit vector. |
| * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK. |
| * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix. |
| * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc. |
| * tree-ssa-loop-im.c (analyze_memory_references): Adjust. |
| (tree_ssa_lim_finalize): Free all mem_refs. |
| * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free |
| scc when bailing out. |
| * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK. |
| * ira-build.c (loop_with_complex_edge_p): Free loop exit vector. |
| * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use |
| FOR_EACH_LOOP_BREAK. |
| |
| 2012-08-17 Richard Guenther <rguenther@suse.de> |
| |
| * tree-sra.c (modify_function): Free redirect_callers vector. |
| * ipa-split.c (split_function): Free args_to_pass vector. |
| * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate |
| vec_oprnds. |
| (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS. |
| * tree-vect-slp.c (vect_free_slp_instance): Free the instance. |
| (vect_analyze_slp_instance): Free everything. |
| (destroy_bb_vec_info): Free the SLP instances. |
| |
| 2012-08-17 Richard Guenther <rguenther@suse.de> |
| |
| * params.def (integer-share-limit): Decrease from 256 to 251, |
| add rationale. |
| |
| 2012-08-21 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free |
| the affine expansion cache. |
| |
| 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com> |
| |
| Backported from trunk |
| 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com> |
| |
| PR middle-end/53992 |
| * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION. |
| |
| 2012-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| Backport from mainline. |
| 2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| PR target/54212 |
| * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not |
| mark as predicable. Adjust asm template. |
| (vec_setv2di_internal): Likewise. |
| (vec_extract<mode> VD, VQ): Likewise. |
| (vec_extractv2di): Likewise. |
| (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise. |
| (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise. |
| (neon_vdup_n<mode> VX, V32): Likewise. |
| (neon_vdup_nv2di): Likewise. |
| |
| 2012-08-17 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-17 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define. |
| (FEEDBACK_ENTER): Define. |
| (FEEDBACK_REENTER): Define. |
| (FEEDBACK_ENTRY): Define. |
| * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define. |
| (FEEDBACK_ENTER): Define. |
| (FEEDBACK_REENTER): Define. |
| (FEEDBACK_ENTRY): Define. |
| |
| 2012-08-16 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-08-16 Walter Lee <walt@tilera.com> |
| |
| * config.gcc (tilegx-*-linux*): Add feedback.h. |
| (tilepro-*-linux*): Likewise. |
| * config/tilegx/feedback.h: New file. |
| * config/tilepro/feedback.h: New file. |
| |
| 2012-08-08 Pavel Chupin <pavel.v.chupin@intel.com> |
| |
| Backport from mainline r189840 and r187586: |
| 2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com> |
| |
| * config/i386/i386.md (stack_protect_set): Disable the pattern |
| for Android since Android libc (bionic) does not provide random |
| value for stack protection guard at gs:0x14. Guard value |
| will be provided from external symbol (default implementation). |
| (stack_protect_set_<mode>): Likewise. |
| (stack_protect_test): Likewise. |
| (stack_protect_test_<mode>): Likewise. |
| * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does |
| not have Bionic by default |
| * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC) |
| Macro OPTION_BIONIC is defined in this file and provides Bionic |
| accessibility status |
| |
| 2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com> |
| |
| * configure.ac: Stack protector enabling for Android targets. |
| * configure: Regenerate. |
| |
| 2012-08-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from trunk |
| 2012-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/53942 |
| * function.c (assign_parm_setup_reg): Avoid zero/sign extension |
| directly from likely spilled non-fixed hard registers, move them |
| to pseudo first. |
| |
| 2012-08-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (xop_phaddbq): Fix vec_select selectors. |
| (xop_phaddubq): Ditto. |
| |
| 2012-08-10 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| Backport from mainline |
| 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org> |
| Richard Earnshaw <rearnsha@arm.com> |
| |
| * target.def (vector_alignment): New target hook. |
| * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_vector_alignment): New function. |
| * targhooks.h (default_vector_alignment): Add prototype. |
| * stor-layout.c (layout_type): Use targetm.vector_alignment. |
| * config/arm/arm.c (arm_vector_alignment): New function. |
| (TARGET_VECTOR_ALIGNMENT): Define. |
| |
| * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use |
| vector type alignment instead of size. |
| * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use |
| element type size directly instead of computing it from alignment. |
| Fix variable naming and comment. |
| |
| 2012-08-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-08-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ... |
| (alpha_pad_function_end): ... this. Also insert NOP between |
| sibling call and GP load. |
| (alpha_reorg): Update call to alpha_pad_function_end. Expand comment. |
| |
| 2012-08-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2012-08-08 Richard Sandiford <rdsandiford@googlemail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/54157 |
| * combine.c (gen_lowpart_for_combine): Don't return identity |
| for CONST or symbolic reference. |
| |
| 2012-08-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-07-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype. |
| * config/i386/i386.c (ix86_lea_outperforms): Make static. Make |
| split_cost argument signed. |
| (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1. |
| (ix86_avoid_lea_for_addr): Ditto. |
| |
| 2012-07-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if |
| the address has less than two components. |
| |
| 2012-08-02 Steve Ellcey <sellcey@mips.com> |
| |
| Backport from mainline |
| 2012-07-19 Steve Ellcey <sellcey@mips.com> |
| |
| * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in |
| MIPS16 mode. |
| |
| 2012-08-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-07-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53961 |
| * config/i386/i386.c (ix86_legitimate_address_p): Move check for |
| negative constant address for TARGET_X32 ... |
| (ix86_decompose_address): ... here. Reject constant addresses |
| that don't satisfy x86_64_immediate_operand predicate. |
| |
| 2012-07-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53961 |
| * config/i386/i386.md (*lea): Add asserts to detect invalid addresses. |
| * config/i386/i386.c (ix86_print_operand_address): Ditto. |
| (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...))) |
| addresses. Prevent zero extensions of CONST_INT operands. |
| |
| 2012-07-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53961 |
| * config/i386/i386.md (*lea): New insn pattern. |
| (*lea_1): Remove. |
| (*lea<mode>_2): Ditto. |
| (*lea_{3,4,5,6}_zext): Ditto. |
| * config/i386/predicates.md (lea_address_operand): Do not reject |
| zero-extended address operands. |
| * config/i386/constraints.md (j): Remove address constraint. |
| * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg |
| of an address. |
| (ix86_print_operand_address): Handle SImode subreg of an address. |
| (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now. |
| |
| 2012-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-03-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52530 |
| * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier. |
| (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback |
| to set code to 'q'. |
| * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec. |
| (*movdi_internal_rex64): Use %E operand modifier for lea. |
| (*movsi_internal): Ditto. |
| (*lea_1): Ditto. |
| (*lea<mode>_2): Ditto. |
| (*lea_{3,4,5,6}_zext): Ditto. |
| (*tls_global_dynamic_32_gnu): Ditto. |
| (*tls_global_dynamic_64): Ditto. |
| (*tls_dynamic_gnu2_lea_32): Ditto. |
| (*tls_dynamic_gnu2_lea_64): Ditto. |
| (pro_epilogue_adjust_stack_<mode>_add): Ditto. |
| |
| 2012-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_address_subreg_operand): Reject |
| stack pointer. |
| (ix86_print_operand_address): Assert that parts.base and parts.index |
| are non-NULL after call to simplify_subreg. |
| |
| 2012-07-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/33135 |
| * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct |
| description. |
| * config/sh/sh.c (sh_option_override): Do not change |
| flag_finite_math_only. Set TARGET_IEEE to complement of |
| flag_finite_math_only. |
| * doc/invoke.texi (SH options): Add mno-ieee. Correct |
| description of mieee and mno-ieee behavior. |
| |
| 2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/53877 |
| * config/i386/lzcntintrin.h (_lzcnt_u32): New. |
| (_lzcnt_u64): Ditto. |
| |
| 2012-07-20 Andrey Belevantsev <abel@ispras.ru> |
| |
| Backport from mainline |
| 2012-03-06 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/52250 |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb |
| to put note list into. Unconditionally call move_bb_info. |
| (move_bb_info): Do not assert the blocks being in the same region, |
| just drop the note list if they are not. |
| |
| 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber. |
| |
| 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the |
| defining statement is a SSA name that occurs in abnormal PHIs. |
| |
| 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple-fold.c (canonicalize_constructor_val): Strip only useless type |
| conversions. |
| |
| 2012-07-19 Richard Guenther <rguenther@suse.de> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment |
| about transition from invariant to known bits. |
| (likely_value): Addresses with UNDEFINED components are UNDEFINED. |
| |
| 2012-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/54017 |
| * tree-cfgcleanup.c (cleanup_omp_return): Remove. |
| (cleanup_tree_cfg_bb): Don't call it. |
| * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case |
| handling. |
| |
| 2012-07-19 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/54029 |
| * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps. |
| |
| 2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (v850-*-rtems*): New target. |
| * config/v850/rtems.h: New. |
| * config/v850/t-rtems: New. |
| |
| 2012-07-18 Nick Clifton <nickc@redhat.com> |
| |
| * doc/invoke.texi (ARM Options): Document -munaligned-access. |
| |
| 2012-07-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53961 |
| |
| Backport from mainline |
| 2012-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/53110 |
| * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg |
| instead expand it as zero extension. |
| |
| 2012-07-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (QImode and HImode cmove splitters): Merge |
| QImode and HImode splitters. Use ix86_comparison_operator. |
| Explicitly match FLAGS_REG. |
| (DFmode cmove splitter): Explicitly match FLAGS_REG. |
| |
| 2012-07-13 Richard Sandiford <rdsandiford@googlemail.com> |
| Steven Bosscher <steven@gcc.gnu.org> |
| Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/53908 |
| * df-problems.c (can_move_insns_across): When doing |
| memory-reference book-keeping, handle call insns. |
| |
| 2012-07-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-07-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53811 |
| * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies |
| sibcall_insn_operand. Move it to a temporary register if not. |
| |
| 2012-07-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53853 |
| * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model, |
| emit PIC sequence for fnaddr symbol reference in advance. |
| |
| 2012-07-09 Jason Merrill <jason@redhat.com> |
| |
| PR c++/53882 |
| * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE. |
| (type_hash_eq): Likewise. |
| |
| PR c++/53826 |
| * tree.c (build_zero_cst): Handle NULLPTR_TYPE. |
| |
| 2012-07-07 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour |
| due to negative shift amount. |
| |
| 2012-07-06 Kai Tietz <ktietz@redhat.com> |
| |
| Backport from mainline. |
| PR bootstrap/52947 |
| * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always |
| as "/mingw/include". |
| |
| 2012-07-06 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c (mn10300_encode_section_info): Call |
| default_encode_section_info. |
| |
| 2012-07-06 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-03-30 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52786 |
| * double-int.c (rshift_double): Remove not needed cast. |
| |
| 2012-03-28 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/50708 |
| * double-int.h (rshift_double): Remove. |
| * double-int.c (lshift_double): Use absu_hwi to make count |
| positive. |
| (rshift_double): Make static, take unsigned count argument, |
| remove handling of negative count argument. |
| (double_int_rshift): Dispatch to lshift_double. |
| |
| 2012-07-06 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-06-18 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53693 |
| * tree-vect-patterns.c (vect_operation_fits_smaller_type): |
| Reject operands with more than one use. |
| |
| 2012-07-06 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-04-11 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52621 |
| * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly |
| consider loop nesting. |
| (evolution_function_is_univariate_p): Properly check the remainder |
| for chrecs. |
| |
| 2012-07-05 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2012-05-24 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Change |
| rs6000_sched_costly_dep default to true_store_to_load_dep_costly. |
| (adjacent_mem_locations): Move some code to and call... |
| (get_memref_parts): ...new function. |
| (mem_locations_overlap): New function. |
| (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn. |
| (is_mem_ref): Rename to... |
| (find_mem_ref): ...this. Return MEM rtx. |
| (get_store_dest): Remove function. |
| (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add |
| new parameter and adjust calls. |
| (rs6000_is_costly_dependence): Update calls for extra arg. Make sure |
| mem refs overlap for true_store_to_load_dep_costly. |
| (rs6000_sched_reorder2): Update calls for extra arg. Adjust args |
| passed to adjacent_mem_locations. |
| (is_costly_group): Walk resolved dependency list. |
| (force_new_group): Emit group ending nop for Power6/Power7. |
| * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value. |
| (group_ending_nop): New define_insn. |
| |
| 2012-07-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53433 |
| * gimple-fold.c (get_base_constructor): Do not return an |
| error_mark_node DECL_INITIAL. |
| |
| 2012-07-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-07-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_option_override_internal): Fix wrong |
| code model string in the error message. |
| |
| 2012-07-04 Tristan Gingold <gingold@adacore.com> |
| |
| Backport from mainline. |
| 2012-06-25 Tristan Gingold <gingold@adacore.com> |
| |
| * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ... |
| (seh_cfa_adjust_cfa): ... that function. |
| (seh_emit_stackalloc): Do not emit out of range values. |
| * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE, |
| UNSPEC_DEF_CFA constants. |
| * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define. |
| * config/i386/i386.c (ix86_frame_pointer_required): Required |
| for very large frames on SEH target. |
| (ix86_compute_frame_layout): Save area is before frame pointer |
| on SEH target. Handle very large frames. |
| (ix86_expand_prologue): Likewise. |
| |
| 2012-07-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same |
| as in free_lang_data_in_type. |
| |
| 2012-07-02 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline. |
| 2012-07-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/38474 |
| * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a |
| dynamic type change check. |
| |
| 2012-06-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-eh.c (lower_try_finally_switch): Really put the location of the |
| last statement of the finally block onto the switch. |
| |
| 2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| * configure: Regenerate. |
| |
| Backport from mainline. |
| 2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| * config.gcc (target_type_format_char): New. Document it. Set it for |
| arm*-*-* . |
| * configure.ac (gnu_unique_option): Use target_type_format_char |
| in test. Comment rationale. |
| |
| 2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| Backport from mainline. |
| 2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error. |
| |
| 2012-06-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-06-28 mainline r189049 |
| |
| PR 53595 |
| * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New. |
| * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New. |
| * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to |
| avr_hard_regno_call_part_clobbered. |
| |
| 2012-06-28 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53790 |
| * expr.c (expand_expr_real_1): Verify if the type is complete |
| before inspecting its size. |
| |
| 2012-06-27 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.md (comparesi3_extend): Remove = modifier from |
| input operand. |
| |
| 2012-06-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/53682 |
| * cselib.c (promote_debug_loc): Don't crash on NULL argument. |
| |
| 2012-06-26 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.md (simple_return): Use the simple_return rtx. |
| |
| 2012-06-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/53759 |
| * config/i386/sse.md (sse_loadlps): Use x m x constraints instead |
| of x x x in the vmovlps load alternative. |
| |
| 2012-06-22 Richard Guenther <rguenther@suse.de> |
| |
| * gcov-iov.c: Include bconfig.h and system.h. |
| |
| 2012-06-22 Richard Guenther <rguenther@suse.de> |
| |
| PR gcov-profile/53744 |
| * gcov-iov.c (main): Treat "" and "prerelease" the same. |
| |
| 2012-06-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-live.c (remove_unused_scope_block_p): Remove again |
| DECL_IGNORED_P non-reg vars even if they are used. |
| |
| 2012-06-19 Jason Merrill <jason@redhat.com> |
| |
| PR c++/52637 |
| * dwarf2out.c (modified_type_die): Use scope_die_for. |
| (gen_type_die_with_usage, dwarf2out_finish): Likewise. |
| (uses_local_type_r, uses_local_type): New. |
| (scope_die_for): Keep a type that uses a local type in local scope. |
| Use get_context_die for namespace and type scope. |
| |
| 2012-06-19 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53470 |
| * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but |
| replace it with the first non-BLOCK context. |
| |
| 2012-06-18 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/53700 |
| |
| Backport from mainline |
| 2012-03-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira-color.c (setup_left_conflict_sizes_p): Process all |
| conflicting objects. |
| |
| 2012-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| Backport from mainline |
| 2012-05-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52908 |
| * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using |
| xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high. |
| (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern |
| instead of xop_mulv2div2di3_low. |
| (xop_p<macs>dql): Fix vec_select selector. |
| (xop_p<macs>dqh): Ditto. |
| (xop_mulv2div2di3_low): Remove insn_and_split pattern. |
| (xop_mulv2div2di3_high): Ditto. |
| |
| 2012-06-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2012-06-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (vcvtph2ps): Fix vec_select selector. |
| |
| 2012-06-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| Backport from mainline: |
| 2012-06-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define. |
| * config/pa/pa.c (pa_attr_length_millicode_call): Use |
| MAX_PCREL17F_OFFSET instead of fixed offset. |
| (pa_attr_length_call): Likewise. |
| (pa_attr_length_indirect_call): Likewise. |
| |
| 2012-06-15 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline: |
| 2012-06-15 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo. |
| |
| 2012-06-14 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo. |
| |
| 2012-06-15 Aldy Hernandez <aldyh@redhat.com> |
| |
| Backport from mainline: |
| |
| 2012-05-31 Aldy Hernandez <aldyh@redhat.com> |
| * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm. |
| * gimple.h (block_in_transaction): Check for flag_tm. |
| |
| 2012-06-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR tree-optimization/52558 |
| |
| Backport from mainline: |
| 2012-05-21 Aldy Hernandez <aldyh@redhat.com> |
| * gimple.h (gimple_set_in_transaction): Remove. |
| (gimple_in_transaction): Look in BB instead. |
| (gimple_statement_base): Remove in_transaction field. |
| * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION. |
| * trans-mem.c (compute_transaction_bits): Place transaction bit |
| information into basic blocks. |
| |
| 2012-05-31 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR tree-optimization/52558 |
| * cfg.c (alloc_aux_for_edge): Fix comment. |
| (alloc_aux_for_edge): Remove static. |
| * basic-block.h (alloc_aux_for_edge): Protoize. |
| * tree-ssa-loop-im.c (execute_sm_if_changed): New. |
| (execute_sm_if_changed_flag): New. |
| (execute_sm_if_changed_flag_set): New. |
| (execute_sm): Do not generate data races unless requested. |
| (tree_ssa_lim_initialize): Call alloc_aux_for_edges. |
| (tree_ssa_lim_finalize): Call free_aux_for_edges. |
| * gimple.h (block_in_transaction): New. |
| (gimple_in_transaction): Use block_in_transaction. |
| |
| 2012-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/53589 |
| * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge |
| discovery even when e->dest != target. If any LABEL_REF points |
| to e->dest label, redirect it to target's label. |
| |
| 2012-06-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/53580 |
| * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions |
| returns false, replace stmt with GIMPLE_NOP. |
| (check_omp_nesting_restrictions): Instead of issuing warnings, |
| issue errors and return false if any errors were reported. |
| |
| 2012-06-14 Richard Guenther <rguenther@suse.de> |
| |
| * BASE-VER: Set to 4.7.2. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2012-06-12 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/53621 |
| * config/sh/sh.c (sh_option_override): Don't force |
| flag_omit_frame_pointer and maccumulate_outgoing_args. |
| * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var. |
| |
| 2012-06-14 Release Manager |
| |
| * GCC 4.7.1 released. |
| |
| 2012-06-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/ia64/sync.md (fetchop_name): Change ior attribute to "or". |
| |
| 2012-06-13 Richard Henderson <rth@redhat.com> |
| |
| * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode |
| iterator instead of INT. |
| |
| 2012-06-08 Richard Henderson <rth@redhat.com> |
| |
| PR c++/53602 |
| * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE |
| note to a clobber insn when no other insn is available. |
| |
| 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR c++/53524 |
| * doc/invoke.texi (Wenum-compare): Update documentation. |
| |
| 2012-06-04 Edmar Wienskoski <edmar@freescale.com> |
| |
| PR target/53559 |
| * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of |
| operands. |
| (altivec_stvlxl): Ditto. |
| (altivec_stvrx): Ditto. |
| (altivec_stvrxl): Ditto. |
| |
| 2012-06-04 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/47530 |
| * trans-mem.c (expand_block_edges): Do not skip the first |
| statement when resetting the BB. |
| |
| 2012-06-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53471 |
| * dwarf2out.c (dwarf2out_finish): If generating LTO do not |
| create new assembler names. |
| |
| 2012-06-04 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52979 |
| * stor-layout.c (get_best_mode): Don't return mode with bitsize |
| larger than maxbits. Don't compute maxbits modulo align. |
| Also check that unit bytes long store at bitpos / unit * unit |
| doesn't affect bits beyond bitregion_end. |
| * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM |
| would not fit into bitregion_start ... bitregion_end + 1 bit |
| region. |
| (store_split_bit_field): Decrease unit close to end of bitregion_end |
| if access is restricted in order to avoid mutual recursion. |
| |
| 2012-06-04 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-06-04 mainline r188172 |
| |
| PR target/46261 |
| * config/avr/avr-stdint.h: New file. |
| * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of |
| newlib-stdint.h |
| |
| 2012-06-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53550 |
| * tree-ssa-loop-niter.c (number_of_iterations_cond): If type |
| is POINTER_TYPE_P, use sizetype as step type instead of type. |
| |
| 2012-06-04 Richard Guenther <rguenther@suse.de> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2012-04-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS. |
| Change type of BITOFFSET to signed. Make sure the lower bound of |
| the computed range is non-negative by adjusting OFFSET and BITPOS. |
| (expand_assignment): Adjust call to get_bit_range. |
| |
| 2012-03-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (get_bit_range): Return the null range if the enclosing record |
| is part of a larger bit field. |
| |
| 2012-03-20 Richard Guenther <rguenther@suse.de> |
| |
| * stor-layout.c (finish_bitfield_representative): Fallback |
| to conservative maximum size if the padding up to the next |
| field cannot be computed as a constant. |
| (finish_bitfield_layout): If we cannot compute the distance |
| between the start of the bitfield representative and the |
| bitfield member start a new representative. |
| * expr.c (get_bit_range): The distance between the start of |
| the bitfield representative and the bitfield member is zero |
| if the field offsets are not constants. |
| |
| 2012-03-16 Richard Guenther <rguenther@suse.de> |
| |
| * stor-layout.c (finish_bitfield_representative): Fall back |
| to the conservative maximum size if we cannot compute the |
| size of the tail padding. |
| |
| 2012-03-14 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define. |
| * stor-layout.c (start_bitfield_representative): New function. |
| (finish_bitfield_representative): Likewise. |
| (finish_bitfield_layout): Likewise. |
| (finish_record_layout): Call finish_bitfield_layout. |
| * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER |
| for QUAL_UNION_TYPE fields. |
| * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers): |
| Stream DECL_BIT_FIELD_REPRESENTATIVE. |
| * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise. |
| |
| PR middle-end/52080 |
| PR middle-end/52097 |
| PR middle-end/48124 |
| * expr.c (get_bit_range): Unconditionally extract bitrange |
| from DECL_BIT_FIELD_REPRESENTATIVE. |
| (expand_assignment): Adjust call to get_bit_range. |
| |
| 2012-06-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/53501 |
| * fold-const.c (fold_binary_loc): Refine previous change. |
| |
| 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2012-03-27 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| PR target/52667 |
| * config/sh/sh.c (find_barrier): Add equality check of last_got to |
| avoid going above orig insn. Update comments. |
| |
| 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2012-03-21 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/52642 |
| * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of |
| prologue for unwinder and profiler. |
| |
| 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.md (abssi2): Add TARGET_SH1 condition. |
| |
| 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_dwarf_register_span): Don't apply |
| DBX_REGISTER_NUMBER. |
| |
| 2012-06-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (shiftcosts): Return MAX_COST when the first |
| operand is CONST_INT. Take COSTS_N_INSNS into account. |
| (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of |
| shiftcosts. |
| |
| 2012-05-31 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.opt (-msp8): Document it. |
| * doc/invoke.texi (AVR Options): Copy from trunk docu. |
| |
| 2012-05-31 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/48493 |
| * expr.c (expand_assignment): Do not use movmisalign on |
| non-memory. |
| |
| 2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/52999 |
| * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define. |
| (pa_section_type_flags): New. |
| (pa_legitimate_constant_p): Revert previous change. |
| |
| 2012-05-30 Aldy Hernandez <aldyh@redhat.com> |
| |
| Backport from mainline |
| 2012-05-25 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/53008 |
| * trans-mem.c (ipa_tm_create_version_alias): Output new_node if |
| accessed indirectly. |
| (ipa_tm_create_version): Same. |
| |
| 2012-05-30 Jason Merrill <jason@redhat.com> |
| |
| PR c++/53220 |
| * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning |
| about array compound literals. |
| |
| 2012-05-30 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53501 |
| * fold-const.c (fold_binary_loc): Make sure to call |
| fold_plusminus_mult_expr with the original sign of operands. |
| |
| 2012-05-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * explow.c (probe_stack_range): Restore simple control flow and stop |
| again when the probe cannot be generated if HAVE_check_stack. |
| |
| 2012-05-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/53519 |
| * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx |
| instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR. |
| |
| 2012-05-29 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53516 |
| * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject |
| bitfield accesses. |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise. |
| |
| 2012-05-28 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2012-05-28 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53438 |
| * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion. |
| |
| 2012-05-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2012-03-10 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| PR rtl-optimization/52528 |
| * combine.c (can_combine_p): Add setting of subst_low_luid |
| before call to expand_field_assignment(). |
| |
| 2012-05-26 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2012-05-23 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-inline-analysis.c (inline_merge_summary): Free operand_map. |
| |
| 2012-05-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR lto/52178 |
| * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL. |
| * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR. |
| |
| 2012-05-25 Alexander Ivchenko <alexander.ivchenko@intel.com> |
| |
| PR target/53435 |
| * config/i386/i386.c (ix86_expand_vec_perm): Use correct op. |
| (ix86_expand_vec_perm): Use int mode instead of float. |
| |
| 2012-05-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/52362 |
| * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and |
| gnu_ld variables to yes. |
| * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion. |
| (HAVE_GNU_AS): Likewise. |
| * config.in: Regenerate. |
| * configure: Likewise. |
| |
| 2012-05-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| Backport from mainline |
| 2012-03-12 Richard Guenther <rguenther@suse.de> |
| * config/arm/arm.c (neon_dereference_pointer): Do not call |
| covert during RTL expansion. |
| |
| 2012-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/53385 |
| * config/rs6000/rs6000.c (print_operand): Revise code that unsafely |
| relied on signed overflow behavior. |
| |
| 2012-05-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/53460 |
| * tree-profile.c (tree_profiling): Cleanup the CFG if |
| execute_fixup_cfg requests it. |
| |
| 2012-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53465 |
| * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range |
| vr0 into *vr, then vrp_meet that. |
| (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't |
| have any equivalences. |
| (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the |
| first time. |
| |
| 2012-05-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus |
| size handling. |
| (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise. |
| (iterative_hash_gimple_type): Adjust comment. |
| (iterative_hash_canonical_type): Likewise. Hash the bounds of the |
| domain for an array type instead of the domain type itself. |
| |
| 2012-05-23 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-05-23 mainline r187803 |
| |
| PR target/53448 |
| * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1. |
| * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use |
| ASM_OUTPUT_ALIGN. |
| |
| 2012-05-23 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> |
| |
| Backport from 2012-05-03 mainline r187075 |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Reset |
| has_fma4 for AMD processors with both fma3 and fma4 support. |
| |
| 2012-05-22 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53408 |
| * tree-vect-loop.c (vectorizable_induction): Properly check |
| the restriction that we cannot handle induction results from |
| the inner loop outside of the outer loop. |
| |
| 2012-05-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53436 |
| * omp-low.c (omp_build_component_ref): New function. |
| (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it. |
| |
| PR tree-optimization/53366 |
| * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut |
| tests if complex_numbers == 2, but there are non-complex number loads |
| too. |
| |
| PR tree-optimization/53409 |
| * tree-vect-loop.c (vect_analyze_loop_operations): Don't check |
| vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop. |
| |
| PR tree-optimization/53410 |
| * fold-const.c (fold_binary_loc): Use build_zero_cst (type) |
| instead of build_int_cst (type, 0) where vector types might be |
| involved. |
| |
| 2012-05-21 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/53418 |
| * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR |
| from folded operands before wrapping another around the |
| conditional expression. |
| |
| 2012-05-21 Dave Boutcher <daveboutcher@gmail.com> |
| Patrick Marlier <patrick.marlier@gmail.com> |
| |
| * trans-mem.c (ipa_tm_transform_clone): Transform functions with |
| indirect calls. |
| |
| 2012-05-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2012-05-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/53416 |
| * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ... |
| (UNSPECV_RDRAND): This. |
| (rdrand<mode>_1): Updated. |
| |
| 2012-05-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2012-05-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Support |
| RDRND, F16C and FSGSBASE. |
| |
| 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2012-05-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-pre.c (can_value_number_call): Delete. |
| (compute_avail): Skip all statements with side effects. |
| <GIMPLE_CALL>: Skip calls to internal functions. |
| |
| 2012-05-18 David S. Miller <davem@davemloft.net> |
| |
| Backport r185385 from mainline |
| 2012-03-14 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52584 |
| * tree-vect-generic.c (type_for_widest_vector_mode): Take |
| element type instead of mode, use build_vector_type_for_mode |
| instead of the langhook, build a vector of proper signedness. |
| (expand_vector_operations_1): Adjust. |
| |
| 2012-05-18 Olivier Hainque <hainque@adacore.com> |
| |
| * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of |
| $(libsubdir) as libexecsubdir. |
| |
| 2012-05-16 Andrew Pinski <apinski@cavium.com> |
| |
| * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under |
| GIMPLE_ASSIGN. |
| |
| 2012-05-16 David S. Miller <davem@davemloft.net> |
| |
| * jump.c (delete_related_insns): If we remove a CALL, make sure |
| we delete it's NOTE_INSN_CALL_ARG_LOCATION note too. |
| |
| 2012-05-16 Richard Henderson <rth@redhat.com> |
| |
| PR debug/52727 |
| * combine-stack-adj.c (prev_active_insn_bb): New. |
| (next_active_insn_bb): New. |
| (force_move_args_size_note): New. |
| (combine_stack_adjustments_for_block): Use it. |
| |
| 2012-05-16 Olivier Hainque <hainque@adacore.com> |
| |
| * Makefile.in (install-no-fixedincludes): New target, former toplevel |
| gcc-no-fixedincludes. Stash "include-fixed" in addition to "include". |
| Add comments and improve stamp preservation across the whole sequence. |
| (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h. |
| |
| 2012-05-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53364 |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly |
| detect a view-conversion of the decl. |
| |
| 2012-05-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/53358 |
| * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check |
| that operands[2] is either immediate, or q_regs_operand. |
| |
| 2012-05-15 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport r187139 from mainline. |
| 2012-05-04 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/52804 |
| * reload1.c (reload_reg_reaches_end_p): Check whether successor |
| reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register |
| of current one with type RELOAD_FOR_INPADDR_ADDRESS. |
| Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and |
| RELOAD_FOR_OUTADDR_ADDRESS. |
| |
| 2012-05-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46098 |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Always |
| generate target register for "load" class builtins. |
| |
| Revert: |
| 2010-10-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46098 |
| * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>): |
| Rename from avx_movu<ssemodesuffix><avxmodesuffix>. |
| (avx_movu<ssemodesuffix><avxmodesuffix>): New expander. |
| (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>. |
| (<sse>_movu<ssemodesuffix>): New expander. |
| (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>. |
| (avx_movdqu<avxmodesuffix>): New expander. |
| (*sse2_movdqu): Rename from sse2_movdqu. |
| (sse2_movdqu): New expander. |
| |
| 2012-05-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat |
| lineno 1 the same as lineno 0 before first start file directive. |
| (optimize_macinfo_range): Likewise. |
| |
| * dwarf2out.c (have_macinfo): Define. |
| (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info |
| attribute, don't force empty compilation unit and don't emit any |
| .debug_macinfo/.debug_macro section if macinfo_table is empty. |
| |
| 2012-05-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-05-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle |
| ORDERED and UNORDERED conditions. |
| |
| 2012-05-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * function.c (requires_stack_frame_p): If the function can throw |
| non-call exceptions, return true if the insn can throw internally. |
| |
| 2012-05-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the |
| DECL_ORIGINAL_TYPE if it is present. |
| |
| 2012-05-09 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-05-12 mainline r187342. |
| |
| PR target/53256 |
| * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove. |
| * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove. |
| * config/avr/avr.h (struct machine_function): Add attributes_checked_p. |
| * config/avr/avr.c (avr_asm_declare_function_name): Remove. |
| (expand_prologue): Move initialization of cfun->machine->is_naked, |
| is_interrupt, is_signal, is_OS_task, is_OS_main from here to... |
| (avr_set_current_function): ...this new static function. |
| (TARGET_SET_CURRENT_FUNCTION): New define. |
| (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of |
| checking attributes of current_function_decl. |
| (avr_regs_to_save): Ditto. |
| (signal_function_p): Rename to avr_signal_function_p. |
| (interrupt_function_p): Rename to avr_interrupt_function_p. |
| |
| * doc/extend.texi (Function Attributes): Better explanation of |
| 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish |
| alphabetical order. |
| |
| 2012-05-09 Matthias Klose <doko@ubuntu.com> |
| |
| * gcc-ar.c (main): Don't check for execute bits for the plugin. |
| |
| 2012-05-08 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/53272 |
| * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32, |
| when a constant source operand matches an "I" constraint, the "no |
| CC0 change" applies to a register-destination only, not a |
| strict_low_part-destination. |
| |
| 2012-05-07 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| Backport from mainline: |
| 2012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| * config/arm/sync.md (sync_optab): Change ior attribute to "or". |
| |
| 2012-05-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53239 |
| * tree-vrp.c (get_value_range): Set VR of |
| SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL |
| to nonnull. |
| |
| 2012-05-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53195 |
| * tree-inline.c (setup_one_parameter): Properly add referenced |
| vars from the parameters new known value. |
| |
| 2012-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| Backport from mainline: |
| 2012-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/52999 |
| * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels |
| in constant pool. |
| |
| 2012-05-04 Ian Lance Taylor <iant@google.com> |
| |
| * tree-vect-patterns.c (vect_single_imm_use): Correct return |
| values from false to NULL. |
| |
| 2012-05-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-05-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53228 |
| * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE. |
| (TARGET_CMOV): Rename from TARGET_CMOVE. |
| (TARGET_CMOVE): New define. |
| * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV. |
| Do not set TARGET_CMOVE here. |
| |
| 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| Backport from mainline: |
| |
| 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| PR tree-optimization/52633 |
| * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of |
| vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern. |
| (vect_recog_over_widening_pattern): Remove handling of code that was |
| already detected as over-widening pattern. Remove special handling |
| of "unsigned" cases. Instead, support general case of conversion |
| of the shift result to another type. |
| |
| 2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| * tree-vect-patterns.c (vect_single_imm_use): New function. |
| (vect_recog_widen_mult_pattern): Use it instead of open-coding loop. |
| (vect_recog_over_widening_pattern): Likewise. |
| (vect_recog_widen_shift_pattern): Likewise. |
| |
| 2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| PR tree-optimization/52870 |
| * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that |
| presumed pattern statement is within the same loop or basic block. |
| |
| 2012-05-04 Richard Guenther <rguenther@suse.de> |
| |
| * common.opt (flto-report): Do not mark as Optimization. |
| |
| 2012-05-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/48496 |
| * recog.c (constrain_operands): If extra constraints are present, also |
| accept pseudo-registers with equivalent memory locations during reload. |
| |
| 2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from the mainline |
| 2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/53199 |
| * config/rs6000/rs6000.md (bswapdi splitters): If |
| -mavoid-indexed-addresses (or -mcpu=power6 which sets it by |
| default) is used, generate an alternate sequence that does not |
| depend on using indexed addressing. |
| |
| 2012-05-03 David S. Miller <davem@davemloft.net> |
| |
| PR target/52684 |
| * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a |
| MEM directly into a libcall, mark it's MEM_EXPR as addressable. |
| (sparc_emit_float_lib_cmp): Likewise. |
| |
| 2012-05-04 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2012-05-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/52605 |
| * dwarf2out.c (dwarf2out_decl): Only lookup die representing context |
| of a variable when the contect is a function. |
| |
| 2012-05-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR plugins/53126 |
| * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env, |
| append program name to it and pass that as first argument |
| to make_relative_prefix. Always pass standard_libexec_prefix |
| as last argument to make_relative_prefix. If |
| make_relative_prefix returns NULL, fall back to |
| standard_libexec_prefix. |
| |
| PR debug/53174 |
| * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being |
| removed. |
| |
| PR target/53187 |
| * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class |
| mode, return that mode. |
| |
| 2012-05-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53144 |
| * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces): |
| Rename to ... |
| (vn_reference_lookup_or_insert_for_pieces): ... this. Properly deal |
| with SSA name values. |
| (vn_reference_lookup_3): Adjust callers. |
| |
| 2012-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/53163 |
| * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore |
| return value from compute_all_dependences. |
| |
| PR rtl-optimization/53160 |
| * ree.c (combine_reaching_defs): Handle the case where cand->insn |
| has been modified by ree pass already. |
| |
| 2012-05-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-04-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/53136 |
| * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple |
| calls to cgraph_node_name in xstrdup. |
| (ipa_make_edge_direct_to_target): Ditto. |
| * tree-sra.c (convert_callers_for_node): Ditto. |
| * lto-symtab.c (lto_cgraph_replace_node): Ditto. |
| * ipa-cp.c (perhaps_add_new_callers): Ditto. |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto. |
| (cgraph_materialize_all_clones): Ditto. |
| * ipa-inline.c (report_inline_failed_reason): Ditto. |
| (want_early_inline_function_p): Ditto. |
| (edge_badness): Ditto. |
| (update_edge_key): Ditto. |
| (flatten_function): Ditto. |
| (ipa_inline): Ditto. |
| (inline_always_inline_functions): Ditto. |
| (early_inline_small_functions): Ditto. |
| |
| 2012-04-30 Andreas Tobler <andreast@fgznet.ch> |
| |
| Backport from mainline |
| 2012-03-21 Andreas Tobler <andreast@fgznet.ch> |
| |
| * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*. |
| Introduce emul_name to select the right linker emulation for |
| powerpc64-*-freebsd*. |
| * configure: Regenerate. |
| * config.gcc: Add bits to support powerpc64-*-freebsd*. |
| * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define. |
| * config/rs6000/freebsd64.h: New file. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Use |
| POWERPC_FREEBSD. |
| (rs6000_savres_strategy): Likewise. |
| (rs6000_savres_routine_name): Likewise. |
| (rs6000_elf_file_end): Likewise. |
| * config/rs6000/t-freebsd64: New file. |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the |
| rs6000_current_abi for 64-bit FreeBSD to ABI_AIX. |
| |
| 2012-04-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-04-27 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR target/53138 |
| * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber. |
| |
| 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper |
| predicate to discriminate types. |
| |
| 2012-04-27 Richard Guenther <rguenther@suse.de> |
| |
| PR c/51527 |
| * convert.c (convert_to_integer): Avoid infinite recursion for |
| target-defined built-in types. |
| |
| 2012-04-26 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/53120 |
| * config/cris/cris.md ("*andhi_lowpart_v32") |
| ("*andqi_lowpart_v32"): Change first input-only operand from |
| a (match_operand ...) to (match_dup 0). Drop alternatives with |
| const_int-matching constraints for redundancy. |
| ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop |
| three-operand alternative. |
| |
| 2012-04-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-04-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative. |
| (*addsi_2_zext): Ditto. |
| (*add<mode>_3): Ditto. |
| (*addsi_3_zext): Ditto. |
| (*add<mode>_5): Ditto. |
| |
| 2012-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/52880 |
| * c-typeck.c (set_nonincremental_init, |
| set_nonincremental_init_from_string): Pass true instead of false |
| as IMPLICIT to add_pending_init. |
| |
| 2012-04-24 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-04-24 mainline r186768. |
| |
| PR target/53065 |
| * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define. |
| |
| 2012-04-24 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/53085 |
| * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant |
| stores. |
| |
| 2012-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/53084 |
| * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR |
| of MEM_REF. |
| (output_addressed_constants): Likewise. |
| |
| PR middle-end/52999 |
| * varasm.c (get_section): Don't ICE for section conflicts with |
| built-in section kinds. |
| |
| 2012-04-23 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or". |
| |
| 2012-04-23 Georg-Johann Lay <avr@gjlay.de> |
| |
| * doc/extend.texi (AVR Named Address Spaces): Fix typos. |
| |
| 2012-04-23 Richard Guenther <rguenther@suse.de> |
| |
| PR c/53060 |
| * c-typeck.c (build_binary_op): Fix typo. |
| |
| 2012-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimizations/52891 |
| * tree-vect-patterns.c (adjust_bool_pattern): Use |
| build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE, |
| but with non-standard precision. |
| |
| 2012-04-22 Ian Lance Taylor <iant@google.com> |
| |
| * godump.c (go_output_typedef): Dump size of structs. |
| |
| 2012-04-20 Ulrich Weigand <ulrich.weigand@linaro.org> |
| |
| Backport from mainline: |
| |
| * config/arm/arm.c (arm_print_operand): Fix invalid alignment |
| hints for 'A' operand types. |
| |
| 2012-04-19 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-04-19 mainline r186588. |
| |
| PR target/53033 |
| * config/avr/avr.c (avr_out_load_psi): Fix assembler template for |
| the case *(X+const). |
| |
| 2012-04-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/sync.md (fetchop_name): Change ior attribute to "or". |
| |
| 2012-04-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53020 |
| * config/i386/sync.md (atomic_<code><mode>): Rename to |
| atomic_<logic><mode>. |
| |
| 2012-04-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2012-04-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52932 |
| * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second |
| argument type to __m256i. Update call to __builtin_ia32_permvarsf256. |
| * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI. |
| (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2. |
| * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>: |
| Update builtin type to V8SF_FTYPE_V8SF_V8SI. |
| (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and |
| gen_avx2_permvarv8sf. |
| |
| 2012-04-16 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from mainline |
| |
| 2012-04-13 Martin Jambor <mjambor@suse.cz> |
| PR middle-end/52939 |
| |
| * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if |
| fold_ctor_reference returns a zero constant. |
| |
| 2012-04-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2012-04-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-c.c (ix86_target_macros): Define _ILP32 |
| and __ILP32__ for x32. |
| |
| 2012-04-13 Tom de Vries <tom@codesourcery.com> |
| |
| Backport from mainline r186418. |
| |
| 2012-04-13 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add |
| parameters vuse and vuse_escaped. |
| (find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to |
| gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and |
| vuse1 != vuse2. |
| |
| 2012-04-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52969 |
| * tree-if-conv.c (predicate_mem_writes): Properly gimplify |
| the condition for the COND_EXPR and handle predicate negation |
| by swapping the COND_EXPR arms. |
| |
| 2012-04-13 Richard Guenther <rguenther@suse.de> |
| |
| PR c/52862 |
| * convert.c (convert_to_pointer): Remove special-casing of |
| zero. |
| |
| 2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/52775 |
| * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to |
| the list of options to enable the FCFID instruction. |
| (TARGET_EXTRA_BUILTINS): Adjust comment. |
| |
| 2012-04-12 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52943 |
| * tree-chrec.h (chrec_is_positive): Remove. |
| * tree-scalar-evolution.c (chrec_is_positive): Move ... |
| * tree-data-ref.c (chrec_is_positive): ... here. Make static. |
| Return false for a constant zero instead of negative. |
| (analyze_siv_subscript_cst_affine): Handle zero difference |
| in the initial condition explicitely. |
| |
| 2012-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/52894 |
| * varasm.c (process_pending_assemble_externals): Set |
| pending_assemble_externals_processed true. |
| (assemble_external): Call assemble_external_real if the pending |
| assemble externals have been processed. |
| |
| 2012-04-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/52717 |
| * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on |
| the DECL generated for the special GOT helper. |
| |
| 2012-04-06 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2012-03-07 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate |
| REG_CFA_* notes for the stack pointer. |
| (tilegx_expand_epilogue): Restore stack pointer by adjusting it by |
| EH_RETURN_STACKADJ_RTX. |
| * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't |
| generate REG_CFA_* notes for the stack pointer. |
| (tilepro_expand_epilogue): Restore stack pointer by adjusting it |
| by EH_RETURN_STACKADJ_RTX. |
| |
| 2012-04-06 Matt Turner <mattst88@gmail.com> |
| |
| * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc". |
| |
| 2012-04-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member |
| of the destination isn't also a FP_REGS register. |
| |
| 2012-04-03 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-03-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52406 |
| * tree-data-ref.h: Update documentation about DR_BASE_OBJECT. |
| (struct indices): Add unconstrained_base member. |
| (struct dr_alias): Remove unused vops member. |
| (DR_UNCONSTRAINED_BASE): New define. |
| * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs |
| add indices to allow their disambiguation. Make DR_BASE_OBJECT |
| be an artificial access that covers the whole indexed object, |
| or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize |
| plain decl base-objects to their MEM_REF variant. |
| (dr_may_alias_p): When the base-object of either data reference |
| has unknown size use only points-to information. |
| (compute_affine_dependence): Make dumps easier to read and |
| more verbose. |
| * tree-vect-data-ref.c (vector_alignment_reachable_p): Use |
| DR_REF when looking for packed references. |
| (vect_supportable_dr_alignment): Likewise. |
| |
| 2012-04-03 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-03-15 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52580 |
| * tree-data-ref.c (subscript_dependence_tester_1): Check |
| all dimensions for non-conflicting access functions. |
| |
| 2012-04-03 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2012-03-06 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52493 |
| * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify. |
| |
| 2012-03-23 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52678 |
| * tree-vectorizer.h (struct _stmt_vec_info): Add |
| loop_phi_evolution_part member. |
| (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define. |
| * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize |
| STMT_VINFO_LOOP_PHI_EVOLUTION_PART. |
| * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): |
| Use the cached evolution part and the PHI nodes value from |
| the loop preheader edge instead of re-analyzing the evolution. |
| |
| 2012-03-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52701 |
| * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always |
| compute and set the evolution part of PHI nodes. |
| |
| 2012-03-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52754 |
| * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only |
| propagate arbitrary addresses into really plain dereferences. |
| |
| 2012-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52835 |
| * tree-data-ref.c (build_rdg): Return NULL if |
| compute_data_dependences_for_loop failed. |
| |
| 2012-03-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-cfg.c (call_can_make_abnormal_goto): New predicate. |
| (stmt_can_make_abnormal_goto): Use it. |
| (is_ctrl_altering_stmt): Likewise. |
| |
| 2012-03-31 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from mainline |
| 2012-03-30 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there |
| is a builtin_stack_save in a dominating BB. |
| |
| 2012-03-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results |
| crossing 128bit lane boundary. |
| |
| 2012-03-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from mainline |
| 2012-03-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52698 |
| * config/i386/i386-protos.h (ix86_legitimize_reload_address): |
| New prototype. |
| * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define. |
| * config/i386/i386.c: Include reload.h. |
| (ix86_legitimize_reload_address): New function. |
| |
| 2012-03-28 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from mainline |
| 2012-03-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/52693 |
| * tree-sra.c (sra_modify_assign): Do not call |
| load_assign_lhs_subreplacements when working with an unscalarizable |
| region. |
| |
| 2012-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52691 |
| * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize |
| __builtin_va_start to __builtin_next_arg if the latter is |
| builtin_decl_explicit_p rather than when it is not. |
| |
| PR middle-end/52750 |
| * tree-vect-generic.c (vector_element): Perform multiplication |
| for pos in bitsizetype type instead of idx type. |
| |
| 2012-03-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-03-28 mainline r185910. |
| |
| PR target/52692 |
| * config/avr/avr.c (TARGET_BUILTIN_DECL): New define. |
| (avr_builtin_decl): New static function. |
| (struct avr_builtin_description, avr_bdesc): Move up. |
| Add GTY marker. Add field fndecl. Remove redundant field id. |
| (avr_init_builtins): Initialize avr_bdesc[ID].fndecl. |
| (avr_expand_builtin): Code cleanup because .id is removed. |
| |
| 2012-03-28 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com> |
| |
| PR middle-end/51893 |
| * expmed.c (store_bit_field_1): Fix wordnum value for big-endian |
| targets. |
| |
| 2012-03-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-03-28 mainline r185907. |
| |
| PR target/52737 |
| * config.gcc (tm_file): Remove avr/multilib.h. |
| |
| * doc/invoke.texi (AVR Options): Adjust |
| documentation of -mtiny-stack. |
| |
| * config/avr/genmultilib.awk: Remove code to generate multilib.h. |
| (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack. |
| * config/avr/t-avr: Remove generation of multilib.h. |
| * config/avr/t-multilib: Regenerate. |
| * config/avr/multilib.h: Remove. |
| * config/avr/avr.opt (-msp8): New option. |
| (avr_sp8): New variable. |
| * config/avr/driver-avr.c (avr_device_to_sp8): New function. |
| * config/avr/avr.h (AVR_HAVE_SPH): New define. |
| (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8. |
| (avr_device_to_sp8): New prototype. |
| (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 } |
| (DRIVER_SELF_SPECS): New define. |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines: |
| __AVR_SP8__, __AVR_HAVE_SPH__. |
| * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of |
| AVR_HAVE_8BIT_SP to decide if SP_H is present. |
| (avr_file_start): Ditto. |
| |
| 2012-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/52736 |
| * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0 |
| instead of 8 in adjust_address. |
| |
| 2012-03-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple |
| of a unit before computing the offset in units. |
| |
| 2012-03-27 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52720 |
| * fold-const.c (try_move_mult_to_index): Handle &x.array more |
| explicitely. |
| |
| 2012-03-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/52610 |
| * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon. |
| |
| 2012-03-24 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR middle-end/52640 |
| * varasm.c: Include pointer-set.h. |
| (pending_assemble_externals_set): New pointer set. |
| (process_pending_assemble_externals): Destroy the pointer set. |
| (assemble_external): See if decl is in pending_assemble_externals_set, |
| and add it to pending_assemble_externals if necessary. |
| (init_varasm_once): Allocate pending_assemble_externals_set. |
| |
| 2012-03-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backported from mainline |
| 2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/50310 |
| * config/rs6000/vector.md (vector_uneq<mode>): Add support for |
| UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons. |
| (vector_ltgt<mode>): Likewise. |
| (vector_ordered<mode>): Likewise. |
| (vector_unordered<mode>): Likewise. |
| * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise. |
| |
| 2012-03-23 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/epiphany/epiphany.c (epiphany_function_value_regno_p): |
| Make static. |
| |
| 2012-03-22 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backported from mainline |
| 2012-03-02 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/48596 |
| PR target/48806 |
| * config/sh/sh.c (sh_register_move_cost): Increase cost between |
| GENERAL_REGS and FP_REGS for SImode. |
| |
| 2012-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52547 |
| * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars |
| on any new_local_var_chain vars declared during recursing on |
| GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body. |
| |
| 2012-03-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2012-03-22 mainline r185692. |
| |
| PR target/52496 |
| * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER. |
| (unspecv): Add UNSPECV_MEMORY_BARRIER. |
| (cli_sei): Use unspec_volatile instead of unspec for memory barrier. |
| (delay_cycles_1, delay_cycles_2): Ditto. |
| (delay_cycles_3, delay_cycles_4): Ditto. |
| (nopv, *nopv): Ditto. |
| (sleep, *sleep): Ditto. |
| (wdr, *wdr): Ditto. |
| |
| Backport from 2012-03-21 mainline r185605. |
| |
| PR rtl-optimization/52543 |
| PR target/52461 |
| * config/avr/avr-protos.h (avr_load_lpm): New prototype. |
| * config/avr/avr.c (avr_mode_dependent_address_p): New function. |
| (TARGET_MODE_DEPENDENT_ADDRESS_P): New define. |
| (avr_load_libgcc_p): Restrict to __flash loads. |
| (avr_out_lpm): Only handle 1-byte loads from __flash. |
| (avr_load_lpm): New function. |
| (avr_find_unused_d_reg): Remove. |
| (avr_out_lpm_no_lpmx): Remove. |
| (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM. |
| * config/avr/avr.md (unspec): Add UNSPEC_LPM. |
| (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM. |
| (load_<mode>, load_<mode>_clobber): New insns. |
| (mov<mode>): For multi-byte move from non-generic |
| 16-bit address spaces: Expand to load_<mode> resp. |
| load_<mode>_clobber. |
| (load<mode>_libgcc): Remove expander. |
| (split-lpmx): Remove split. |
| |
| Backport from 2012-03-13 mainline r185329. |
| |
| PR target/52488 |
| * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack |
| offset (size) to a value the insns can deal with. |
| (expand_epilogue): Ditto. |
| |
| Backport from 2012-03-12 mainline r185256. |
| |
| PR target/52499 |
| * config/avr/avr.c (avr_mode_code_base_reg_class): Change return |
| type from reg_class_t to enum reg_class. |
| * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto. |
| |
| Backport from 2012-03-12 mainline r185253. |
| |
| PR target/52148 |
| * config/avr/avr.c (avr_out_movmem): Fix typo in output template |
| for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in |
| r184615 from 2012-02-28. |
| |
| Backport from 2012-03-08 mainline r185105. |
| |
| * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative |
| for constants in [-63,63]. |
| |
| Backport from 2012-03-08 mainline r185100. |
| |
| PR target/52496 |
| * config/avr/avr.c (avr_mem_clobber): New static function. |
| (avr_expand_delay_cycles): Add memory clobber operand to |
| delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4. |
| * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER. |
| (enable_interrupt, disable_interrupt): New expander. |
| (nopv, sleep, wdr): New expanders. |
| (delay_cycles_1): Add memory clobber. |
| (delay_cycles_2): Add memory clobber. |
| (delay_cycles_3): Add memory clobber. |
| (delay_cycles_4): Add memory clobber. |
| (cli_sei): New insn from former "enable_interrupt", |
| "disable_interrupt" with memory clobber. |
| (*wdt): New insn from former "wdt" with memory clobber. |
| (*nopv): Similar, but for "nopv". |
| (*sleep): Similar, but for "sleep". |
| |
| Backport from 2012-03-07 mainline r185043. |
| |
| PR target/52484 |
| * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint. |
| |
| Backport from 2012-03-07 mainline r185032. |
| |
| PR target/52506 |
| * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration |
| to: RAMPZ, RAMPY, RAMPX, RAMPD. |
| (expand_prologue): Only clear RAMPZ if it has effect on RAM-read. |
| |
| Backport from 2012-03-07 mainline r185031. |
| |
| PR target/52505 |
| * config/avr/avr.c (avr_out_xload): Don't read unintentionally |
| from RAM. |
| * config/avr/avr.md (xload_8): Adjust insn length. |
| |
| Backport from 2012-03-07 mainline r185030. |
| |
| PR target/52461 |
| * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage |
| if RAMPZ affects reading from RAM. |
| |
| Backport from 2012-03-05 mainline r184919. |
| |
| * config/avr/avr.md (*umaddqihi4.2): New insn-and-split. |
| |
| 2012-03-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from mainline r185259. |
| |
| PR other/52545 |
| * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use |
| SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE. |
| |
| 2012-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2012-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/52577 |
| * c-parser.c (c_parser_postfix_expression) |
| <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values. |
| |
| * config/i386/smmintrin.h: Avoid /* within a comment. |
| * config/i386/nmmintrin.h: Likewise. |
| |
| 2012-03-22 Richard Guenther <rguenther@suse.de> |
| |
| * BASE-VER: Set to 4.7.1. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2012-03-22 Release Manager |
| |
| * GCC 4.7.0 released. |
| |
| 2012-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/install.texi (Specific, *-*-solaris2*): Improve wording. |
| |
| 2012-03-15 Jakub Jelinek <jakub@redhat.com> |
| Andrew Pinski <apinski@cavium.com> |
| |
| PR middle-end/52592 |
| * builtins.c (expand_builtin_int_roundingfn_2): If expanding |
| BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}* |
| calls instead of __builtin_ir{int,ound}*. |
| |
| 2012-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/52582 |
| * config/rs6000/rs6000.c (call_ABI_of_interest): Return true |
| if c_node is NULL. |
| |
| 2012-03-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/invoke.texi (-std=c99), doc/standards.texi (C language): |
| Refer to GCC 4.7 version of c99status.html. |
| |
| 2012-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not |
| redefine to be NULL if the current bit-size is different from the |
| configured bit-size. |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): If the |
| cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to |
| set the default tuning. Add asserts to make sure the cpu and tune |
| indexes are defined. Fix tests for cpu/tune index to use >= 0 to |
| test whether the index is set, instead of > 0. |
| (rs6000_file_start): Do not reset the default cpu if the current |
| bit-size is different from the configured bit-size. |
| |
| 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update |
| binutils reference. |
| (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference. |
| Update binutils references. |
| (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11. |
| Update binutils reference. |
| Update Sun as/GNU ld caveat. |
| Document binutils largefile requirement for LTO plugin. |
| Remove reference to alternate libpthread. |
| |
| 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils |
| reference. |
| (Specific, mips-sgi-irix6): Likewise. |
| |
| 2012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label. |
| * configure: Regenerate. |
| |
| 2012-03-07 Richard Henderson <rth@redhat.com> |
| |
| * config/m68k/m68k.h (ISA_HAS_TAS): New. |
| * config/m68k/sync.md (atomic_test_and_set): Use it. |
| (atomic_test_and_set_1): Likewise. |
| |
| 2012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| PR target/51417 |
| * Makefile.in: Let install-gcc-ar depend on installdirs, |
| gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext). |
| Don't double canonicalize if cross-compiling. |
| |
| 2012-03-06 Aldy Hernandez <aldyh@redhat.com> |
| |
| * trans-mem.c: New typedef for tm_region_p. |
| Define vector types for tm_region_p. |
| (tm_region_init): Replace region_worklist to a vector called |
| bb_regions. |
| |
| 2012-03-06 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/52463 |
| * trans-mem.c (tm_region_init): Use last_basic_block. |
| |
| 2012-03-05 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/52242 |
| Revert: 2011-11-26 Richard Henderson <rth@redhat.com> |
| * omp-low.c (expand_omp_atomic): Assume anything aligned to |
| BIGGEST_ALIGNMENT is aligned. |
| |
| 2012-03-05 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook. |
| |
| 2012-03-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/52481 |
| * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop |
| instead of calling negqi2 directly. |
| |
| 2012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare. |
| (INTMAX_TYPE): Use it. |
| (UINTMAX_TYPE): Likewise. |
| (SUBTARGET_OVERRIDE_OPTIONS): Define. |
| (irix6_c_common_override_options): Declare. |
| (C_COMMON_OVERRIDE_OPTIONS): Define. |
| * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define. |
| * config/mips/irix6-c.c: New file. |
| * config/mips/t-irix6 (irix6-c.o): New target. |
| * config.gcc (mips-sgi-irix6.5): Set c_target_objs, |
| cxx_target_objs. |
| |
| 2012-03-02 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (expand_atomic_test_and_set): Honor |
| atomic_test_and_set_trueval even when atomic_test_and_set |
| optab is not in use. |
| |
| 2012-03-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2012-03-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands. |
| |
| 2012-03-02 Richard Guenther <rguenther@suse.de> |
| |
| * DEV-PHASE: Set to prerelease. |
| |
| 2012-03-01 Richard Earnshaw <rearnsha@arm.com> |
| |
| * config.gcc (obsolete): Add all ARM targets using the FPA. |
| (with_fpu): Obsolete selection of the FPA or Maverick on ARM. |
| * doc/install.texi: Avoid references to obsolete ARM ports. |
| |
| 2012-03-01 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/epiphany/epiphany.md (movmisalign<mode>): New patterns. |
| |
| 2012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com> |
| Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * doc/extend.texi: Expand and update information on interrupt |
| attribute for Epiphany. |
| |
| 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh-protos.h: Update copyright notice dates. |
| * config/sh/sh.h: Likewise. |
| * config/sh/sh.md: Likewise. |
| * config/sh/constraints.md: Likewise. |
| * config/sh/predicates.md: Likewise. |
| |
| 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function. |
| * config/sh/sh.c (tertiary_reload_operand): Likewise. |
| |
| 2012-03-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/constraints.md: Fix comment typo. |
| |
| 2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/52408 |
| * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to |
| unsigned HOST_WIDE_INT. |
| (zvdep_imm64): Likewise. |
| (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT. |
| (vdepi_and): Likewise. |
| Likewise for unamed 64-bit patterns. |
| * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment. |
| |
| 2012-03-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/52001 |
| PR rtl-optimization/52417 |
| * cselib.c (cselib_any_perm_equivs): New variable. |
| (cselib_reset_table): Check that it's not set when not |
| preserving constants. |
| (cselib_add_permanent_equiv): Set it. |
| (cselib_have_permanent_equivalences): New. |
| (cselib_init, cselib_finish): Reset it. |
| * cselib.h (cselib_have_permanent_equivalences): Declare. |
| * alias.c (get_addr): Restore earlier behavior when there |
| aren't permanent equivalences. |
| |
| 2012-03-01 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * config/mn10300/mn10300-modes.def: Fix copyright notice. |
| * config/v850/v850-modes.def: Fix copyright notice. |
| |
| 2012-03-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| * doc/extend.texi (AVR Built-in Functions): Document |
| __builtin_avr_flash_segment. |
| |
| * config/avr/builtins.def (__builtin_avr_flash_segment): New entry. |
| * config/avr/avr.md (flash_segment, flash_segment1): New expanders. |
| (*split.flash_segment): New insn-and-split. |
| * config/avr/avr.c (avr_init_builtins): Add local variables: |
| const_memx_void_node, const_memx_ptr_type_node, |
| char_ftype_const_memx_ptr. |
| |
| 2012-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52445 |
| * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field, |
| add ssa_name_ver, offset and size fields and change store field |
| to bool. |
| (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes. |
| (add_or_mark_expr): Likewise. Only consider previous stores |
| with the same size and offset. |
| (nt_init_block): Only look at gimple_assign_single_p stmts, |
| doesn't look at rhs2. |
| |
| 2012-03-01 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52443 |
| * tree-cfg.c (verify_gimple_assign_unary): Allow any |
| conversions from integral types to pointer types. |
| |
| 2012-03-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in |
| defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__ |
| unintentionally removed in r184616. |
| |
| 2012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * doc/invoke.texi: Document AMD bdver2 and remove mentioning |
| 3DNow from bdver1. |
| |
| 2012-02-29 Jakub Jelinek <jakub@redhat.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52437 |
| * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF" |
| alternatives, add "e" constraint to the new last alternative |
| and ! to last 3 alternatives. |
| |
| 2012-02-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and |
| DW_AT_artificial attributes at the end of the processing. |
| (gen_array_type_die): Likewise. |
| (gen_enumeration_type_die): Likewise. |
| (gen_struct_or_union_type_die): Likewise. |
| (add_gnat_descriptive_type_attribute): Do not suppress debug info for |
| the parent type. |
| |
| 2012-02-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52419 |
| * expr.c (expand_assignment): If doing misaligned store that doesn't |
| cover all mode bits, perform a RMW cycle. |
| |
| PR tree-optimization/52429 |
| * tree-parloops.c (separate_decls_in_region_debug): Return early |
| if var is LABEL_DECL. |
| |
| 2012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/52424 |
| * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before |
| calling dom_thread_across_edge. |
| |
| 2012-02-29 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c: Move definition of TARGET macros to end of file. |
| |
| 2012-02-29 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype. |
| * config/avr/avr.c (avr_output_bld): Remove unused function. |
| (avr_out_sbxx_branch): Use "%T" to print bit position. |
| |
| 2012-02-29 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md: Untabify. |
| |
| 2012-02-29 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md (eqne): New code iterator. |
| (*dec-and-branchsi): Use it in text peephole's condition. |
| (*dec-and-branchhi): Ditto. |
| (*dec-and-branchqi): Ditto. |
| |
| 2012-02-29 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49939 |
| * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that |
| the device does not have the skip-bug. |
| |
| 2012-02-29 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * doc/invoke.texi (-msoft-atomic): Add more detailed description. |
| (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd |
| -mpretend-cmove): New. |
| |
| 2012-02-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/52397 |
| * df.h (struct df_d): Adjust comment that hard_regs_live_count |
| doesn't count DEBUG_INSN refs. |
| * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE |
| for DEBUG_INSN refs. |
| |
| 2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| Partially revert: |
| |
| 2012-02-20 Richard Guenther <rguenther@suse.de> |
| PR tree-optimization/52298 |
| * tree-vect-stmts.c (vectorizable_load): Properly use |
| STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing |
| outer loops. |
| |
| 2012-02-28 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/51752 |
| * gimple.h (gimple_in_transaction): New. |
| (gimple_set_in_transaction): New. |
| (struct gimple_statement_base): Add in_transaction field. |
| * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of |
| transaction loads. |
| (tree_ssa_lim_initialize): Compute transaction bits. |
| * tree.h (compute_transaction_bits): Protoize. |
| * trans-mem.c (tm_region_init): Use the heap to store BB |
| auxilliary data. |
| (compute_transaction_bits): New. |
| |
| 2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * gcc.c (display_help): Document --help=common and sort entries |
| alphabetically. |
| |
| 2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * doc/install.texi: Document check-$LANG specific shortcuts |
| |
| 2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| |
| PR target/51534 |
| * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu |
| and vcgtu. |
| * config/arm/arm_neon.h: Regenerate. |
| * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU. |
| (neon_vcgeu): New insn. |
| (neon_vcgtu): Likewise. |
| * config/arm/neon.ml (s_8_32, u_8_32): New lists. |
| (ops): Unsigned comparison intrinsics call a different |
| builtin. |
| |
| 2012-02-28 Richard Guenther <rguenther@suse.de> |
| |
| PR target/52407 |
| * config/i386/i386.c (ix86_expand_vector_set): Fix element |
| ordering for the VEC_CONCAT for two element vectors for |
| V2SFmode, V2SImode and V2DImode. |
| |
| 2012-02-28 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/49448 |
| * config.gcc (arm*-*-linux*): Use an unambiguous pattern for |
| detecting big-endian triplets. |
| |
| 2012-02-28 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine |
| mode if there is no type information available. |
| |
| 2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR tree-optimization/53207 |
| * doc/invoke.texi: Document as experimental and relying on graphite. |
| |
| 2012-02-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part |
| of initializer to changes from r184614. |
| |
| 2012-02-28 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52395 |
| * tree-sra.c (build_ref_for_offset): Also look at the base |
| TYPE_ALIGN when figuring out the alignment of the replacement. |
| |
| 2012-02-28 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52402 |
| * ipa-prop.c (ipa_modify_call_arguments): Properly use |
| mis-aligned types when creating the accesses at the call site. |
| |
| 2012-02-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/builtins.def: New file. |
| * config/avr/t-avr (avr.o, avr-c.o): Depend on it. |
| * config/avr/avr.c (enum avr_builtin_id): Use it. |
| (avr_init_builtins): Use it. And use avr_bdesc. |
| (bdesc_1arg): Remove. |
| (bdesc_2arg): Remove. |
| (bdesc_3arg): Remove. |
| (struct avr_builtin_description): Add field n_args. |
| (avr_bdesc): New static variable using builtins.def. |
| (avr_expand_builtin): Use it. |
| Don't call avr_expand_delay_cycles if op0 is not CONST_INT. |
| (avr_fold_builtin): Fold AVR_BUILTIN_SWAP. |
| Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST. |
| |
| 2012-02-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/52148 |
| * config/avr/avr.md (movmem_<mode>): Replace match_operand that |
| match only one single hard register with respective hard reg rtx. |
| (movmemx_<mode>): Ditto. |
| * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new |
| insn anatomy of movmem[x]_<mode>. |
| (avr_out_movmem): Same for printing assembler and operand usage. |
| |
| 2012-02-28 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49868 |
| PR target/52261 |
| * doc/extend.texi (AVR Named Address Spaces): No more try to fix |
| address spaces located outside of device flash. |
| |
| * config/avr/avr.h (base_arch_s): Remove field n_segments. |
| (mcu_type_s): Add field n_flash. |
| * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments. |
| Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5. |
| (AVR_MCU): Add N_FLASH argument. |
| * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash. |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in |
| macro __FLASH<n> if that address space makes sense for the device. |
| * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces |
| outside of target flash. |
| (avr_asm_named_section): Ditto. |
| (avr_asm_select_section): Ditto. |
| (avr_addr_space_convert): Ditto. |
| (avr_emit_movmemhi): Ditto. |
| (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if |
| address space is outside of device flash. |
| (avr_insert_attributes): Ditto. |
| (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of |
| avr_current_arch->n_segments. |
| |
| 2012-02-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/52352 |
| * config/i386/i386.md (*movabs<mode>_1): Enable only for |
| TARGET_LP64. |
| (*movabs<mode>_2): Likewise. |
| |
| 2012-02-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/52375 |
| * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use |
| s_register_operand in the test instead of REG_P. Don't call |
| gen_reg_rtx if it won't be used. |
| |
| PR tree-optimization/52376 |
| * ipa-split.c (split_function): Ignore CLOBBER stmts. |
| |
| 2012-02-27 Stuart Henderson <shenders@gcc.gnu.org> |
| |
| * ifcvt.c (noce_get_condition): Check condition variable is not |
| small_register_classes_for_mode_p before accepting. |
| |
| 2012-02-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints. |
| |
| 2012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| |
| Revert: |
| 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for |
| tuning parameters. |
| * config/arm/arm.c (arm_cortex_a15_tune): New static variable. |
| |
| 2012-02-27 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro. |
| |
| 2012-02-26 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| * config/sh/predicates.md: Remove blank lines. |
| * config/sh/sh.c: Fix typos in comments. |
| * config/sh/constraints.md: Likewise. |
| * config/sh/sh.md: Remove blank lines. |
| Fix typos in comments. Use ;; as comment characters. |
| |
| 2012-02-26 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern. |
| (replace_mov_pcrel_step2): Ditto. |
| |
| 2012-02-25 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/52001 |
| * alias.c (refs_newer_value_cb, refs_newer_value_p): New. |
| (get_addr): Walk canonical value's locs. Avoid returning VALUEs |
| and locs that reference values newer than the non-canonical value |
| at hand. Return the canonical value as a worst case. |
| (memrefs_conflict_p): Walk canonical value's locs. |
| |
| PR debug/52001 |
| * cselib.c (preserve_only_constants): Rename to... |
| (preserve_constants_and_equivs): ... this. Split out... |
| (invariant_or_equiv_p): ... this. Preserve plus expressions |
| of other preserved expressions too. |
| (cselib_reset_table): Adjust. |
| * var-tracking.c (reverse_op): Use canonical value to build |
| reverse operation. |
| |
| 2012-02-23 Kai Tietz <ktietz@redhat.com> |
| |
| * config/i386/i386.c (ix86_delegitimize_address): Handle |
| UNSPEC_PCREL plus displacement. |
| |
| 2012-02-24 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/52261 |
| * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base |
| to test for unusedness in st X addressing. |
| |
| 2012-02-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52361 |
| * gimple.c (walk_gimple_op): Use predicates with less redundant tests. |
| (is_gimple_reg_type): Move inline ... |
| * gimple.h (is_gimple_reg_type): ... here. |
| |
| 2012-02-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52361 |
| * passes.c (execute_function_todo): When verifying SSA form |
| verify gimple form first. |
| * tree-ssa.c (verify_ssa): Do not verify gimple form here. |
| |
| 2012-02-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52355 |
| * fold-const.c (fold_addr_of_array_ref_difference): New function. |
| (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding. |
| |
| 2012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * tree-if-conv (predicate_scalar_phi): Commentary typo fix. |
| |
| 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * tree-phinodes.c (make_phi_node): Mark static. |
| * tree-flow.h (make_phi_node): Remove extern decl. |
| * doc/gimple.texi (make_phi_node): Remove documentation. |
| |
| 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file. |
| * tree-ssa-sccvn.c (print_scc): Ditto. |
| |
| 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * doc/passes.texi (Full redundancy elimination): Fix typo. |
| |
| 2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries. |
| |
| 2012-02-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR bootstrap/52287 |
| * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns. |
| |
| 2012-02-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR c/52290 |
| * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL. |
| |
| 2012-02-23 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md (code_stdname): Add ior, xor. |
| (xior): New code iterator. |
| (*<code_stdname><mode>qi.byte0): Use xior instead of ior. |
| (*<code_stdname><mode>qi.byte1-3): Ditto. |
| |
| 2012-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52019 |
| * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore |
| CLOBBER stmts. |
| |
| 2012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of |
| HAVE_INITFINI_ARRAY to work around namespace pollution in |
| certain versions of newlib system headers. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT |
| instead of HAVE_INITFINI_ARRAY. |
| |
| 2012-02-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52330 |
| * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x |
| is not offsettable memory reference. |
| |
| 2012-02-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/18145 |
| * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip |
| setting avr_need_clear_bss_p for __gnu_lto* symbols. |
| |
| 2012-02-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.h (avr_accumulate_outgoing_args): Return int. |
| * config/avr/avr.c (avr_accumulate_outgoing_args): Return int. |
| |
| 2012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread |
| library on Solaris 8 even without TLS support. |
| * configure: Regenerate. |
| |
| 2012-02-22 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52329 |
| * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs |
| for GIMPLE_DEBUG stmts. |
| |
| 2012-02-22 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/51782 |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space |
| according to the base object. |
| |
| 2012-02-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR rtl-optimization/50063 |
| * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state) |
| and 2 (8-bit SP) in operand 2. |
| * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue |
| setup to use movhi_sp_r instead of vanilla move to write SP. |
| Adjust REG_CFA notes to superseed unspec. |
| (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead |
| of vanilla move. |
| As function body might contain CLI or SEI: Use irq_state 0 (IRQ |
| known to be off) only with TARGET_NO_INTERRUPTS. Never use |
| irq_state 1 (IRQ known to be on) here. |
| |
| 2012-02-21 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not |
| WORDS_BIG_ENDIAN. |
| * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p, |
| assign_hard_reg): Likewise. |
| |
| 2012-02-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0". |
| |
| 2012-02-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md |
| (*dec-and-branchhi!=-1.d.clobber): New text peephole. |
| (*dec-and-branchhi!=-1.l.clobber): New text peephole. |
| |
| 2012-02-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move |
| prototype from here to... |
| * config/avr/avr.h: ...here. |
| |
| 2012-02-21 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/52294 |
| * thumb2.md (thumb2_shiftsi3_short): Split register and |
| immediate shifts. For register shifts tie operands 0 and 1. |
| (peephole2 for above): Check that register-controlled shifts |
| have suitably tied operands. |
| |
| 2012-02-21 Quentin Neill <quentin.neill@amd.com> |
| |
| PR target/52137 |
| * config/i386/bdver1.md (bdver1_call, bdver1_push, |
| bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul, |
| bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem, |
| bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov, |
| bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore, |
| bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store, |
| bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf, |
| bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load, |
| bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn, |
| bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc, |
| bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load, |
| bdver1_fcomi, bdver1_fcom_load, bdver1_fcom, |
| bdver1_fxch, bdver1_ssevector_avx128_unaligned_load, |
| bdver1_ssevector_avx256_unaligned_load, |
| bdver1_ssevector_sse128_unaligned_load, |
| bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load, |
| bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load, |
| bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load, |
| bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store, |
| bdver1_mmxsse_store_short, bdver1_ssevector_avx256, |
| bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256, |
| bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog, |
| bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load, |
| bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256, |
| bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd, |
| bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd, |
| bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps, |
| bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps, |
| bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd, |
| bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd, |
| bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si, |
| bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi, |
| bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq, |
| bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi, |
| bdver1_ssemuladd_load_256, bdver1_ssemuladd_256, |
| bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load, |
| bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd, |
| bdver1_ssediv_double_load_256, bdver1_ssediv_double_256, |
| bdver1_ssediv_single_load_256, bdver1_ssediv_single_256, |
| bdver1_ssediv_double_load, bdver1_ssediv_double, |
| bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins): |
| Add "bdver2" attribute. |
| |
| 2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_option_override): Make -mhard-dfp the |
| default if possible and not specified otherwise. |
| |
| 2012-02-21 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/52314 |
| * gimplify.c (create_tmp_from_val): Use the main variant type |
| for the type of the temporary we create. |
| |
| 2012-02-21 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52324 |
| * gimplify.c (gimplify_expr): When re-gimplifying expressions |
| do not gimplify a MEM_REF address operand if it is already |
| in suitable form. |
| |
| 2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace |
| TARGET_HARD_FLOAT with TARGET_HARD_DFP. |
| |
| 2012-02-21 Richard Guenther <rguenther@suse.de> |
| |
| * tree-vect-stmts.c (vectorizable_load): Use pre-computed |
| nested_in_vect_loop. |
| |
| 2012-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52318 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Add |
| vdef also to non-pure/const call stmts in the sequence. |
| |
| 2012-02-20 David S. Miller <davem@davemloft.net> |
| |
| * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we |
| don't use the "rd %pc" instruction on v9 for PIC register loads. |
| |
| 2012-02-20 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/52141 |
| * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's |
| in a transaction safe function. |
| |
| 2012-02-20 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/52238 |
| * stor-layout.c (place_field): Handle desired_align for |
| ms-bitfields, too. |
| |
| 2012-02-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52298 |
| * tree-vect-stmts.c (vectorizable_store): Properly use |
| STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing |
| outer loops. |
| (vectorizable_load): Likewise. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_access): |
| Access DR_STEP after ensuring it is not NULL. |
| |
| 2012-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52286 |
| * fold-const.c (fold_binary_loc): For (X & C1) | C2 |
| optimization use double_int_to_tree instead of build_int_cst_wide, |
| rewrite to use double_int vars. |
| |
| 2012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/50166 |
| * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION. |
| Define _start. |
| Remove -e 0 from $gcc_cv_ld invocation. |
| Only use __GLIBC_PREREQ if defined. |
| Enable on Solaris since Solaris 8 patch. |
| (gcc_SUN_LD_VERSION): New macro. |
| * configure.ac (ld_ver) <*-*-solaris2*>: Refer to |
| gcc_SUN_LD_VERSION for version number format. |
| * configure: Regenerate. |
| * varasm.c (get_elf_initfini_array_priority_section): Set |
| SECTION_NOTYPE for non-default priority. |
| Use get_section instead of get_unnamed_section to emit |
| .init_array/.fini_array with default priority. |
| |
| 2012-02-19 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable. |
| (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally. |
| (mips_start_unique_function, mips_output_mips16_rdhwr) |
| (mips_code_end): New functions. |
| (TARGET_ASM_CODE_END): Define. |
| |
| 2012-02-19 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips16_build_call_stub): Add CFI information |
| to stubs with non-sibling calls. |
| |
| 2012-02-18 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (-fira-* options): Copy-edit. |
| (ira-* parameters): Copy-edit. |
| |
| 2012-02-17 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Minor copy-edits to bring into conformance with |
| GCC coding conventions. |
| |
| 2012-02-17 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian" |
| when used as adjectives. |
| |
| 2012-02-16 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Clean up "that"/"which" confusion. |
| |
| 2012-02-17 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * system.h: Poison SMALL_REGISTER_CLASSES |
| * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook. |
| * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES. |
| |
| 2012-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52285 |
| * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts |
| when deciding if a call is a tail call or tail recursion. |
| |
| 2012-02-16 Kai Tietz <ktietz@redhat.com> |
| |
| * config/i386/i386.c (legitimate_pic_address_disp_p): Allow |
| interger-constant displacement for UNSPEC_PCREL. |
| |
| 2012-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/52208 |
| * ira-costs.c (scan_one_insn): Don't decrease mem_cost |
| for MEMs with REG_EQUIV, if the MEM isn't general_operand. |
| |
| PR tree-optimization/52255 |
| * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If |
| loop->header has virtual PHI, but exit_e->dest doesn't, add |
| virtual PHI to exit_e->dest and adjust all uses after the loop. |
| |
| PR debug/52260 |
| * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing |
| children with clone_tree_hash, not after it. |
| |
| 2012-02-16 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for |
| extended identifiers. |
| |
| 2012-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/51929 |
| * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is |
| a same_body_alias, also test whether e->callee isn't a former |
| or current clone of the decl this is a same body alias of. |
| |
| PR translation/52264 |
| * cgraphunit.c (verify_cgraph_node): Fix a typo. |
| |
| 2012-02-15 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers. |
| |
| 2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/52199 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use |
| force_reg instead of copy_to_reg for better optimization. Force |
| non-register or memory operands into a register. |
| |
| 2012-02-15 Andrew MacLeod <amacleod@redhat.com> |
| |
| * extend.texi: Reserve upper bits of memory model for future use. |
| |
| 2012-01-15 Georg-Johann Lay <avr@gjlay.de> |
| Anatoly Sokolov <aesok@post.ru> |
| Eric Weddington <eric.weddington@atmel.com> |
| |
| PR target/52261 |
| * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2, |
| avrxmega4, avrxmega5, avrxmega6, avrxmega7. |
| Rewrite initializers for .macro. |
| * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs: |
| avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4 |
| atxmega32d4, atxmega32x1. |
| avrxmega4: atxmega64a3, atxmega64d3. |
| avrxmega5: atxmega64a1, atxmega64a1u. |
| avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3, |
| atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3. |
| avrxmega7: atxmega128a1, atxmega128a1u. |
| * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2, |
| ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7. |
| (struct base_arch_s): Rename reserved to xmega_p. |
| Rename reserved2 to have_rampd. |
| (AVR_XMEGA): New define. |
| (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines. |
| (AVR_HAVE_RAMPZ): Change definition to fit xmega. |
| * config/avr/predicates.md (io_address_operand): Take into |
| account SFR offset. |
| (low_io_address_operand): Ditto. |
| (high_io_address_operand): Ditto. |
| * config/avr/avr.md (isa): Add alternatives no_xmega, xmega. |
| (enabled, movhi_sp_r): Use them. |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use |
| cpp_define_formatted to built-in define __AVR_ARCH__. |
| (__AVR_XMEGA__): New built-in define. |
| (__AVR_HAVE_RAMPD__): New built-in define. |
| (__AVR_HAVE_RAMPX__): New built-in define. |
| (__AVR_HAVE_RAMPY__): New built-in define. |
| (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it. |
| |
| * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy. |
| (avr_option_override): Initialize them. |
| (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx. |
| (avr_init_expanders): Initialize them. No more block several calls. |
| (emit_push_sfr): New static function. |
| (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed. |
| Handle AVR_XMEGA. |
| (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed. |
| (avr_print_operand): Print addreeses as symbols for |
| RAMPX, RAMPY, RAMPD, CCP. |
| (output_movhi): Handle AVR_XMEGA when writing to SP. |
| (avr_out_movhi_mr_r_xmega): New static function. |
| (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA. |
| (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__, |
| __RAMPD__, __CCP__ as needed. |
| |
| * config/avr/multilib.h: Regenerate. |
| * config/avr/t-multilib: Regenerate. |
| * config/avr/avr-tables.opt: Regenerate. |
| |
| 2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de> |
| |
| PR tree-optimization/50561 |
| * graphite-flattening.c (lst_project_loop): Do not |
| remove old scattering dimensions after flattening. |
| (lst_do_flatten): Likewise. |
| |
| 2012-02-15 Georg-Johann Lay <avr@gjlay.de> |
| |
| * doc/extend.texi (AVR Built-in Functions): Remove doc for |
| __builtin_avr_map8, __builtin_avr_map16. |
| Document __builtin_avr_insert_bits. |
| |
| * config/avr/avr.md (map_bitsqi, map_bitshi): Remove. |
| (insert_bits): New insn. |
| (adjust_len.map_bits): Rename to insert_bits. |
| (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS. |
| * avr-protos.h (avr_out_map_bits): Remove. |
| (avr_out_insert_bits, avr_has_nibble_0xf): New. |
| * config/avr/constraints.md (Cxf,C0f): New. |
| * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in |
| defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16. |
| New built-in define __BUILTIN_AVR_INSERT_BITS. |
| * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define. |
| (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS. |
| (avr_move_bits): Rewrite. |
| (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static |
| functions. |
| (avr_map_op_t): New typedef. |
| (avr_map_op): New static variable. |
| (avr_out_insert_bits, avr_has_nibble_0xf): New functions. |
| (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS. |
| (avr_init_builtins): Add definition for __builtin_avr_insert_bits. |
| (bdesc_3arg, avr_expand_triop_builtin): New. |
| (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS. |
| (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove. |
| (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove. |
| (avr_map_equal_p, avr_map_sig_p): Remove. |
| (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove. |
| (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. |
| (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS. |
| (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. |
| (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16. |
| (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. |
| |
| 2012-02-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/c6x/c6x.md (reserve_cycles): New attribute. |
| * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate |
| don't reserve functional units after the branch occurs. |
| |
| 2012-02-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/52142 |
| * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure |
| functions into non-tm_pure functions. |
| |
| 2012-02-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR lto/52178 |
| * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P. |
| (iterative_hash_canonical_type): Likewise. |
| * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all |
| the dead edges. |
| |
| 2012-02-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * haifa-sched.c (prune_ready_list): Ensure that if there is a |
| sched-group insn, it either remains alone or the entire list is pruned. |
| |
| 2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com> |
| |
| * doc/install.texi (Prerequisites): Fix grammar. |
| (Configuration): Likewise. |
| |
| 2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com> |
| |
| * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and |
| MPC as part of GCC before describing configuring with --with-gmp etc. |
| (Installing GCC: Configuration): --with-gmp etc. aren't needed if |
| sources are present. |
| |
| 2012-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/51950 |
| * dwarf2out.c (clone_tree_hash): New function. |
| (copy_decls_walk): Use it instead of clone_tree. |
| |
| 2012-02-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52244 |
| PR tree-optimization/51528 |
| * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE |
| replacements for integral types. |
| |
| 2012-02-14 Walter Lee <walt@tilera.com> |
| |
| * config.gcc: Handle tilegx and tilepro. |
| * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for |
| tilegx and tilepro. |
| Add HAVE_AS_TLS check for tilegx and tilepro. |
| * configure: Regenerate. |
| * doc/contrib.texi: Add Mat Hostetter and self. |
| * doc/extend.texi (TILE-Gx Built-in Functions): New node. |
| Document instruction intrinsics and network accessing intrinsics. |
| (TILEPro Built-in Functions): New node. Document instruction |
| intrinsics and network accessing intrinsics. |
| * doc/install.texi (Specific, tilegx-*-linux*): Document it. |
| (Specific, tilepro-*-linux*): Likewise. |
| * doc/invoke.texi (TILE-Gx Options): New section. |
| (TILEPro Options): New section. |
| * doc/md.texi (TILE-Gx): New section. |
| (TILEPro): New section. |
| * common/config/tilegx/tilegx-common.c: New file. |
| * common/config/tilepro/tilepro-common.c: New file. |
| * config/tilegx/constraints.md: New file. |
| * config/tilegx/linux.h: New file. |
| * config/tilegx/mul-tables.c: New file. |
| * config/tilegx/predicates.md: New file. |
| * config/tilegx/sync.md: New file. |
| * config/tilegx/t-tilegx: New file. |
| * config/tilegx/tilegx-builtins.h: New file. |
| * config/tilegx/tilegx-c.c: New file. |
| * config/tilegx/tilegx-generic.md: New file. |
| * config/tilegx/tilegx-modes.def: New file. |
| * config/tilegx/tilegx-multiply.h: New file. |
| * config/tilegx/tilegx-protos.h: New file. |
| * config/tilegx/tilegx.c: New file. |
| * config/tilegx/tilegx.h: New file. |
| * config/tilegx/tilegx.md: New file. |
| * config/tilegx/tilegx.opt: New file. |
| * config/tilepro/constraints.md: New file. |
| * config/tilepro/gen-mul-tables.cc: New file. |
| * config/tilepro/linux.h: New file. |
| * config/tilepro/mul-tables.c: New file. |
| * config/tilepro/predicates.md: New file. |
| * config/tilepro/t-tilepro: New file. |
| * config/tilepro/tilepro-builtins.h: New file. |
| * config/tilepro/tilepro-c.c: New file. |
| * config/tilepro/tilepro-generic.md: New file. |
| * config/tilepro/tilepro-modes.def: New file. |
| * config/tilepro/tilepro-multiply.h: New file. |
| * config/tilepro/tilepro-protos.h: New file. |
| * config/tilepro/tilepro.c: New file. |
| * config/tilepro/tilepro.h: New file. |
| * config/tilepro/tilepro.md: New file. |
| * config/tilepro/tilepro.opt: New file. |
| |
| 2012-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/52210 |
| * tree-vect-slp.c (vect_get_and_check_slp_defs): Call |
| vect_model_simple_cost with two entry vect_def_type array instead |
| of an address of dt. |
| |
| 2012-02-14 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/52178 |
| * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers): |
| Do not stream DECL_QUALIFIER. |
| * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise. |
| * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER. |
| (find_decls_types_r): Do not walk DECL_QUALIFIER. |
| |
| 2012-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/52181 |
| * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to |
| newdecl. |
| |
| 2012-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/52172 |
| * cselib.h (cselib_subst_to_values_from_insn): New prototype. |
| * cselib.c (cselib_subst_to_values_from_insn): New function. |
| * sched-deps.c (add_insn_mem_dependence, |
| sched_analyze_1, sched_analyze_2): Use it. |
| |
| 2012-02-13 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/52214 |
| * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch. |
| |
| 2012-02-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm. |
| (GTM_SELF_SPECS): Define if not already defined. |
| (driver_self_specs): Add GTM_SELF_SPECS. |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm. |
| (GTM_SELF_SPECS): Define. |
| * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise. |
| * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise. |
| |
| 2012-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right |
| away if seen. |
| |
| * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL. |
| |
| PR middle-end/52230 |
| * omp-low.c (expand_omp_for): If a static schedule without chunk size |
| has NULL region->cont, force fd.chunk_size to be integer_zero_node. |
| |
| 2012-02-13 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR c/52190 |
| * doc/extend.texi : Fix another __atomic_compare_exchange typo. |
| |
| 2012-02-13 Richard Guenther <rguenther@suse.de> |
| |
| PR translation/52211 |
| * passes.c (enable_disable_pass): Fix typo. |
| |
| 2012-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52209 |
| * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using |
| XOR for reduce_bit_field if type is unsigned. |
| |
| 2012-02-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode, |
| disallow changes from SFmode to mode with different size in FP regs. |
| |
| 2012-02-12 Robert Millan <rmh@gnu.org> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define. |
| Tweak comment. |
| |
| 2012-02-11 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/52175 |
| * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization |
| to frame-related instructions. |
| |
| 2012-02-10 Jason Merrill <jason@redhat.com> |
| |
| PR c++/51910 |
| * tlink.c (demangled_hash_entry): Change mangled to a VEC. |
| (demangle_new_symbols): Fill it. |
| (scan_linker_output): Walk it. |
| (start_tweaking): Split out from scan_linker_output. |
| (maybe_tweak): Update sym->chosen. |
| * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o |
| |
| 2012-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/52132 |
| * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg. |
| |
| 2012-02-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * compare-elim.c (find_comparisons_in_bb): Eliminate only compares |
| having the same mode as previous compare. |
| |
| 2012-02-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use. |
| * config/sparc/sparc.md (UNSPECV_GOTO): Delete. |
| (nonlocal_goto_internal): Likewise. |
| (nonlocal_goto): Emit a use and an indirect jump directly. |
| |
| 2012-02-10 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR c/52190 |
| * doc/extend.texi : Update comments for __atomic_compare_exchange and |
| __atomic_{is,always}_lock_free. |
| |
| 2012-02-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/52146 |
| * config/i386/i386.c (ix86_legitimate_address_p): Disallow |
| negative constant address for x32. |
| |
| 2012-02-10 Richard Henderson <rth@redhat.com> |
| |
| * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION. |
| * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands |
| for GIMPLE_TRANSACTION. Tidy if's into a switch. |
| |
| 2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/50031 |
| * targhooks.c (default_builtin_vectorization_cost): Handle |
| vec_promote_demote. |
| * target.h (enum vect_cost_for_stmt): Add vec_promote_demote. |
| * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle |
| all types of reduction and pattern statements. |
| (vect_estimate_min_profitable_iters): Likewise. |
| * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function. |
| (vect_get_load_cost): Use vec_perm for permutations; add dump logic |
| for explicit realigns. |
| (vectorizable_conversion): Call vect_model_promotion_demotion_cost. |
| * config/spu/spu.c (spu_builtin_vectorization_cost): Handle |
| vec_promote_demote. |
| * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise. |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update |
| vec_perm for VSX and handle vec_promote_demote. |
| |
| 2012-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52177 |
| * builtins.c (fold_builtin_atomic_always_lock_free, |
| expand_builtin_atomic_always_lock_free, |
| fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free): |
| Return and/or test boolean_true_node/boolean_false_node instead of |
| integer_one_node/integer_zero_node. |
| |
| 2012-02-10 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/48600 |
| * predict.c (predict_paths_for_bb): Prevent looping. |
| (predict_paths_leading_to_edge, predict_paths_leading_to): Update. |
| |
| 2012-02-10 Roman Zhuykov <zhroma@ispras.ru> |
| |
| * config/arm/arm.c (output_move_double): In one case properly |
| count number of instructions that will be emitted. |
| |
| 2012-02-10 Richard Guenther <rguenther@suse.de> |
| |
| PR translation/52193 |
| * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo. |
| |
| 2012-02-09 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR middle-end/52140 |
| * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P. |
| |
| 2012-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/52165 |
| * var-tracking.c (emit_note_insn_var_location): If |
| EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION, |
| emit it before next non-NOTE_INSN_CALL_ARG_LOCATION |
| non-NOTE_DURING_CALL_P insn. |
| |
| 2012-02-09 Bin Cheng <bin.cheng@arm.com> |
| |
| PR middle-end/51867 |
| * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P. |
| |
| 2012-02-08 Magnus Granberg <zorry@gentoo.org> |
| |
| PR driver/48524 |
| * gcc.c (switch_matches) Support switches with separated form, |
| -D and -U. |
| |
| 2012-02-08 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md (SREG_ADDR): Remove constant definition. |
| (SP_ADDR): Ditto. |
| (RAMPZ_ADDR): Ditto. |
| * config/avr/avr.c (avr_addr_t): New typedef. |
| (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG. |
| (avr_init_expanders): Initialize it. |
| (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR, |
| SREG_ADDR. |
| (expand_epilogue): Ditto. |
| (avr_print_operand): Ditto. |
| (avr_file_start): Ditto. |
| (avr_emit_movmemhi): Ditto. |
| |
| 2012-02-08 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46886 |
| * tree-flow.h (do_while_loop_p): Declare. |
| * tree-ssa-loop-ch.c (do_while_loop_p): Export. |
| * tree-parloops.c (parallelize_loops): Only parallelize do-while loops. |
| |
| 2012-02-08 Andrew MacLeod <amacleod@redhat.com> |
| |
| * optabs.c (expand_atomic_load): Do not assume compare_and_swap will |
| always succeed for integers larger than a native word. |
| |
| 2012-02-08 Richard Guenther <rguenther@suse.de> |
| |
| PR rtl-optimization/52170 |
| * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to |
| properly handle integer vector modes. |
| |
| 2012-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR gcov-profile/52150 |
| * coverage.c: Include target.h. |
| (build_var): Call targetm.strip_name_encoding on the assembler name. |
| Change one _ into . or $ if the target allows it. |
| * Makefile.in (coverage.o): Depend on $(TARGET_H). |
| |
| PR rtl-optimization/52139 |
| * cfgrtl.c (cfg_layout_merge_blocks): If BB_END |
| is a BARRIER after emit_insn_after_noloc, move BB_END |
| to the last non-BARRIER insn before it. |
| |
| 2012-02-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR middle-end/24306 |
| * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function. |
| (mips_gimplify_va_arg_expr): Call it instead of |
| std_gimplify_va_arg_expr. |
| |
| 2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error |
| message for -mno-pointers-to-nested-function. |
| |
| 2012-02-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/51994 |
| * expr.c (get_inner_reference): If there is an offset, add a negative |
| bit position to it (if any). |
| |
| 2012-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/52060 |
| * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables, |
| copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already |
| before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy |
| and/or i0src_copy2 when needed. |
| |
| 2012-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc.c (main): Don't look for lto-wrapper or lto-wrapper |
| or LTOPLUGINSONAME if have_c. |
| |
| * config/freebsd-spec.h: Add comment about what macros can be defined |
| in this header. |
| (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here. |
| * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But |
| here instead. |
| |
| 2012-02-07 Richard Guenther <rguenther@suse.de> |
| |
| * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive |
| newline in -alias dumps. |
| |
| 2012-02-07 Kai Tietz <ktietz@redhat.com> |
| Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR target/40068 |
| * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): |
| Take care that typinfo gets dllexport-attribute. |
| |
| 2012-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/52074 |
| * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL |
| if modifier < EXPAND_SUM call force_operand on the result. |
| |
| 2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine, |
| adding __forwarder_dst__ prefix if a forwarder_section attribute is |
| present. |
| (epiphany_function_type): Replace types for specific interrupts with |
| EPIPHANY_FUNCTION_INTERRUPT. |
| (EPIPHANY_INTERRUPT_P): Update. |
| * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute): |
| New static function. |
| (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9. |
| <disinterrupt>: Affects type identity. |
| (epiphany_handle_interrupt_attribute): Handle variable number of |
| arguments. |
| (epiphany_compute_function_type): Update for new |
| epiphany_function_type definition. |
| (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt |
| handlers with a longcall forwarder. |
| (epiphany_start_function): Handle multiple interrupt arguments and/or |
| forwarder_section attribute. |
| |
| * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after |
| libgloss. |
| |
| 2012-02-07 Alan Modra <amodra@gmail.com> |
| |
| PR target/52107 |
| * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode |
| subregs of TFmode. |
| |
| 2012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/50969 |
| * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to |
| use vec_perm rather than vector_stmt. |
| (vect_model_load_cost): Likewise. |
| * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of |
| vec_perm to be the same as other vector statements. |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise |
| cost of vec_perm for TARGET_VSX. |
| |
| 2012-02-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52115 |
| * tree-sra.c (access_has_replacements_p): New function. |
| (sra_modify_assign): Use it to decide whether a use is uninitialized. |
| |
| 2012-02-06 Patrick Marlier <patrick.marlier@gmail.com> |
| |
| PR middle-end/52047 |
| * trans-mem.c (expand_call_tm): Add an assertion. |
| * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops' |
| functions. |
| |
| 2012-02-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/50955 |
| * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially |
| raise cost of expressions that replace an address with an |
| expression based on a different pointer. |
| |
| 2012-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/52129 |
| * calls.c (mem_overlaps_already_clobbered_arg_p): If val is |
| CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it. |
| |
| 2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com> |
| |
| PR c++/48680 |
| * doc/invoke.texi (C++ Dialect Options): Use @option markup for |
| -Weffc++ and specify guidelines come from second edition. |
| |
| 2012-02-05 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.md (sibcall_internal, sibcall_value_internal) |
| (sibcall_value_multiple_internal, call_split, call_internal_direct) |
| (call_direct_split, call_value_split, call_value_internal_direct) |
| (call_value_direct_split, call_value_multiple_split): Use jal and |
| jal_macro attributes. |
| |
| 2012-02-05 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * reload1.c (reload_regs_reach_end_p): Replace with... |
| (reload_reg_rtx_reaches_end_p): ...this function. |
| (new_spill_reg_store): Update commentary. |
| (emit_input_reload_insns): Don't clear new_spill_reg_store here. |
| (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p |
| before setting new_spill_reg_store. |
| (emit_reload_insns): Use a separate loop to clear new_spill_reg_store. |
| Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p. |
| Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store |
| for non-spill reload registers. |
| |
| 2012-02-05 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/52091 |
| * tree-vectorizer.h (vect_is_simple_use): Add an argument. |
| (vect_is_simple_use_1): Likewise. |
| * tree-vect-loop.c (vectorizable_reduction): Update calls |
| to vect_is_simple_use_1 and vect_is_simple_use. |
| (vectorizable_live_operation): Likewise. |
| * tree-vect-patterns.c (widened_name_p, |
| vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise. |
| * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand, |
| vectorizable_call, vectorizable_conversion, vectorizable_assignment, |
| vectorizable_shift,vectorizable_operation, vectorizable_store, |
| vectorizable_load): Likewise. |
| (vect_is_simple_cond): Add an argument, pass it to |
| vect_is_simple_use_1. |
| (vectorizable_condition): Update calls to vect_is_simple_cond, |
| vect_is_simple_use. |
| (vect_is_simple_use): Add an argument, the statement in which |
| OPERAND is used. Check that if OPERAND's def stmt is a double |
| reduction phi node, the use is a phi node too. |
| (vect_is_simple_use_1): Add an argument, pass it to |
| vect_is_simple_use. |
| * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call |
| to vect_is_simple_use. |
| |
| 2012-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/52095 |
| * modulo-sched.c (dump_insn_locator): New function. |
| (loop_canon_p, sms_schedule): Use it. |
| |
| PR rtl-optimization/52113 |
| * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized |
| even for decomposable shift/zext insns. |
| |
| 2012-02-03 Jakub Jelinek <jakub@redhat.com> |
| Zdenek Dvorak <ook@ucw.cz> |
| |
| PR rtl-optimization/52092 |
| * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared |
| on get_iv_value result. |
| |
| 2012-02-02 Andrew Pinski <apinski@cavium.com> |
| |
| PR middle-end/47982 |
| PR middle-end/43967 |
| * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo. |
| |
| 2012-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/48071 |
| * diagnostic.c (diagnostic_finish): Remove trailing newlines. |
| |
| 2012-02-02 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/49800 |
| * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs. |
| (sched_finish): Call regstat_free_n_sets_and_refs. |
| |
| 2012-02-02 Jia Liu <proljc@gmail.com> |
| |
| * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather |
| than operand 2. |
| |
| 2012-02-02 Jan Hubicka <jh@suse.cz> |
| Tom de Vries <tom@codesourcery.com> |
| |
| PR middle-end/51998 |
| * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases. |
| * varpool.c (varpool_analyze_pending_decls): Likewise. |
| |
| 2012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com> |
| Jayant R Sonar <jayant.sonar@kpitcummins.com> |
| |
| * config.gcc: Add cr16-* support. |
| |
| * doc/extend.texi: Document cr16 extensions. |
| * doc/install.texi: Document cr16 install. |
| * doc/invoke.texi: Document cr16 options. |
| * doc/md.texi: Document cr16 constraints. |
| |
| * common/config/cr16/cr16-common.c: New file. |
| * config/cr16/cr16.c: New file. |
| * config/cr16/cr16.h: New file. |
| * config/cr16/cr16.md: New file. |
| * config/cr16/cr16.opt: New file. |
| * config/cr16/cr16-protos.h: New file. |
| * config/cr16/predicates.md: New file. |
| * config/cr16/constraints.md: New file. |
| * config/cr16/t-cr16: New file. |
| |
| 2012-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/52086 |
| * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check |
| that operands[2] is either immediate, or q_regs_operand. |
| |
| PR tree-optimization/52073 |
| * tree-vect-stmts.c (vect_mark_relevant): When checking uses of |
| a pattern stmt for pattern uses, ignore uses outside of the loop. |
| |
| 2012-02-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c: Resolve all AS1 and AS2 macros. |
| * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove. |
| (OUT_AS1, OUT_AS2): Remove. |
| |
| 2012-02-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR rtl-optimization/51374 |
| * combine.c (can_combine_p): Don't allow volatile_refs_p insns |
| to cross other volatile_refs_p insns. |
| |
| 2012-02-01 Richard Guenther <rguenther@suse.de> |
| |
| * doc/invoke.texi (fno-inline): Clarify documentation. |
| (finline-small-functions): Likewise. |
| (finline-functions): Likewise. |
| * common.opt (finline): Adjust comment and documentation. |
| (finline-small-functions): Clarify documentation. |
| (finline-functions): Likewise. |
| (finline-functions-called-once): Likewise. |
| |
| 2012-02-01 Tristan Gingold <gingold@adacore.com> |
| |
| * c-typeck.c (composite_type): Keep mode for pointers. |
| |
| 2012-01-31 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * function.h (regno_reg_rtx): Adjust comment. |
| * reginfo.c (init_reg_modes_target): Only use the previous mode |
| if it fits within one register. Remove MIPS comment. |
| |
| 2012-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/52058 |
| * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0. |
| |
| 2012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag |
| to srak instruction. |
| |
| 2012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| |
| * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. |
| |
| 2012-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/52041 |
| PR bootstrap/52039 |
| PR target/51974 |
| * ipa-prop.c (detect_type_change_1): Call ao_ref_init. |
| |
| 2012-01-31 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51528 |
| * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate |
| assigns. |
| |
| 2012-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/52041 |
| PR bootstrap/52039 |
| PR target/51974 |
| * ree.c (add_removable_extension): Change def_map argument |
| to unsigned *, store in def_map 1 + offset into *insn_list vector |
| instead of pointers into the vector. |
| (find_removable_extensions): Adjust caller. |
| |
| 2012-01-30 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md: Resolve all AS1 and AS2 macros. |
| Transform all "* quoted-c-code" to { c-code }. |
| Remove redundant test for "optimize" in combine patterns. |
| Move (include "avr-dimode.md") to end of file. |
| |
| 2012-01-30 Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/51835 |
| * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI |
| for __aeabi_d2iz/__aeabi_d2uiz with hard-float. |
| |
| 2012-01-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52028 |
| * tree-loop-distribution.c (ldist_gen): Properly update |
| virtual SSA form. |
| |
| 2012-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/52027 |
| * dwarf2out.c (dwarf2out_switch_text_section): Don't call |
| set_cur_line_info_table if not emitting debug info. |
| |
| PR tree-optimization/52046 |
| * tree-vect-patterns.c (check_bool_pattern): Give up if |
| a comparison could throw. |
| |
| PR debug/52048 |
| * tree-ssa-tail-merge.c (local_def): Ignore debug uses. |
| |
| 2012-01-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52045 |
| * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update |
| SSA form if cfgcleanup did anything. |
| |
| 2012-01-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52045 |
| * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg |
| before computing final todo. |
| |
| 2012-01-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51528 |
| * tree-sra.c (sra_modify_assign): Re-factor in preparation |
| for PR51528 fix. |
| |
| 2012-01-30 Paolo Bonzini <bonzini@gnu.org> |
| |
| * df-problems.c (df_kill_notes): Check that the use refers |
| to the note under examination. |
| |
| 2012-01-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/51920 |
| * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE |
| parameter and use short-lived pseudos. |
| (vector_init_faligndata): Remove INNER_MODE parameter and use loop. |
| (sparc_expand_vector_init): Const-ify local variables and adjust |
| calls to above functions. |
| |
| 2012-01-30 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c (out_movqi_mr_r): Fix length computation. |
| |
| 2012-01-29 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Make usage of "compile time" and |
| "run time"/"runtime" consistent throughout the file. |
| |
| 2012-01-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_option_override): Default to |
| full IEEE compliance mode for Go language. |
| |
| 2011-01-29 Tijl Coosemans <tijl@coosemans.org> |
| |
| * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP] |
| (LINK_SSP_SPEC): Define. |
| |
| 2012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/51871 |
| * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export |
| stubs. |
| |
| 2012-01-28 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Correct hyphenation of "floating point", |
| "double precision", and related terminology throughout the file. |
| |
| 2012-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/52006 |
| * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use |
| arm_general_register_operand predicate for operand 2 instead of |
| register_operand. |
| |
| 2012-01-27 Ian Lance Taylor <iant@google.com> |
| |
| PR go/47656 |
| * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define. |
| * builtins.c (expand_builtin_init_trampoline): Add onstack |
| parameter. Change caller. |
| (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE. |
| * tree.c (build_common_builtin_nodes): Declare |
| __builtin_init_heap_trampoline. |
| |
| 2012-01-27 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx, |
| tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global. |
| * config/avr/avr.c: Ditto. |
| (avr_regnames): Remove because unused. |
| * config/avr/avr.md (*cpse.ne): New peephole. |
| (*cpse.eq): New peephole from former cpse peepholes. |
| |
| 2012-01-27 Michael Eager <eager@eagercon.com> |
| |
| * config/microblaze.c (microblaze_emit_compare): Correct |
| test after pcmp instruction. |
| |
| 2012-01-27 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/52020 |
| * tree-sra.c (sra_modify_assign): Do not transform clobbers. |
| |
| 2012-01-27 Richard Guenther <rguenther@suse.de> |
| |
| * ipa-pure-const.c (check_stmt): Clobbers do not make a |
| function non-const/pure. |
| |
| 2012-01-27 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/50444 |
| * tree-sra.c (build_ref_for_offset): Properly adjust the |
| MEM_REF type for unaligned accesses. |
| |
| 2012-01-27 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/50444 |
| * expr.c (mem_ref_refers_to_non_mem_p): New function. |
| (expand_assignment): Use it. Properly handle misaligned |
| bases when expanding stores to component references. |
| (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and |
| refactor that case. |
| |
| 2012-01-27 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR middle-end/51389 |
| * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H). |
| * tree-data-ref.h (find_data_references_in_loop): Remove declaration. |
| * tree-data-ref.c (find_data_references_in_loop): Make static. |
| (compute_all_dependences): Change return type to bool. Bail out |
| for too many datarefs in a loop. Move the hunk resetting the data |
| dependences vector from ... |
| (compute_data_dependences_for_loop): ... here. Account for |
| compute_all_dependences returning false. |
| (compute_data_dependences_for_bb): Likewise. |
| * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param. |
| * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it. |
| |
| 2012-01-27 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51959 |
| * expr.c (store_field): Use the alias-set of the scratch memory |
| for storing to it. |
| |
| 2012-01-27 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/51990 |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle |
| WITH_SIZE_EXPR. |
| * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same. |
| |
| 2012-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/52001 |
| * var-tracking.c (reverse_op): Don't add any reverse operation |
| if V already has any constant locations. |
| |
| 2012-01-27 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi: Correct usage of "command line" (noun) |
| vs "command-line" (adjective) throughout. |
| |
| 2012-01-27 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Language Independent Options): Move |
| -Wcoverage-mismatch blurb from here.... |
| (Warning Options): ...to here. |
| |
| 2012-01-27 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): |
| Set rs6000_always_hint to false for 476. |
| |
| 2012-01-27 Matthias Klose <doko@ubuntu.com> |
| |
| * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from |
| system root. |
| * incpath.c (add_standard_paths): Likewise. |
| |
| 2012-01-27 Richard Henderson <rth@redhat.com> |
| |
| * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. |
| * config/m68k/sync.md (atomic_test_and_set): Rename from |
| sync_test_and_setqi and adjust the operands. |
| (atomic_test_and_set_1): Rename from sync_test_and_setqi_1 |
| and unconditionally enable. |
| |
| 2012-01-27 Richard Henderson <rth@redhat.com> |
| |
| * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. |
| * config/sparc/sync.md (atomic_test_and_set): Only handle QImode. |
| (ldstub): Rename from ldstubqi. |
| (ldstub<I24MODE>): Remove. |
| |
| 2012-01-27 Richard Henderson <rth@redhat.com> |
| |
| * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. |
| * c-cppbuiltin.c (cpp_atomic_builtins): Define |
| __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. |
| * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook. |
| * doc/tm.texi: Rebuild. |
| |
| 2012-01-27 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (gen_atomic_test_and_set): Remove default. |
| (maybe_emit_atomic_test_and_set): Use maybe_expand_insn. |
| |
| 2012-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/51978 |
| * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx. |
| (combine_reaching_defs): Likewise. |
| (struct re_info): Remove. |
| (add_removable_extension): Remove x and data arguments, |
| add insn, insn_list and def_map. Use the arguments directly |
| instead of using struct re_info. |
| (find_removable_extensions): Don't call add_removable_extension |
| through note_stores, instead just call it with single_set |
| result if non-NULL. |
| (find_and_remove_re): Pass curr_cand->expr instead of |
| PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs. |
| |
| 2012-01-26 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/46590 |
| * cfgexpand.c: Revert last change (r183305). |
| * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple |
| regs. |
| * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before |
| checking for emptiness. |
| |
| 2012-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/51895 |
| * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of |
| non-addressable non-BLKmode base correctly. |
| |
| 2012-01-26 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/48794 |
| * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove |
| regions referenced from RESX/EH_DISPATCH. |
| |
| 2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.h: Make BRANCH_COST an option. |
| * config/s390/s390.opt: New option -mbranch-cost. |
| |
| 2012-01-26 Richard Henderson <rth@redhat.com> |
| |
| Revert 2012-01-24 change: |
| * trans-mem.c (requires_barrier): Do not instrument thread local |
| variables and emit save/restore for them. |
| |
| 2012-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/51986 |
| * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test |
| for pat == 0. |
| |
| 2012-01-25 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_small_data_pattern_1): Don't process |
| ASM_OPERANDS. |
| |
| 2012-01-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49868 |
| Rename __pgm to __flash. |
| Rename __pgm1 to __flash1. |
| Rename __pgm2 to __flash2. |
| Rename __pgm3 to __flash3. |
| Rename __pgm4 to __flash4. |
| Rename __pgm5 to __flash5. |
| Rename __pgmx to __memx. |
| * doc/extend.texi (AVR Named Address Spaces) |
| Rename address space names as indicated above. |
| * config/avr/avr.c (avr_addrspace): Ditto. |
| |
| * config/avr/avr-protos.h |
| (avr_mem_pgmx_p): Rename to avr_mem_memx_p. |
| (avr_mem_pgm_p): Rename to avr_mem_flash_p. |
| * config/avr/predicates.md: Ditto. |
| * config/avr/avr.c Ditto, and |
| (avr_decl_pgmx_p): Rename to avr_decl_memx_p. |
| (avr_decl_pgm_p): Rename to avr_decl_flash_p. |
| |
| * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH. |
| (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1. |
| (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2. |
| (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3. |
| (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4. |
| (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5. |
| (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX. |
| * config/avr/avr.c: Ditto. |
| * config/avr/avr.md: Ditto. |
| |
| 2012-01-25 Jason Merrill <jason@redhat.com> |
| |
| PR c++/51992 |
| * tree.c (find_decls_types_in_node): Walk gimple_call_fntype. |
| |
| 2012-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/51987 |
| * tree-data-ref.c (get_references_in_stmt): Handle references in |
| non-volatile GIMPLE_ASM. |
| |
| 2012-01-25 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both |
| bases are dereferenced. |
| |
| 2012-01-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/48374 |
| * sel-sched-ir.h (get_all_loop_exits): Check for zero successors. |
| |
| 2012-01-25 Andrey Belevantsev <abel@ispras.ru> |
| |
| * tree-predcom.c (tree_predictive_commoning_loop): Bail out when |
| compute_data_dependences_for_loop returns false. |
| * tree-parloops.c (loop_parallel_p): Likewise. |
| |
| 2012-01-25 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (get_pointer_alignment_1): Declare. |
| * builtins.c (get_pointer_alignment_1): New function. |
| (get_pointer_alignment): Use it. |
| |
| 2012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| PR rtl-optimization/48308 |
| * combine.c (enum undo_kind): Add UNDO_LINKS. |
| (struct undo): Add member l to other_contents and where. |
| (do_SUBST_LINK): New. |
| (SUBST_LINK): New. |
| (try_combine): Handle LOG_LINKS for the dummy i1 case. |
| (undo_all): Handle UNDO_LINKS. |
| |
| 2012-01-25 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode |
| mem inputs. |
| |
| 2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * optabs.c (gen_atomic_test_and_set): Use each argument. |
| |
| 2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf) |
| (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>) |
| (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t) |
| (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>) |
| (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than |
| TARGET_PAIRED_SINGLE_FLOAT. |
| |
| 2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete. |
| (in_struct, return_val): Remove MEM documentation. |
| * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val. |
| (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete. |
| (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P |
| and MEM_SCALAR. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. |
| * cfgexpand.c (add_alias_set_conflicts): Likewise. |
| * expr.c (store_field): Likewise. |
| * function.c (assign_stack_temp_for_type): Likewise. |
| * ifcvt.c (noce_try_cmove_arith): Likewise. |
| * reload1.c (reload): Likewise. |
| * config/alpha/alpha.c (alpha_set_memflags_1): Likewise. |
| (alpha_set_memflags): Likewise. |
| * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify. |
| |
| 2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * rtl.h (true_dependence, canon_true_dependence): Remove varies |
| parameter. |
| * alias.c (fixed_scalar_and_varying_struct_p): Delete. |
| (true_dependence_1, write_dependence_p, may_alias_p): Don't call it. |
| (true_dependence_1, true_dependence, canon_true_dependence): Remove |
| varies parameter. |
| * cselib.c (cselib_rtx_varies_p): Delete. |
| (cselib_invalidate_mem): Update call to canon_true_dependence. |
| * dse.c (record_store, check_mem_read_rtx): Likewise. |
| (scan_reads_nospill): Likewise. |
| * cse.c (check_dependence): Likewise. |
| (cse_rtx_varies_p): Delete. |
| * expr.c (safe_from_p): Update call to true_dependence. |
| * ira.c (validate_equiv_mem_from_store): Likewise. |
| (memref_referenced_p): Likewise. |
| * postreload-gcse.c (find_mem_conflicts): Likewise. |
| * sched-deps.c (sched_analyze_2): Likewise. |
| * store-motion.c (load_kills_store): Likewise. |
| * config/frv/frv.c (frv_registers_conflict_p_1): Likewise. |
| * gcse.c (mems_conflict_for_gcse_p): Likewise. |
| (compute_transp): Update call to canon_true_dependence. |
| |
| 2012-01-25 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (CODE_FOR_atomic_test_and_set): Provide default. |
| (maybe_emit_atomic_test_and_set): New. |
| (expand_sync_lock_test_and_set): Use it. |
| (expand_atomic_test_and_set): Likewise. |
| * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match |
| the implementation; clarify implementation defined details. |
| * doc/md.texi (atomic_test_and_set): Document. |
| |
| 2012-01-25 Richard Henderson <rth@redhat.com> |
| |
| * config/sparc/predicates.md (zero_or_v7_operand): Use match_code. |
| |
| 2012-01-25 Richard Henderson <rth@redhat.com> |
| |
| PR target/51968 |
| * config/arm/arm.c (neon_split_vcombine): Emit deleted note |
| to effect no-op split. |
| |
| 2012-01-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR lto/51698 |
| * builtin-types.def: (BT_CONST_DOUBLE_PTR): New. |
| (BT_FN_VOID_PTR_CONST_PTR_SIZE): New. |
| (BT_FN_VOID_PTR_INT_SIZE): New. |
| (BT_FN_UINT_UINT_VAR): Remove. |
| (BT_FN_UINT32_UINT32_VAR): New. |
| (BT_FN_DOUBLE_VPTR): Remove. |
| (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New. |
| |
| * gtm-builtins.def (_ITM_abortTransaction): Set return type to void. |
| (_ITM_changeTransactionMode): Same. |
| (_ITM_memmoveRtWt): Change return type to void. |
| (_ITM_memcpyRtWt): Same. |
| (_ITM_memsetW): Same. |
| (_ITM_RaRD): Change types to double. |
| (_ITM_RD): Same. |
| (_ITM_RaWD): Same. |
| (_ITM_RfWD): Same. |
| |
| * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true. |
| |
| 2012-01-24 Aldy Hernandez <aldyh@redhat.com> |
| Patrick Marlier <patrick.marlier@gmail.com> |
| |
| * trans-mem.c (requires_barrier): Do not instrument thread local |
| variables and emit save/restore for them. |
| |
| 2012-01-24 Jason Merrill <jason@redhat.com> |
| |
| PR c++/51812 |
| * cgraphunit.c (cgraph_decide_is_function_needed): Don't always |
| output static aliases. |
| |
| 2012-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR driver/47249 |
| * common.opt (-pie, -shared, pie, shared): Change from Common to |
| Driver. |
| * gcc.c (display_help): Display help for -pie and -shared. |
| |
| 2012-01-24 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49868 |
| * doc/extend.texi (AVR Named Address Spaces): Move sample code up. |
| Remove note on size/offset limitation. |
| (AVR Variable Attributes): Add example how to read data located |
| with progmem. Refer to named address spaces. |
| * doc/invoke.texi (AVR Options): Fix typo. |
| |
| 2012-01-24 Richard Guenther <rguenther@suse.de> |
| |
| Forward-port to trunk |
| 2010-09-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45678 |
| * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If |
| op0 isn't sufficiently aligned and there is movmisalignM |
| insn for mode, use it to load op0 into a temporary register. |
| |
| 2012-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/51957 |
| * target.def (const_not_ok_for_debug_p): New hook. |
| * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook |
| documentation. |
| * doc/tm.texi: Regenerated. |
| * dwarf2out.c (const_ok_for_output_1): If |
| targetm.const_not_ok_for_debug_p returns true, fail. |
| * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New |
| function. |
| (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine. |
| |
| 2012-01-23 Kai Tietz <ktietz@redhat.com> |
| |
| PR target/51900 |
| * config/i386/predicates.md (symbolic_operand): Allow |
| UNSPEC_PCREL as PIC expression for lea. |
| * config/i386/winnt.c (i386_pe_binds_local_p): Reworked. |
| * config/i386/i386.c (ix86_delegitimize_address): Handle |
| UNSPEC_PCREL for none-MEM, too. |
| |
| 2012-01-23 Aldy Hernandez <aldyh@redhat.com> |
| |
| * trans-mem.c (ipa_tm_create_version): Set externally_visible. |
| (ipa_tm_create_version_alias): Same. |
| |
| 2012-01-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR libitm/51830 |
| * builtin-types.def (BT_FN_UINT_UINT_VAR): New. |
| * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR. |
| |
| 2012-01-23 Aldy Hernandez <aldyh@redhat.com> |
| Patrick Marlier <patrick.marlier@gmail.com> |
| Iain Sandoe <developer@sandoe-acoustics.co.uk> |
| |
| PR lto/51916 |
| * lto-wrapper.c (run_gcc): Pass the LTO section name to |
| simple_object_start_read. |
| |
| 2012-01-23 Richard Guenther <rguenther@suse.de> |
| |
| |
| PR tree-optimization/51895 |
| * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal |
| parameter decomposition into BLKmode components. |
| |
| 2012-01-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-structalias.c (intra_create_variable_infos): Do not create |
| fake variables for restrict-qualified pointers whose pointed-to type |
| contains a placeholder. |
| |
| 2012-01-23 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51949 |
| * ipa-split.c (execute_split_functions): Do not split malloc functions. |
| |
| 2012-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/51933 |
| * ree.c (transform_ifelse): Return true right away if dstreg is |
| already wider or equal to cand->mode. |
| (enum ext_modified_kind, struct ext_modified, ext_state): New types. |
| (make_defs_and_copies_lists): Remove defs_list and copies_list |
| arguments, add state argument, just truncate state->work_list |
| instead of always allocating and freeing the vector. Assert that |
| get_defs succeeds instead of returning 2. Changed return type to bool. |
| (merge_def_and_ext): Add state argument. If SET_DEST doesn't |
| have ext_src_mode, see if it has been modified already with the |
| right kind of extension and has been extended before from the |
| ext_src_mode. If SET_DEST is already wider or equal to cand->mode, |
| just return true. Remember the original mode in state->modified array. |
| (combine_reaching_defs): Add state argument. Don't allocate and |
| free here def_list, copied_list and vec vectors, instead just |
| VEC_truncate the vectors in *state. Don't handle outcome == 2 here. |
| (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag. |
| Add state variable, clear vectors in it, initialize state.modified |
| if needed. Free all the vectors at the end and state.modified too. |
| Don't skip a candidate if the extension expression has been modified. |
| |
| 2012-01-22 Douglas B Rupp <rupp@gnat.com> |
| |
| PR target/47096 |
| * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete |
| configurations. Change triplet to i[34567]86-*-interix[3-9]*. |
| (extra_options) interix.opt -> i386/interix.opt" |
| (extra_objs):Add winnt-stubs.o |
| * configure.ac: Add interix to target_os .comm on PE check. |
| * configure: Regenerate. |
| * config/interix3.h: Delete and move bits to.. |
| * config/interix.h: Delete and move bits to.. |
| * config/i386/i386-interix3.h: Delete and move bits to.. |
| * config/i386/i386-interix.h: ..here. |
| (TARGET_CPU_DEFAULT): Remove redefinition. |
| (TARGET_ASM_CONSTRUCTOR): Undefine. |
| (SUBTARGET_SWITCHES): Define for ms-bitfields. |
| (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec. |
| (PTRDIFF_TYPE): Define. |
| (LONG_DOUBLE_TYPE_SIZE): Define. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. |
| (SUBTARGET_OVERRIDE_OPTIONS): Remove. |
| (TARGET_SECTION_TYPE_FLAGS): Define. |
| (ASM_DECLARE_FUNCTION_NAME): Define. |
| (ASM_OUTPUT_EXTERNAL): Define. |
| (ASM_OUTPUT_EXTERNAL_LIBCALL): Define. |
| (ASM_OUTPUT_ALIGNED_BSS): Define. |
| (PCC_BITFIELD_TYPE_MATTERS): Define. |
| (USE_CONST_SECTION): Define. |
| (SUBTARGET_ENCODE_SECTION_INFO): Remove. |
| (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove. |
| (SUPPORTS_ONE_ONLY): Remove. |
| (I386_PE_STRIP_ENCODING): Define. |
| * config/interix.opt: Delete and move bits to.. |
| * config/i386/interix.opt: ..here. New. |
| (mpe-aligned-commons): Add. |
| * config/i386/t-interix: Add copyright header. |
| (winnt-stubs.o): Add rule. |
| |
| 2012-01-22 Jason Merrill <jason@redhat.com> |
| |
| PR c++/51832 |
| * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL |
| for extra name aliases. |
| |
| 2012-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/51924 |
| * ree.c (combine_set_extension): Improve debugging message. |
| (combine_reaching_defs): Likewise. |
| (get_defs): Rename confusingly named variable. |
| (find_and_remove_re): Skip a candidate if the extension expression has |
| been modified. |
| |
| 2012-01-21 Robert Millan <rmh@gnu.org> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro. |
| (GNU_USER_DYNAMIC_LINKER): Adjust indentation. |
| |
| 2012-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/51914 |
| * tree-vect-stmts.c (vectorizable_conversion): For |
| cvt_type && modifier == WIDEN, put temporary with cvt_type |
| at the beginning of vec_dsts and set vec_dest to temporary |
| with vectype_out. |
| |
| 2012-01-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK. |
| |
| 2011-01-20 Tijl Coosemans <tijl@coosemans.org> |
| |
| * config/i386/i386.c: Fix checks for !TARGET_MACHO. |
| * config/rs6000/rs6000.c: Likewise. |
| |
| 2012-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/51915 |
| * config/arm/arm.c (arm_count_output_move_double_insns): Call |
| output_move_double on a copy of operands array. |
| |
| 2012-01-20 Cary Coutant <ccoutant@google.com> |
| Dodji Seketeli <dodji@redhat.com> |
| |
| PR debug/45682 |
| * dwarf2out.c (copy_declaration_context): Return ref to parent |
| of declaration DIE, if necessary. |
| (remove_child_or_replace_with_skeleton): Add new parameter; update |
| caller. Place skeleton DIE under parent DIE of original declaration. |
| Move call to copy_declaration_context to here ... |
| (break_out_comdat_types): ... from here. |
| |
| 2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR rtl-optimization/51856 |
| * reload.c (find_reloads_subreg_address): Set the address_reloaded |
| flag to reloaded. |
| |
| 2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| PR target/51819 |
| * config/arm/arm.c (arm_print_operand): Correct output of alignment |
| hints for neon loads and stores. |
| |
| 2012-01-20 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49868 |
| PR target/50887 |
| * doc/extend.texi (Named Address Spaces): Split into subsections. |
| (AVR Named Address Spaces): New subsection. |
| (M32C Named Address Spaces): New subsection. |
| (RL78 Named Address Spaces): New subsection. |
| (SPU Named Address Spaces): New subsection. |
| (Variable Attributes): New anchor "AVR Variable Attributes". |
| (AVR Variable Attributes): Rewrite and avoid wording |
| "address space" in this context. |
| * doc/invoke.texi (AVR Options): Rewrite and add documentation |
| for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls. |
| (AVR Built-in Macros): New subsubsection therein. |
| * doc/md.texi (AVR constraints): Remove "C04", "R". |
| |
| 2012-01-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51903 |
| * tree-ssa-pre.c (eliminate): Properly purging of EH edges |
| when removing stmts. |
| |
| 2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
| |
| PR target/50313 |
| * config/arm/arm.c (arm_load_pic_register): Use |
| gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit |
| , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four. |
| (arm_pic_static_addr): Likewise. |
| (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED. |
| (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED. |
| * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define. |
| (pic_load_addr_unified): New. |
| |
| 2012-01-20 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/51106 |
| * function.c (instantiate_virtual_regs_in_insn): Use |
| delete_insn_and_edges when removing a wrong asm insn. |
| |
| 2012-01-19 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/40761 |
| * ira-int.h (struct ira_loop_tree_node): Add comment for member loop. |
| Add new member loop_num. |
| (IRA_LOOP_NODE_BY_INDEX): Modify the check. |
| (ira_build): Remove the parameter. |
| |
| * ira.c (ira_print_disposition): Use loop_num instead of loop->num. |
| (ira.c): Do not build CFG loops for one region allocation. Remove |
| argument from ira_build call. |
| |
| * ira-build.c (init_loop_tree_node): New function. |
| (create_loop_tree_nodes): Use it. Separate the case when CFG |
| loops are not built. |
| (more_one_region_p): Check current_loops. |
| (finish_loop_tree_nodes): Separate the case when CFG loops are not |
| built. |
| (add_loop_to_tree): Process loop equal to NULL too. |
| (form_loop_tree): Separate the case when CFG loops are not built. |
| Use explicitly number for the root. |
| (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add |
| an assertion. |
| (ira_print_expanded_allocno, loop_compare_func): Use loop_num |
| instead of loop->num. |
| (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num. |
| (mark_all_loops_for_removal): Ditto. |
| (remove_unnecessary_regions): Separate the case when CFG loops |
| are not built. |
| (ira_build): Remove the parameter. Use explicit number of regions |
| when CFG loops are not built. |
| |
| * ira-color.c (print_loop_title): Separate the case for the root node. |
| Use loop_num instead of loop->num. |
| (move_spill_restore): Use loop_num instead of loop->num. |
| |
| * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion. |
| (change_loop): Ditto. |
| (change_loop): Use loop_num instead of loop->num. |
| |
| * ira-lives.c (process_bb_node_lives): Ditto. |
| |
| * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto. |
| |
| * ira-conflicts.c (print_allocno_conflicts): Ditto. |
| |
| 2012-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libmudflap/40778 |
| * tree-mudflap.c (mf_artificial): New function. |
| (execute_mudflap_function_ops, execute_mudflap_function_decls, |
| mx_register_decls, mudflap_enqueue_decl): Use it. |
| |
| PR target/51876 |
| * config/arm/neon.md (*neon_vswp<mode>): Fix up operand |
| numbers in the insn pattern. |
| |
| 2012-01-19 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/46590 |
| * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument, |
| use it in remembering which conflicts we already created. |
| (add_scope_conflicts): Adjust call to above, (de)allocate helper |
| bitmap. |
| |
| 2012-01-19 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR lto/51280 |
| * lto-wrapper.c (run_gcc): Pass -fgnu_tm on. |
| (merge_and_complain): Same. |
| |
| 2012-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/50237 |
| * config/initfini-array.h: Guard content of the header |
| with #ifdef HAVE_INITFINI_ARRAY. |
| * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file. |
| Add initfini-array.h to tm_file here. |
| * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test. |
| * config.gcc: Don't add initfini-array.h to tm_file here. |
| * configure: Regenerated. |
| |
| 2012-01-19 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/51505 |
| * df-problems.c (df_kill_notes): New parameter live. Update comment. |
| Remove REG_EQUAL/REG_EQUIV notes referring to dead registers. |
| (df_note_bb_compute): Update the call to df_kill_notes. |
| |
| 2012-01-18 Aldy Hernandez <aldyh@redhat.com> |
| |
| * trans-mem.c (requires_barrier): Remove call to is_global_var. |
| |
| 2012-01-18 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa.c (useless_type_conversion_p): Remove special-casing |
| of conversions to void *. |
| |
| 2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR middle-end/50325 |
| PR middle-end/51192 |
| * optabs.h (simplify_expand_binop): Declare. |
| * optabs.c (simplify_expand_binop): Make global. |
| * expmed.c (store_bit_field_1): Use simplify_expand_binop on big |
| endian targets if the source cannot be exactly covered by word |
| mode chunks. |
| |
| 2012-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51872 |
| * hard-reg-set.h (struct hard_reg_set_container): New type. |
| * target.h (struct hard_reg_set_container): Forward declare. |
| * target.def (set_up_by_prologue): New target hook. |
| * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it. |
| * doc/tm.texi: Regenerated. |
| * function.c (thread_prologue_and_epilogue_insns): Change |
| set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container. |
| Call targetm.set_up_by_prologue on it. |
| * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function. |
| (TARGET_SET_UP_BY_PROLOGUE): Redefine to it. |
| |
| 2012-01-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_can_use_simple_return): New function. |
| * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype. |
| * config/rx/rx.md (return): Predicate on rx_can_use_simple_return. |
| |
| 2012-01-17 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51782 |
| * expr.c (expand_assignment): Take address-space information |
| from the address operand of MEM_REF and TARGET_MEM_REF. |
| (expand_expr_real_1): Likewise. |
| |
| 2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * ira.c (do_reload): Make sure ira_dump_file is re-set if no |
| reload dump is requested. |
| |
| 2012-01-17 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR other/51165 |
| * trans-mem.c (requires_barrier): Call may_be_aliased. |
| |
| 2012-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/51877 |
| * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever |
| call arguments and fndecls compare equal, instead return false if they |
| don't. Return true only if lhs1 and lhs2 are either both NULL, or |
| both SSA_NAMEs that are valueized the same, or they satisfy |
| operand_equal_p. |
| |
| 2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on |
| Solaris 11+. |
| * configure: Regenerate. |
| |
| 2012-01-16 Jan Hubicka <jh@suse.cz> |
| |
| PR c/12245 |
| PR c++/14179 |
| * convert.c (convert_to_integer): Use fold_convert for |
| converting an INTEGER_CST to integer type. |
| |
| 2012-01-16 Jason Merrill <jason@redhat.com> |
| |
| PR c++/14179 |
| * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size. |
| |
| 2012-01-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51860 |
| * config/s390/s390.c (s390_chunkify_start): Don't skip |
| call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip |
| NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes. |
| If insn is followed by NOTE_INSN_VAR_LOCATION or |
| NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes. |
| Don't use location of note insns. |
| |
| PR tree-optimization/51865 |
| * tree-inline.c (tree_function_versioning): Call remap_decl |
| on DECL_RESULT whenever it has VOID_TYPE_P type. |
| |
| 2012-01-15 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips16_build_call_stub): Don't use a stub |
| for calls to locally-binding MIPS16 functions if only the return |
| type uses float regs. |
| |
| 2012-01-15 Chung-Lin Tang <cltang@codesourcery.com> |
| Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete. |
| (SYMBOL_32_HIGH): Likewise. |
| (mips_output_tls_reloc_directive): Declare. |
| * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md. |
| (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare. |
| * config/mips/mips.c (mips_use_pcrel_pool_p): New variable. |
| (mips_lo_relocs, mips_hi_relocs): Make extern. |
| (mips16_stub_function): Move up file. |
| (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling. |
| (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too. |
| (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p. |
| (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of |
| SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false. |
| (mips_get_tp): Add MIPS16 support. |
| (mips_legitimize_tls_address): Remove MIPS16 sorry(). |
| Generalize DTPREL and TPREL handling. |
| (mips_init_relocs): Initialize mips_use_pcrel_pool_p. |
| Add MIPS16 TLS support. |
| (mips_output_tls_reloc_directive): New function. |
| (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs. |
| * config/mips/predicates.md (symbolic_operand_with_high) |
| (tls_reloc_operand): New predicates. |
| (force_to_mem_operand): Use mips_use_pcrel_pool_p. |
| * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec. |
| (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h. |
| (*unshifted_high): New instruction. Use it for MIPS16 high splitter. |
| (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns. |
| (*tls_get_tp_mips16_call_<mode>): Likewise. |
| |
| 2012-01-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/51821 |
| * recog.c (peep2_find_free_register): Determine clobbered registers |
| from insn pattern. |
| |
| 2012-01-14 Denis Chertykov <chertykov@gmail.com> |
| |
| PR target/50925 |
| * config/avr/avr-protos.h: Revert change of 2012-01-09. |
| * config/avr/avr.c: Likewise. |
| * config/avr/avr.h: Likewise. |
| |
| 2012-01-13 Ian Lance Taylor <iant@google.com> |
| |
| PR c++/50012 |
| * tree.h (TYPE_QUALS): Add cast to int. |
| (TYPE_QUALS_NO_ADDR_SPACE): Likewise. |
| |
| 2012-01-13 Ian Lance Taylor <iant@google.com> |
| |
| * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when |
| comparing param_index to VEC_length result. |
| |
| 2012-01-13 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * c-decl.c: Do not include tree-mudflap.h |
| * tree-optimize.c: Likewise. |
| * Makefile.in: Update dependencies. |
| |
| 2012-01-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/8081 |
| * gimplify.c (gimplify_modify_expr_rhs): For calls with a |
| variable-sized result always use RSO. |
| |
| 2012-01-12 DJ Delorie <dj@redhat.com> |
| |
| * cfgexpand.c (convert_debug_memory_address): Allow any valid |
| pointer type, not just the default pointer type. |
| |
| 2012-01-09 Richard Henderson <rth@redhat.com> |
| Denis Chertykov <chertykov@gmail.com> |
| |
| PR target/50925 |
| * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare. |
| * config/avr/avr.c (avr_can_eliminate): Simplify. |
| (avr_initial_elimination_offset): Likewise. |
| (avr_prologue_setup_frame): Use hard_frame_pointer_rtx. |
| (expand_epilogue): Likewise. |
| (avr_legitimize_address): Gut. |
| (avr_legitimize_reload_address): Use hard_frame_pointer_rtx. |
| (avr_hard_regno_nregs): New. |
| (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers. |
| (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers. |
| * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer, |
| add soft frame pointer. |
| (CALL_USED_REGISTERS): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| (REGISTER_NAMES): Likewise. |
| (HARD_REGNO_NREGS): Use avr_hard_regno_nregs. |
| (HARD_FRAME_POINTER_REGNUM): New. |
| (FRAME_POINTER_REGNUM): Use soft frame pointer. |
| (ELIMINABLE_REGS): Eliminate from the soft frame pointer, |
| remove the HARD_FRAME_POINTER self-elimination. |
| |
| 2012-01-12 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/51756 |
| * config/avr/avr.c (avr_encode_section_info): Test for absence of |
| DECL_EXTERNAL when checking for initializers of progmem variables. |
| |
| 2012-01-12 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/51799 |
| * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check |
| that the last operation is a type demotion. |
| |
| 2012-01-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template. |
| (x86_shift<mode>_adj_1): Remove operand constraint from operand 3. |
| |
| 2012-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51796 |
| * combine.c (distribute_notes): If i3 is a noreturn call, |
| allow old_size to be equal to args_size and make sure the |
| noreturn call gets REG_ARGS_SIZE note. |
| * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes |
| on noreturn calls even when the delta is 0. |
| |
| 2012-01-11 Nathan Sidwell <nathan@acm.org> |
| |
| * gcov.c (STRING_SIZE): Remove. |
| (generate_results): Erase annotations for source files with no |
| coverage information. |
| (read_line): New. |
| (output_lines): Use it. |
| |
| 2012-01-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple.h (gimplify_body): Remove first argument. |
| * gimplify.c (copy_if_shared): Add DATA argument. Do not create the |
| pointer set here, instead just pass DATA to walk_tree. |
| (unshare_body): Remove BODY_P argument and adjust. Create the pointer |
| set here and invoke copy_if_shared on the size trees of DECL_RESULT. |
| (unvisit_body): Likewise, but with unmark_visited. |
| (gimplify_body): Remove BODY_P argument and adjust. |
| (gimplify_function_tree): Adjust call to gimplify_body. |
| * omp-low.c (finalize_task_copyfn): Likewise. |
| |
| 2012-01-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.h (build_function_decl_skip_args): Add boolean parameter. |
| (build_function_type_skip_args): Delete. |
| * tree.c (build_function_type_skip_args): Make static and add |
| SKIP_RETURN parameter. Fix thinko in the handling of variants. |
| (build_function_decl_skip_args): Add SKIP_RETURN parameter and |
| pass it to build_function_type_skip_args. |
| * cgraph.h (cgraph_function_versioning): Add boolean parameter. |
| (tree_function_versioning): Likewise. |
| * cgraph.c (cgraph_create_virtual_clone): Adjust call to |
| build_function_decl_skip_args. |
| * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter |
| and pass it to build_function_decl_skip_args/tree_function_versioning. |
| (cgraph_materialize_clone): Adjust call to tree_function_versioning. |
| * ipa-inline-transform.c (save_inline_function_body): Likewise. |
| * trans-mem.c (ipa_tm_create_version): Likewise. |
| * tree-sra.c (modify_function): Ditto for cgraph_function_versioning. |
| * tree-inline.c (declare_return_variable): Remove always-true test. |
| (tree_function_versioning): Add SKIP_RETURN parameter. If the function |
| returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL. |
| * ipa-split.c (split_function): Skip the return value for the split |
| part if it doesn't return. |
| |
| 2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/49642 |
| * ipa-split.c (forbidden_dominators): New variable. |
| (check_forbidden_calls): New function. |
| (dominated_by_forbidden): Likewise. |
| (consider_split): Check for forbidden dominators. |
| (execute_split_functions): Initialize and free forbidden |
| dominators info; call check_forbidden_calls. |
| |
| 2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| |
| * config/arm/arm.md (mov_notscc): Use MVN for false condition. |
| |
| 2012-01-11 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.md (return): Define pattern. |
| |
| 2012-01-11 Richard Guenther <rguenther@suse.de> |
| |
| * doc/extend.texi (malloc attribute): Adjust according to |
| implementation. |
| |
| 2012-01-10 Aldy Hernandez <aldyh@redhat.com> |
| Patrick Marlier <patrick.marlier@gmail.com> |
| |
| PR middle-end/51516 |
| * trans-mem.c (get_cg_data): Traverse aliases if requested. |
| (ipa_tm_scan_calls_block): Update parameters to get_cg_data. |
| (ipa_tm_note_irrevocable): Same. |
| (ipa_tm_scan_irr_block): Same. |
| (ipa_tm_decrement_clone_counts): Same. |
| (ipa_tm_scan_irr_function): Same. |
| (ipa_tm_create_version_alias): Same. |
| (ipa_tm_create_version): Same. |
| (ipa_tm_transform_calls_redirect): Same. |
| (ipa_tm_transform_calls): Same. |
| (ipa_tm_transform_transaction): Same. |
| (ipa_tm_execute): Same. |
| |
| 2012-01-10 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51806 |
| * opts.c (common_handle_option): Handle -Werror. |
| |
| 2012-01-10 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix |
| operand number. |
| |
| 2012-01-10 Jason Merrill <jason@redhat.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6 |
| information. |
| |
| 2012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker |
| supports R_386_TLS_GD_PLT reloc. |
| (gcc_cv_as_ix86_tlsldmplt): Check if linker |
| supports R_386_TLS_LDM_PLT reloc. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2012-01-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/49868 |
| Extend __pgmx semantics to linearize memory. |
| * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to |
| determine if code comes inline or from libgcc. |
| (MOVMEM_r_d:HI): Add "w" to constraint for better preference. |
| (movmem_qi, movmem_qi): Set constraint #2 to "n". |
| (movmem_qi_elpm, movmem_hi_elpm): Remove insns. |
| (movmemx_qi, movmemx_hi): New insns. |
| (xload_<mode>_libgcc): Rewrite to new insn condition. |
| (xload_<mode>): Remove insns. |
| * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle |
| cases that don't satisfy avr_xload_libgcc_p(). |
| (avr_addr_space_convert): Allow converting in any direction. |
| (avr_addr_space_subset_p): Return always true. |
| (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics. |
| (avr_emit_movmemhi): Ditto. |
| (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more. |
| (avr_out_movmem): Ditto. |
| (AVR_SYMBOL_FLAG_PROGMEM): New macro. |
| (AVR_SYMBOL_SET_ADDR_SPACE): New macro. |
| (AVR_SYMBOL_GET_ADDR_SPACE): New macro. |
| (avr_encode_section_info): Encode 'progmem' in symbol flags. |
| (output_reload_in_const): Don't zero-extend any 24-bit symbols. |
| |
| 2012-01-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/50913 |
| * graphite-scop-detection.c (stmt_has_simple_data_refs_p): |
| Require data-refs to be representable by Graphite with respect |
| to any loop nest. |
| |
| 2012-01-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/constraints.md ("L"): Return true for 0xffffffff. |
| * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV. |
| |
| 2012-01-10 Tom de Vries <tom@codesourcery.com> |
| |
| PR rtl-optimization/51271 |
| * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when |
| handling annulled branch. |
| |
| 2012-01-10 Richard Henderson <rth@redhat.com> |
| |
| * config/arm/arm.c (arm_vectorize_vec_perm_const_ok, |
| TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN, |
| struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm, |
| arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev, |
| arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1, |
| arm_expand_vec_perm_const): New. |
| * config/arm/arm-protos.h: Update. |
| * config/arm/neon.md (UNSPEC_VCONCAT): New. |
| (*neon_vswp<VDQX>): New. |
| (neon_vcombine<VDX>): Use neon_split_vcombine. |
| (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New. |
| * config/arm/vec-common.md (vec_perm_const<VALL>): New. |
| (vec_perm<VE>): New. |
| |
| 2012-01-10 Richard Henderson <rth@redhat.com> |
| |
| * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument; |
| use it if reload_completed. |
| (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count, |
| arm_output_asm_insn, arm_process_output_memory_barrier, |
| arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex, |
| arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3, |
| arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND, |
| arm_process_output_sync_insn, arm_output_sync_insn, |
| arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove. |
| (arm_pre_atomic_barrier, arm_post_atomic_barrier): New. |
| (arm_emit_load_exclusive, arm_emit_store_exclusive): New. |
| (emit_unlikely_jump): New. |
| (arm_expand_compare_and_swap, arm_split_compare_and_swap): New. |
| (arm_split_atomic_op): New. |
| * config/arm/arm-protos.h: Update. |
| * config/arm/arm.h (enum arm_sync_generator_tag): Remove. |
| (struct arm_sync_generator): Remove. |
| * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK, |
| VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove. |
| (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New. |
| (VUNSPEC_LL, VUNSPEC_SC): New. |
| (sync_result, sync_memory, sync_required_value, sync_new_value, |
| sync_t1, sync_t2, sync_release_barrier, sync_op): Remove. |
| (attr length): Don't use arm_sync_loop_insns. |
| (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg. |
| (movsfcc, movdfcc): Likewise. |
| * config/arm/constraints.md (Ua): New. |
| * config/arm/prediates.md (mem_noofs_operand): New. |
| (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove. |
| (sync_clobber, sync_t2_reqd): Remove. |
| (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove. |
| (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove. |
| (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove. |
| (arm_sync_compare_and_swap<SIDI>): Remove. |
| (arm_sync_compare_and_swap<NARROW>): Remove. |
| (arm_sync_lock_test_and_set<SIDI>): Remove. |
| (arm_sync_lock_test_and_set<NARROW>): Remove. |
| (arm_sync_new_<syncop><SIDI>): Remove. |
| (arm_sync_new_<syncop><NARROW>): Remove. |
| (arm_sync_new_nand<SIDI>): Remove. |
| (arm_sync_new_nand<NARROW>): Remove. |
| (arm_sync_old_<syncop><SIDI>): Remove. |
| (arm_sync_old_<syncop><NARROW>): Remove. |
| (arm_sync_old_nand<SIDI>): Remove. |
| (arm_sync_old_nand<NARROW>): Remove. |
| (*memory_barrier): Merge arm_output_memory_barrier. |
| (atomic_compare_and_swap<QHSD>): New. |
| (atomic_compare_and_swap<NARROW>_1): New. |
| (atomic_compare_and_swap<SIDI>_1): New. |
| (atomic_exchange<QHSD>): New. |
| (cas_cmp_operand, cas_cmp_str): New. |
| (atomic_op_operand, atomic_op_str): New. |
| (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New. |
| (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New. |
| (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New. |
| (arm_load_exclusive<NARROW>): New. |
| (arm_load_exclusivesi, arm_load_exclusivedi): New. |
| (arm_store_exclusive<QHSD>): New. |
| |
| 2012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF |
| reload patterns if -mvsx-scalar-memory. |
| |
| * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be |
| generated, even -mno-vsx-scalar-double was used. |
| (vsx_xscvdpsp_scalar): Likewise. |
| (vsx_xscvspdp_scalar2): Likewise. |
| |
| 2012-01-09 Tom de Vries <tom@codesourcery.com> |
| Andrew Pinski <apinski@cavium.com> |
| |
| PR debug/51471 |
| * reorg.c (fill_slots_from_thread): Don't speculate |
| frame-related insns. |
| |
| 2012-01-09 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * sched-int.h (bb_note): Move to... |
| * basic-block.h: ...here. |
| * haifa-sched.c (bb_note): Move to... |
| * cfgrtl.c: ...here. |
| * function.c (next_block_for_reg): New function. |
| (move_insn_for_shrink_wrap): Likewise. |
| (prepare_shrink_wrap): Rewrite to use the above. |
| |
| 2012-01-09 Aldy Hernandez <aldyh@redhat.com> |
| |
| * gimple.c (is_gimple_non_addressable): Remove. |
| * gimple.h: Remove is_gimple_non_addressable. |
| * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of |
| is_gimple_non_addressable. |
| * trans-mem.c (expand_assign_tm): Same. |
| |
| 2012-01-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51775 |
| * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts. |
| * tree-ssa-pre.c (eliminate): Properly fixup EH info. |
| |
| 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for |
| tuning parameters. |
| * config/arm/arm.c (arm_cortex_a15_tune): New static variable. |
| |
| 2012-01-09 Richard Guenther <rguenther@suse.de> |
| |
| * tree-streamer-out.c (write_ts_optimization): Fix spelling. |
| |
| 2012-01-08 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/51680 |
| * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition |
| on when known_vals needs to be computed; cleanup. |
| |
| 2012-01-08 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/51694 |
| * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks. |
| |
| 2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> |
| |
| * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined |
| for -std=c++98 and -std=c++11 too. |
| |
| 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * cfgloop.c (cancel_loop): Add free() of bbs array. |
| |
| 2012-01-07 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/51600 |
| * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code |
| that benefits small functions. |
| |
| 2012-01-07 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-inline.c (want_inline_small_function_p): Fix formating. |
| |
| 2012-01-07 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/51680 |
| * ipa-inline.c (want_inline_small_function_p): Be more lax on functions |
| whose inlining reduce unit size. |
| |
| 2012-01-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR bootstrap/51725 |
| * cselib.c (new_elt_loc_list): Promote addr_list to canonical node. |
| Add canonical node to containing_mem chain after the non-canonical |
| one, even if there weren't any locs to propagate. |
| (remove_useless_values): Keep only canonical values. |
| (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr. |
| (cselib_invalidate_mem): Likewise. Ensure v is canonical, and |
| canonicalize mem_chain elements that are not discarded. |
| |
| 2012-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/47333 |
| * cgraphunit.c (cgraph_optimize): Call output_weakrefs |
| before emitting functions. |
| |
| PR gcov-profile/50127 |
| * bb-reorder.c (partition_hot_cold_basic_blocks): Call |
| clear_aux_for_blocks. |
| |
| 2012-01-06 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/51746 |
| * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too. |
| |
| 2012-01-06 Arnaud Charlet <charlet@adacore.com> |
| |
| * c-decl.c (ext_block): Moved up. |
| (collect_all_refs, for_each_global_decl): Take ext_block into account. |
| |
| 2012-01-06 Han Shen <shenhan@google.com> |
| |
| Translate built-in include paths for sysroot. |
| * Makefile.in (gcc_gxx_include_dir_add_sysroot): New. |
| (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT. |
| |
| * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with |
| GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field. |
| |
| * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to |
| control whether sysroot should be prepended to gxx include dir. |
| |
| * configure: Regenerate. |
| |
| 2012-01-06 Torvald Riegel <triegel@redhat.com> |
| |
| PR rtl-optimization/51771 |
| * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New. |
| * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib. |
| |
| 2012-01-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/51315 |
| * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate. |
| (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p. |
| |
| 2012-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/51681 |
| * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands |
| for shrp pattern. Correctly handle and fixup shift variable. |
| Return false when shift > nelt for BYTES_BIG_ENDIAN target. |
| |
| 2012-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/51762 |
| * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE |
| note when !ACCUMULATE_OUTGOING_ARGS. |
| |
| 2012-01-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated |
| condition. |
| (extract_range_from_unary_expr_1): Avoid useless computations. |
| |
| 2012-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/51767 |
| * cfgrtl.c (force_nonfallthru_and_redirect): Force addition |
| of jump_block and add an extra edge for degenerated asm gotos. |
| |
| PR middle-end/51768 |
| * stmt.c (check_unique_operand_names): Don't ICE during error |
| reporting if i is from labels chain. |
| |
| PR middle-end/44777 |
| * profile.c (branch_prob): Split bbs that have exit edge |
| and need a fake entry edge too. |
| |
| 2012-01-05 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/49710 |
| * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when |
| unlooping loops. |
| |
| 2012-01-05 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/50490 |
| * tree-streamer-out.c (write_ts_optimization): New function. |
| (streamer_write_tree_body): Call it. |
| * tree-streamer-in.c (lto_input_ts_optimization): New function. |
| (streamer_read_tree_body): Call it. |
| * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE. |
| |
| 2012-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/51761 |
| * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field. |
| * gimplify.c (gimplify_cleanup_point_expr): Save and set |
| in_cleanup_point_expr before gimplify_stmt call and restore it |
| afterwards. |
| (gimplify_target_expr): Don't add {CLOBBER} cleanup if |
| in_cleanup_point_expr is false. |
| |
| 2012-01-05 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51764 |
| * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move |
| to c.opt. |
| * toplev.c (process_options): Reject combining mudflap and LTO. |
| * tree-nomudflap.c (nogo): Use sorry instead of internal_error. |
| |
| 2012-01-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51760 |
| * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT, |
| not VARYING. |
| (bit_value_unop): Handle UNDEFINED operands. |
| (bit_value_binop): Likewise. |
| |
| 2012-01-05 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c (avr_replace_prefix): Remove. |
| (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix. |
| (avr_asm_function_rodata_section): Ditto. |
| (avr_asm_select_section): Ditto. |
| |
| 2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND |
| insertion. |
| |
| 2012-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51648 |
| * tree-cfg.c (need_fake_edge_p): Return true also for noreturn |
| calls that have any non-fake successor edges. |
| |
| PR debug/51746 |
| * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL. |
| |
| 2012-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/51624 |
| * tree-sra.c (build_ref_for_model): When replicating a chain of |
| COMPONENT_REFs, stop as soon as the offset would become negative. |
| |
| 2012-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/51695 |
| * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions |
| in .debug_loc on the floor. |
| |
| 2012-01-04 Andrew Pinski <apinski@cavium.com> |
| |
| * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2. |
| |
| 2012-01-04 Andrew Pinski <apinski@cavium.com> |
| Adam Nemet <anemet@caviumnetworks.com> |
| |
| * config/mips/mips.md (size): Add SI and DI. |
| (SIZE): New mode attribute. |
| (U): New code attribute. |
| * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi. |
| (mips_lbux_<mode>): Delete. |
| (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern. |
| (mips_lhx): Use gen_mips_lhx_extsi. |
| (mips_lhx_<mode>): Delete. |
| (mips_lwx): Delete. |
| (mips_l<size>x): New expand. |
| (mips_lwx_<mode>): Delete. |
| (mips_l<GPR:size>x_<P:mode>): New pattern. |
| (*mips_lw<u>x_<P:mode>_ext): Likewise. |
| * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type. |
| * config/mips/mips.c (mips_lx_address_p): New function. |
| (mips_rtx_costs <case MEM>): Call mips_lx_address_p. |
| (dsp64): New availability predicate. |
| (mips_builtins): Add an entry for __builtin_mips_ldx. |
| * config/mips/mips.h (ISA_HAS_LBX): New define. |
| (ISA_HAS_LBUX): Likewise. |
| (ISA_HAS_LHX): Likewise. |
| (ISA_HAS_LHUX): Likewise. |
| (ISA_HAS_LWX): Likewise. |
| (ISA_HAS_LWUX): Likewise. |
| (ISA_HAS_LDX): Likewise. |
| * doc/extend.texi (__builtin_mips_ldx): Document. |
| |
| 2012-01-04 Tristan Gingold <gingold@adacore.com> |
| |
| * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define |
| when long pointers are used. |
| * config.build (*-*-*vms*): Handle all OpenVMS targets. |
| (alpha64-dec-*vms*, alpha*-dec-*vms*) |
| (ia64-hp-*vms*): Remove. |
| * config/vms/xm-vms64.h: Delete. |
| |
| 2012-01-04 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/51472 |
| * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly. |
| |
| 2012-01-04 Aldy Hernandez <aldyh@redhat.com> |
| |
| * opts.c (finish_options): Remove duplicate sorry. |
| |
| 2012-01-04 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/51696 |
| * trans-mem.c (diagnose_tm_1): Display indirect calls with no name |
| correctly. |
| |
| 2012-01-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51750 |
| * tree.c (size_low_cst): New function. |
| * tree.h (size_low_cst): Declare. |
| * fold-const.c (fold_comparison): Use it to extract the low |
| part of the POINTER_PLUS_EXPR offset. |
| |
| 2012-01-04 Georg-Johann Lay <avr@gjlay.de> |
| |
| Fix clearing ZERO_REG |
| * config/avr/avr.md (cc): Add alternative "ldi". |
| (movqi_insn): Use it in cc attribute. |
| * config/avr/avr.c (notice_update_cc): Handle CC_LDI. |
| (output_reload_in_const): Use CLR to move 0 to ZERO_REG. |
| (output_reload_insisf): Use ZERO_REG to pre-clear register. |
| |
| 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * configure: Regenerate. |
| |
| 2012-01-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/49651 |
| * tree-ssa-structalias.c (type_can_have_subvars): New function. |
| (var_can_have_subvars): Use it. |
| (get_constraint_for_1): Only consider subfields if there can be any. |
| |
| 2012-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51725 |
| * cselib.c (new_elt_loc_list): When moving locs from one cselib_val |
| to its new canonical_cselib_val and the cselib_val was in |
| first_containing_mem chain, but the canonical_cselib_val was not, |
| add the latter into the chain. |
| (cselib_invalidate_mem): Compare canonical_cselib_val of |
| addr_list chain elt with v. |
| |
| PR pch/51722 |
| * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define, |
| dwarf2out_undef): Allocate e.info using ggc_strdup instead |
| of xstrdup. |
| (output_macinfo_op): Don't ggc_strdup fd->filename. |
| (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC, |
| then ggc_strdup it. Don't free inc->info or cur->info. |
| (output_macinfo): Don't free ref->info or file->info. |
| |
| 2012-01-03 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/51269 |
| * tree-vect-loop-manip.c (set_prologue_iterations): Make |
| first_niters a pointer. |
| (slpeel_tree_peel_loop_to_edge): Likewise. |
| (vect_do_peeling_for_loop_bound): Update call to |
| slpeel_tree_peel_loop_to_edge. |
| (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters |
| here. Remove it from the parameters list. |
| (vect_do_peeling_for_alignment): Update calls and compute |
| wide_prolog_niters. |
| |
| 2012-01-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51070 |
| * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): |
| Properly handle calls. |
| |
| 2012-01-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/51692 |
| * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove |
| the LHS of allocation stmts. |
| |
| 2012-01-03 Olivier Hainque <hainque@adacore.com> |
| |
| * system.h: Prior to #define, #undef fopen and freopen unconditionally. |
| |
| 2012-01-03 Olivier Hainque <hainque@adacore.com> |
| |
| * collect2.c (main): In AIX specific computations for vector |
| insertions, use CONST_CAST2 to cast from char ** to const char **. |
| |
| 2012-01-03 Richard Guenther <rguenther@suse.de> |
| |
| PR debug/51650 |
| * dwarf2out.c (dwarf2out_finish): Always create a DIE for |
| the context of a limbo DIE when it does not already exist. |
| |
| 2012-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/51719 |
| * value-prof.c (gimple_ic): When indirect call isn't noreturn, |
| but direct call is, clear direct call's lhs and don't add fallthrough |
| edge from dcall_bb to join_bb and PHIs. |
| |
| 2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning |
| the instructions emitted by the pattern. |
| ("*TDC_insn_<mode>"): Add comment. |
| |
| 2012-01-03 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/51730 |
| * fold-const.c (fold_comparison): Properly canonicalize |
| tree offset and HOST_WIDE_INT bit position. |
| |
| 2012-01-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct |
| operands for extzv pattern. |
| |
| 2012-01-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/51725 |
| * cselib.c (add_mem_for_addr): Call canonical_cselib_val |
| on mem_elt first. |
| |
| 2012-01-02 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (-flto and related options): Copy-edit. |
| |
| 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber. |
| |
| 2012-01-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4): |
| New patterns. |
| |
| 2012-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * expr.h (move_by_pieces_ninsns): Declare. |
| * expr.c (move_by_pieces_ninsns): Make external. |
| * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare. |
| (mips_store_by_pieces_p): Likewise. |
| * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p. |
| (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p. |
| * config/mips/mips.c (mips_move_by_pieces_p): New function. |
| (mips_store_by_pieces_p): Likewise. |
| |
| 2012-01-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * passes.c (register_one_dump_file): Free full_name. |
| |
| * reload1.c (reload): Don't allocate reg_max_ref_width here. |
| (calculate_elim_costs_all_insns): Free offsets_at and |
| offsets_known_at at the end and clear the pointers. |
| |
| 2012-01-02 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.opt (-mbranch-cost): Fix double definition of |
| this option introduced in r180739. |
| |
| 2012-01-02 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/51345 |
| * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h |
| (tmake_file target=avr): Add avr/t-multilib. |
| |
| * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP |
| to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__. |
| * config/avr/genmultilib.awk: New file. |
| * config/avr/t-multilib: New auto-generated file. |
| * config/avr/multilib.h: New auto-generated file. |
| * config/avr/t-avr (AVR_MCUS): New variable. |
| (genopt.sh): Use it. |
| (s-mlib): Depend on t-multilib. |
| (t-multilib, multilib.h): New dependencies. |
| (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS. |
| (MULTILIB_OPTIONS): Remove. |
| (MULTILIB_MATCHES): Remove. |
| (MULTILIB_DIRNAMES): Remove. |
| (MULTILIB_EXCEPTIONS): Remove: |
| * config/avr/genopt.sh: Don't use hard coded file name; |
| pass AVR_MCUS from t-avr instead. |
| |
| 2012-01-02 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23". |
| |
| 2012-01-02 Georg-Johann Lay <avr@gjlay.de> |
| |
| Implement light-weight DImode support. |
| * config/avr/avr-dimode.md: New file. |
| * config/avr/avr.md: Include it. |
| (adjust_len): Add plus64, compare64. |
| (HIDI): Remove code iterator. |
| (code_stdname): New code attribute. |
| (rotx, rotsmode): Remove DI. |
| (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI |
| as code iterator. |
| * config/avr/avr-protos.h (avr_have_dimode): New. |
| (avr_out_plus64, avr_out_compare64): New. |
| * config/avr/avr.c (avr_out_compare): Handle DImode. |
| (avr_have_dimode): New variable definition and initialization. |
| (avr_out_compare64, avr_out_plus64): New functions. |
| (avr_out_plus_1): Use simplify_unary_operation to negate xval. |
| (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64. |
| (avr_compare_pattern): Skip DImode comparisons. |
| |
| 2012-01-02 Revital Eres <revital.eres@linaro.org> |
| |
| * ddg.c (def_has_ccmode_p): New function. |
| (add_cross_iteration_register_deps, |
| create_ddg_dep_from_intra_loop_link): Call it. |
| |
| 2012-01-02 Richard Guenther <rguenther@suse.de> |
| |
| PR other/51679 |
| * invoke.texi (fassociative-math): Remove spurious paranthesis. |
| |
| 2012-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov.c (print_version): Likewise. |
| * gcov-dump.c (print_version): Likewise. |
| * mips-tfile.c (main): Likewise. |
| * mips-tdump.c (main): Likewise. |
| |
| 2012-01-01 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/51704 |
| * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that |
| a use is inside the basic block or loop before accessing its vect info. |
| |
| 2012-01-01 Jan Hubicka <jhjh@suse.cz> |
| |
| PR rtl-optimization/51069 |
| * cfgloopmanip.c (remove_path): Removing path making irreducible |
| region unconditional makes BB part of the region. |
| |
| 2012-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/51683 |
| * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away |
| calls with side-effects. |
| * tree-ssa-ccp.c (ccp_fold_stmt): Likewise. |
| |
| Copyright (C) 2012 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |