| 2010-12-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (powerpc-*-darwin*): Update reference to |
| Apple Developer Tools. |
| |
| 2010-12-31 Ken Werner <ken.werner@de.ibm.com> |
| |
| * config/arm/sync.md (sync_clobber, sync_t2_reqd): New code attribute. |
| (arm_sync_old_<sync_optab>si, arm_sync_old_<sync_optab><mode>): Use |
| the sync_clobber and sync_t2_reqd code attributes. |
| * config/arm/arm.c (arm_output_sync_loop): Reverse the operation if |
| the t2 argument is NULL. |
| |
| 2010-12-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/sourcebuild.texi (Top Level): Adjust link to libgo. |
| |
| 2010-12-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): Remove reference to interix.com. |
| |
| 2010-12-31 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.h (PRINT_OPERAND): Delete. |
| * config/pdp11/pdp11.c (TARGET_PRINT_OPERAND, |
| TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define |
| (pdp11_asm_print_operand, pdp11_asm_print_operand_punct_valid_p): |
| New function. |
| * config/pdp11/pdp11.md (tablejump): Fix generated assembly. |
| |
| 2010-12-31 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/47111 |
| * config/rtems.h (NO_IMPLICIT_EXTERN_C): Undef before defining. |
| |
| PR target/47112 |
| * config/mips/r3900.h: Update Copyright years. |
| (MIPS_CPU_STRING_DEFAULT): Undef before defining. |
| (MULTILIB_DEFAULTS, MIPS_ABI_DEFAULT, SUBTARGET_CC1_SPEC): Likewise. |
| |
| PR target/47135 |
| * config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Change |
| type to match target.def . |
| |
| PR target/47114 |
| * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): Add |
| ATTRIBUTE_UNUSED to declaration. |
| (rs6000_elf_asm_out_destructor): Likewise. |
| |
| PR target/47084 |
| * config/mn10300/linux.h (PRINT_OPERAND): Update for name changes |
| to mn10300_print_operand / mn10300_print_operand_address. |
| |
| 2010-12-30 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change |
| TARGET_LOONGSON_2EF to TARGET_LOONGSON_VECTORS. |
| * config/mips/mips.c (mips_shift_truncation_mask): Likewise. |
| |
| 2010-12-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/openbsd.opt: New. |
| * config.gcc (alpha*-*-openbsd*, |
| i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123], |
| i[34567]86-*-openbsd*, m68k*-*-openbsd*, mips*-*-openbsd*, |
| sparc64-*-openbsd*, vax-*-openbsd*): Use openbsd.opt. |
| |
| 2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean |
| patterns. |
| |
| 2010-12-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/47038 |
| * config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section |
| on the GOT helper if USE_HIDDEN_LINKONCE. |
| |
| 2010-12-30 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/46889 |
| * c-decl.c (detect_field_duplicates): Ensure hash is used for |
| finding duplicates when first field is anonymous. |
| |
| 2010-12-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR target/44606 |
| * reload1.c (choose_reload_regs): Don't look for equivalences for |
| output reloads of constant loads. |
| |
| 2010-12-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Explicitly derive |
| default values from MEM mode if no memory attributes are present. |
| Do not use mode alignment, even on STRICT_ALIGNMENT targets, when |
| called with an expression (not a type). |
| |
| 2010-12-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (upper_128bits_state): Remove comments. |
| (block_info_def): Add unchanged. |
| (move_or_delete_vzeroupper_2): Short circuit if upper 128bits |
| are unchanged in the block. |
| |
| 2010-12-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46519 |
| * config/i386/i386.c (block_info_def): Remove referenced, count |
| and rescanned. |
| (move_or_delete_vzeroupper_2): Updated. |
| (move_or_delete_vzeroupper_1): Rewritten to avoid recursive call. |
| (rescan_move_or_delete_vzeroupper): Removed. |
| (move_or_delete_vzeroupper): Repeat processing all basic blocks |
| until no basic block state is changed to used at exit. |
| |
| 2010-12-30 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (movmemhi, movmemhi1): Correct |
| constraints. |
| * config/pdp11/pdp11.c (output_block_move): Rewrite. |
| |
| 2010-12-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/47060 |
| * tree-parloops.c (reduction_phi): Return NULL if PHI is NULL. |
| |
| 2010-12-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11-protos.h (pdp11_asm_output_var): Declare. |
| * config/pdp11/pdp11.c (pdp11_asm_output_var): New function. |
| * config/pdp11/pdp11.h (ASM_OUTPUT_ALIGNED_COMMON, |
| ASM_OUTPUT_ALIGNED_LOCAL): New macros. |
| (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. |
| |
| 2010-12-30 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/47129 |
| * config/ia64/ia64.c: Include "dwarf2out.h" . |
| |
| PR target/47063 |
| * config/alpha/vms.h (MALLOC_ALIGNMENT): Don't undef / define. |
| (MALLOC_ABI_ALIGNMENT): Undef / define. |
| |
| PR target/47101 |
| * vmsdbgout.c (vmsdbgout_init): Rename main_input_filename to filename. |
| (vmsdbgout_finish): Likewise. |
| |
| PR target/47097 |
| * config/i386/lynx.h (DBX_REGISTER_NUMBER): Add cast to avoid |
| mixing signed and unsigned types in conditional expression. |
| |
| 2010-12-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/47074 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Call |
| pop_gimplify_context if returning early. |
| |
| 2010-12-28 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * Makefile.in (graphite.o): Depends on DIAGNOSTIC_CORE_H. |
| (graphite-clast-to-gimple.o): Same. |
| (graphite-poly.o): Same. |
| * graphite-clast-to-gimple.c: Include diagnostic-core.h. |
| * graphite-poly.c: Same. |
| * graphite.c: Same. |
| |
| 2010-12-28 Richard Guenther <rguenther@suse.de> |
| |
| PR debug/46931 |
| * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update |
| SSA before removing dead stmts. |
| |
| 2010-12-28 H.J. Lu <hongjiu.lu@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-builtin-types.def (PUSHORT): New. |
| (INT_FTYPE_PUSHORT): Likewise. |
| (INT_FTYPE_PUNSIGNED): Likewise. |
| (INT_FTYPE_PULONGLONG): Likewise. |
| Remove "DEF_FUNCTION_TYPE (UINT16)". |
| |
| * config/i386/i386.c (ix86_builtins): Remove |
| IX86_BUILTIN_RDRAND16, IX86_BUILTIN_RDRAND32 and |
| IX86_BUILTIN_RDRAND64. Add IX86_BUILTIN_RDRAND16_STEP, |
| IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP. |
| (bdesc_special_args): Remove IX86_BUILTIN_RDRAND16, |
| IX86_BUILTIN_RDRAND32 and IX86_BUILTIN_RDRAND64. |
| (ix86_init_mmx_sse_builtins): Handle IX86_BUILTIN_RDRAND16_STEP, |
| IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP. |
| (ix86_expand_builtin): Likewise. |
| (ix86_expand_special_args_builtin): Remove UINT16_FTYPE_VOID. |
| |
| * config/i386/i386.md (UNSPEC_RDRAND): New. |
| (UNSPECV_RDRAND): Removed. |
| (rdrand<mode>): Likewise. |
| (rdrand<mode>_1): Also set FLAGS_REG. Replace UNSPECV_RDRAND |
| with UNSPEC_RDRAND. |
| |
| * config/i386/immintrin.h (_rdrand_u16): Removed. |
| (_rdrand_u32): Likewise. |
| (_rdrand_u64): Likewise. |
| (_rdrand16_step): New. |
| (_rdrand32_step): Likewise. |
| (_rdrand64_step): Likewise. |
| |
| * doc/extend.texi (__builtin_ia32_rdrand16): Removed. |
| (__builtin_ia32_rdrand32): Likewise. |
| (__builtin_ia32_rdrand64): Likewise. |
| (__builtin_ia32_rdrand16_step): New. |
| (__builtin_ia32_rdrand32_step): Likewise. |
| (__builtin_ia32_rdrand64_step): Likewise. |
| |
| 2010-12-28 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * Makefile.in (graphite.o): Add dependence on DIAGNOSTIC_H. |
| * graphite.c: Include diagnostic.h. |
| |
| 2010-12-28 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * Makefile.in (TREE_VECTORIZER_H): Removed duplicate definition. |
| (tree-browser.o): Update dependences. |
| (omega.o): Same. |
| (tree-chrec.o): Same. |
| (tree-scalar-evolution.o): Same. |
| (tree-data-ref.o): Same. |
| (sese.o): Same. |
| (graphite.o): Same. |
| (graphite-blocking.o): Same. |
| (graphite-clast-to-gimple.o): Same. |
| (graphite-cloog-util.o): Same. |
| (graphite-dependences.o): Same. |
| (graphite-flattening.o): Same. |
| (graphite-interchange.o): Same. |
| (graphite-poly.o): Same. |
| (graphite-ppl.o): Same. |
| (graphite-scop-detection.o): Same. |
| (graphite-sese-to-poly.o): Same. |
| (tree-loop-linear.o): Same. |
| (tree-loop-distribution.o): Same. |
| (tree-parloops.o): Same. |
| (lambda-mat.o): Same. |
| (lambda-trans.o): Same. |
| (lambda-code.o): Same. |
| * tree-browser.o: Do not include unnecessary .h files. |
| * omega.o: Same. |
| * tree-chrec.o: Same. |
| * tree-scalar-evolution.o: Same. |
| * tree-data-ref.o: Same. |
| * sese.o: Same. |
| * graphite.o: Same. |
| * graphite-blocking.o: Same. |
| * graphite-clast-to-gimple.o: Same. |
| * graphite-cloog-util.o: Same. |
| * graphite-dependences.o: Same. |
| * graphite-flattening.o: Same. |
| * graphite-interchange.o: Same. |
| * graphite-poly.o: Same. |
| * graphite-ppl.o: Same. |
| * graphite-scop-detection.o: Same. |
| * graphite-sese-to-poly.o: Same. |
| * tree-loop-linear.o: Same. |
| * tree-loop-distribution.o: Same. |
| * tree-parloops.o: Same. |
| * lambda-mat.o: Same. |
| * lambda-trans.o: Same. |
| * lambda-code.o: Same. |
| * graphite.h: Removed. |
| |
| 2010-12-28 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md: Correct length attribute for float |
| literal case. |
| |
| 2010-12-28 Jie Zhang <jie@codesourcery.com> |
| |
| * builtins.c (SLOW_UNALIGNED_ACCESS): Remove. |
| |
| 2010-12-27 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/freebsd.opt (assert=, defsym=, profile, pthread, |
| rpath-link=, rpath=, soname=): New Driver options. |
| |
| 2010-12-26 Martin Jambor <mjambor@suse.cz> |
| |
| * tree.c (get_binfo_at_offset): Use BINFO_TYPE instead of TREE_TYPE, |
| compare TYPE_MAIN_VARIANTs of types. |
| |
| 2010-12-26 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * config/m68k/t-linux (M68K_MLIB_CPU): Only include 680x0 CPUs. |
| |
| 2010-12-24 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/47036 |
| * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for |
| unconditional jumps. |
| * sel-sched.c (moveup_expr): Ditto. |
| |
| 2010-12-23 Sebastian Pop <sebastian.pop@amd.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46758 |
| * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use |
| tree_int_to_gmp instead of int_cst_value. |
| (scan_tree_for_params_int): Same. |
| (scan_tree_for_params): Same. |
| (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree. |
| |
| 2010-12-23 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/47002 |
| * tree-data-ref.c (compute_data_dependences_for_loop): Pass in a |
| pointer to the loop_nest. |
| (analyze_all_data_dependences): Initialize and free the loop_nest. |
| (free_dependence_relations): Do not free loop_nest. |
| (build_rdg): Pass in the loop_nest, datarefs, and dependence_relations. |
| (free_rdg): Also free the data on edges. |
| * tree-data-ref.h (build_rdg): Update declaration. |
| (compute_data_dependences_for_loop): Same. |
| * tree-if-conv.c (if_convertible_loop_p_1): Pass in the loop_nest. |
| (if_convertible_loop_p): Allocate and free loop_nest. |
| * tree-loop-distribution.c (rdg_flag_loop_exits): Free conds. |
| (free_rdg_components): VEC_free components. |
| (distribute_loop): Update call to build_rdg. Allocate and free |
| loop_nest, datarefs, and dependence_relations. |
| * tree-loop-linear.c (linear_transform_loops): Allocate and free |
| loop_nest. |
| * tree-parloops.c (loop_parallel_p): Same. |
| * tree-predcom.c (tree_predictive_commoning_loop): Same. |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Pass to |
| compute_data_dependences_for_loop a pointer to LOOP_VINFO_LOOP_NEST. |
| * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_LOOP_NEST. |
| (destroy_loop_vec_info): Free LOOP_VINFO_MAY_ALIAS_DDRS and |
| LOOP_VINFO_LOOP_NEST. |
| * tree-vect-slp.c (destroy_bb_vec_info): Call free_data_refs and |
| free_dependence_relations. |
| * tree-vectorizer.h (struct _loop_vec_info): Add a field loop_nest. |
| (LOOP_VINFO_LOOP_NEST): New. |
| |
| 2010-12-23 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa.c (cgraph_remove_unreachable_nodes): Update former_clone_of even |
| when not checking. |
| |
| 2010-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_ld_eh_frame_hdr): Only check GNU ld for |
| --eh-frame-hdr. Check for working Sun ld version. |
| (HAVE_LD_EH_FRAME_HDR): Adapt comment. |
| (glibc_header_dir): Set only once. Rename to ... |
| (target_header_dir): ... this. Adapt users. |
| (gcc_cv_target_dl_iterate_frame_hdr): Check on *-*-solaris2*. |
| (TARGET_DL_ITERATE_PHDR): Define if present. |
| * configure: Regenerate. |
| * config.in: Likewise. |
| * config/t-sol2 (LIB2ADDEH, LIB2ADDEHDEP): Define. |
| * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for recent Solaris 11 |
| with linker support and dl_iterate_phdr. |
| * unwind-dw2-fde-glibc.c (USE_PT_GNU_EH_FRAME): Likewise. |
| (_Unwind_IteratePhdrCallback) [PT_SUNW_UNWIND]: Also accept |
| PT_SUNW_UNWIND .eh_frame_hdr sections. |
| [CRT_GET_RFIB_DATA && __i386__ && __sun__ && __svr4__]: Add |
| load_base to data->dbase. |
| [CRT_GET_RFIB_DATA && __x86_64__ && __sun__ && __svr4__]: Handle |
| 64-bit Solaris 10+/x86. |
| * config/sol2-gld.h [TARGET_DL_ITERATE_PHDR && HAVE_LD_EH_FRAME_HDR] |
| (LINK_EH_SPEC): Define. |
| |
| 2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/extend.texi (Function Attributes, Volatiles): Fix typos. |
| * doc/install.texi (Prerequisites, Specific): Likewise. |
| * doc/invoke.texi (C Dialect Options, Debugging Options) |
| (Optimize Options, MicroBlaze Options) |
| (RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise. |
| * doc/objc.texi (Method signatures) |
| (Fast enumeration protocol): Likewise. |
| * doc/tm.texi.in (Run-time Target, Register Arguments) |
| (Scheduling, Macros for Initialization, Misc): Likewise. |
| * doc/tm.texi: Renerate. |
| |
| 2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/objc.texi (Modern GNU Objective-C runtime API): Mention that |
| reference documentation for functions in the API is in the header |
| files. |
| (Messaging with the GNU Objective-C runtime, Dynamically |
| registering methods, Forwarding hook): New sections. |
| |
| 2010-12-22 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/47019 |
| * sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable. |
| |
| 2010-12-22 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-aux-info.c (gen_formal_list_for_type): Use prototype_p. |
| * c-decl.c (diagnose_arglist_conflict): Likewise. |
| (diagnose_mismatched_decls, merge_decls): Likewise. |
| (c_builtin_function, c_builtin_function_ext_scope): Likewise. |
| (start_decl, start_function): Likewise. |
| * c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise. |
| * config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise. |
| * config/mep/mep.c (mep_validate_interrupt): Likewise. |
| * config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise. |
| * config/rs6000/rs6000.c (init_cumulative_args): Likewise. |
| * config/sh/sh.c (sh_init_cumulative_args): Likewise. |
| * config/sparc/sparc.c (init_cumulative_args): Likewise. |
| * dwarf2out.c (add_prototyped_attribute): Likewise. |
| (gen_subprogram_die): Likewise. |
| * ipa-type-escape.c (check_function_parameter_and_return_types): |
| Likewise. |
| (check_call): Likewise. |
| * tree-ssa.c (useless_type_conversion_p): Likewise. |
| |
| 2010-12-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.md ("mov<mode>"): Use nonimmediate_operand |
| predicate for destination operand. |
| * config/spu/spu.c (spu_expand_mov): If move destination is an |
| invalid subreg, perform move in the subreg's inner mode instead. |
| |
| 2010-12-22 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/45934 |
| PR tree-optimization/46302 |
| PR tree-optimization/46987 |
| * gimple-fold.c (get_base_binfo_for_type): Removed. |
| (gimple_get_relevant_ref_binfo): Likewise. |
| (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, |
| removed parameter inplace, updated the caller. |
| * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. |
| * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. |
| (ipcp_discover_new_direct_edges): Do not do devirtualization based on |
| constants. |
| * ipa-prop.c (compute_known_type_jump_func): Use |
| get_ref_base_and_extent and get_binfo_at_offset instead of |
| gimple_get_relevant_ref_binfo. |
| (compute_known_type_jump_func): Likewise. |
| (update_jump_functions_after_inlining): Do not derive types from |
| constants. |
| (try_make_edge_direct_virtual_call): Likewise. |
| * tree.c (get_binfo_at_offset): Get type from non-artificial fields. |
| |
| 2010-12-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/svr4.h: Remove. |
| * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison. |
| * config.gcc, config/bfin/bfin.h, config/cris/cris.h, |
| config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h, |
| config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h, |
| config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h, |
| config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h, |
| config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h, |
| config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h, |
| config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h, |
| config/v850/v850.h, config/vxworks.h: Remove or update comments |
| referring to svr4.h. |
| |
| 2010-12-22 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/45352 |
| PR rtl-optimization/46521 |
| PR rtl-optimization/46522 |
| * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the |
| DFA state on the last iteration of the advancing loop. |
| (sel_sched_region_1): Propagate the rescheduling bit to the next |
| block also for empty blocks. |
| |
| 2010-12-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/46724 |
| * function.c (assign_parms_augmented_arg_list): Name and mark |
| DECL of result address as NAMELESS rather than IGNORED. |
| (assign_parms): Set DECL_VALUE_EXPR for indirect result. |
| * tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL. |
| (DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL. |
| * dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use |
| DECL_VALUE_EXPR. |
| * dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise. |
| * var-tracking.c (vt_add_function_parameter): New, split out of... |
| (vt_add_function_parameters): ... this. Handle incoming |
| pointer to hold result. |
| |
| 2010-12-22 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/arm.c (output_move_double): Update the comment |
| above the function to reflect the current implementation. |
| |
| 2010-12-21 Steven Bosscher <steven@gcc.gnu.org> |
| |
| De-hookize profile infrastructure. |
| * value-prof.c (value_prof_hooks): Remove. |
| (struct value_prof_hooks): Remove. |
| (gimple_value_prof_hooks): Remove. |
| (gimple_register_value_prof_hooks): Remove. |
| (find_values_to_profile): Remove. |
| (value_profile_transformations): Remove. |
| (gimple_value_profile_transformations): No longer static. |
| (gimple_find_values_to_profile): Likewise. |
| * value-prof.h (gimple_register_value_prof_hooks): Remove prototype. |
| (find_values_to_profile): Likewise. |
| (value_profile_transformations): Likewise. |
| (tree_register_profile_hooks): Likewise. |
| (struct profile_hooks): Remove. |
| (tree_profile_hooks): Remove. |
| (gimple_find_values_to_profile): New protoype. |
| (gimple_value_profile_transformations): Likewise. |
| (gimple_init_edge_profiler): Likewise. |
| (gimple_gen_edge_profiler): Likewise. |
| (gimple_gen_interval_profiler): Likewise. |
| (gimple_gen_pow2_profiler): Likewise. |
| (gimple_gen_one_value_profiler): Likewise. |
| (gimple_gen_ic_profiler): Likewise. |
| (gimple_gen_ic_func_profiler): Likewise. |
| (gimple_gen_const_delta_profiler): Likewise. |
| (gimple_gen_average_profiler): Likewise. |
| (gimple_gen_ior_profiler): Likewise. |
| * profile.c (profile_hooks): Remove. |
| (instrument_edges): Call profiling functions directly instead |
| of through removed profile_hooks. |
| (instrument_values): Likewise. |
| (branch_prob): Call gimple_find_values_to_profile instead of |
| removed find_values_to_profile. |
| Call gimple_init_edge_profiler instead of removed hook. |
| (tree_register_profile_hooks): Remove. |
| * tree-profile.c (tree_init_ic_make_global_vars): Rename to |
| init_ic_make_global_vars. |
| (tree_init_edge_profiler): Rename to gimple_init_edge_profiler |
| and no longer static. |
| (tree_gen_edge_profiler, tree_gen_interval_profiler, |
| tree_gen_pow2_profiler, tree_gen_one_value_profiler, |
| tree_gen_ic_profiler, tree_gen_ic_func_profiler, |
| tree_gen_const_delta_profiler, tree_gen_average_profiler, |
| tree_gen_ior_profiler): Similarly renamed and no longer static. |
| (tree_profiling): Do not initialize tree profiling hooks. |
| (tree_profile_hooks): Remove. |
| |
| 2010-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/46880 |
| * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source |
| operand. |
| |
| 2010-12-21 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/47001 |
| * tree-vect-slp.c (vect_supported_load_permutation_p): Check that |
| the loads in reduction are different and there are no gaps between |
| them. |
| |
| 2010-12-21 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR middle-end/45310 |
| * tree-ssa-phiprop.c (propagate_with_phi): Remove statement |
| completely from the function, including EH traces. |
| |
| 2010-12-21 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR rtl-optimization/46755 |
| * ira.c (ira): If some dead edges were removed, find and delete |
| any blocks that might have become unreachable. |
| |
| 2010-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/47008 |
| * postreload.c (reload_combine_note_store): Also handle |
| PRE_MODIFY and POST_MODIFY. |
| |
| 2010-12-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all |
| instructions injected into the prologue to prologue_locator. |
| |
| 2010-12-21 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/47000 |
| * tree-inline.c (estimate_operator_cost): Handle VIEW_CONVERT_EXPR. |
| |
| 2010-12-21 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/arm-ldmstm.ml: Fix a typo in comment. |
| |
| 2010-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45852 |
| * expr.c (store_expr): Ignore alt_rtl if equal to target, |
| but has side-effects. |
| |
| 2010-12-21 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/sh/sh-protos.h (secondary_reload_info, sh_secondary_reload): |
| Remove forward declaration. |
| * config/sh/sh.c (sh_preferred_reload_class): New function. |
| (sh_secondary_reload): Make static. |
| (TARGET_PREFERRED_RELOAD_CLASS): Define. |
| |
| 2010-12-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/alpha/linux.h (OPTION_GLIBC): Define differently if |
| SINGLE_LIBC. |
| * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): |
| Define differently if SINGLE_LIBC. |
| * config/rs6000/linux.h (OPTION_GLIBC): Define differently if |
| SINGLE_LIBC. |
| * config/rs6000/linux64.h (OPTION_GLIBC): Define differently if |
| SINGLE_LIBC. |
| * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | |
| *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define |
| SINGLE_LIBC instead of OPTION_GLIBC. |
| (*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC. |
| (bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define |
| DEFAULT_LIBC or use linux.opt. |
| |
| 2010-12-20 Richard Henderson <rth@redhat.com> |
| |
| * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate |
| UNSPEC patterns by hand, with the proper mode; use gen_const_mem. |
| * config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT |
| by hand, with the proper mode. |
| (symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove. |
| (symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove. |
| |
| 2010-12-20 Sanjin Liu <scliu@faraday-tech.com> |
| Mingfeng Wu <mingfeng@faraday-tech.com> |
| |
| * config/arm/arm-cores.def: Add Faraday CPU support - |
| fa526/fa626/fa606te/fa626te/fmp626/fa726te. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te |
| (fa726te_sched_adjust_cost): New cost function for fa726te. |
| (arm_issue_rate): Add fa726te. |
| * config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched |
| and include machine description files. |
| * config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626. |
| * config/arm/t-arm (MD_INCLUDES): Include machine description files for |
| Faraday cores. |
| * config/arm/t-arm-elf: Add multilib option for Faraday cores. |
| * config/arm/t-linux-eabi: Add multilib option for Faraday cores except |
| fa526 and fa626. |
| * doc/invoke.texi: Document -mcpu for Faraday cores. |
| * config/arm/fa526.md: New file. |
| * config/arm/fa606te.md: New file. |
| * config/arm/fa626te.md: New file. |
| * config/arm/fmp626.md: New file. |
| * config/arm/fa726te.md: New file. |
| |
| 2010-12-20 Yvan Roux <yvan.roux@st.com> |
| |
| * config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix |
| condition on IT instruction for early termination. |
| |
| 2010-12-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't define. |
| (DBX_REGISTER_NUMBER): Define. |
| * config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Define. |
| * config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Define. |
| * config/rs6000/sysv4.h (SIZE_TYPE): Define. |
| (ASM_SPEC): Define without using SVR4_ASM_SPEC. |
| (DBX_REGISTER_NUMBER): Undefine. |
| * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*, |
| powerpc-*-eabisim*, powerpc-*-elf*, powerpc-*-eabialtivec*, |
| powerpc-xilinx-eabi*, powerpc-*-eabi*, powerpc-*-rtems*, |
| powerpc-*-linux* | powerpc64-*-linux*, powerpc64-*-gnu*, |
| powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*, |
| powerpc-wrs-vxworks|powerpc-wrs-vxworksae, powerpcle-*-elf*, |
| powerpcle-*-eabisim*, powerpcle-*-eabi*): Don't use svr4.h. |
| |
| 2010-12-20 Iain Sandoe <iains@gcc.gnu.org> |
| Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/46916 |
| * opts.c (finish_options): Enable -freorder-functions |
| when -freorder-blocks-and-partition is active. |
| |
| 2010-12-20 Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR c++/46904 |
| PR middle-end/46916 |
| PR target/46950 |
| * config/darwin.c (generating_for_darwin_version): New var. |
| (darwin_text_section): Remove. |
| (darwin_rodata_section): Do not check function section here. |
| (darwin_emit_unwind_label): Do not emit for Darwin >= 9. |
| Emit distinct labels for successive calls for the same decl. |
| (darwin_override_options): Set generating_for_darwin_version. |
| Add FIXME and disable -freorder-blocks-and-partition. |
| Suppress automatic asynchronous unwind tables for m32. |
| Switch off -freorder-blocks-and-partition when unwind tables |
| will be generated. Update to use generating_for_darwin_version. |
| (darwin_function_section): Check for cases that need to be placed |
| in coalesced sections. |
| * config/darwin-sections.def: Define hot, cold, startup and |
| exit sections for both coalesced and regular code. |
| * config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete. |
| * config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete. |
| |
| 2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/cppopts.texi: Use @var when appropriate. |
| * doc/extend.texi (Structure-Packing Pragmas): Likewise. |
| * doc/gimple.texi (Logical Operators) |
| (Adding a new GIMPLE statement code): Likewise. |
| * doc/invoke.texi (Target Options, Precompiled Headers): Likewise. |
| * doc/plugins.texi (Plugins): Likewise. |
| |
| * doc/install.texi (Configuration, Building, Testing, Specific): |
| Remove leading whitespace from examples. |
| |
| 2010-12-19 Andi Kleen <ak@linux.intel.com> |
| |
| PR lto/46905 |
| * collect2.c (main): Handle -fno-lto. |
| * opts.c (common_handle_option): Handle -fno-lto. |
| |
| 2010-12-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/46729 |
| * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro. |
| (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro. |
| * config/sparc/sparc.c (pic_helper_needed): Delete. |
| (global_offset_table): Likewise. |
| (pic_helper_symbol): Rename to... |
| (got_helper_rtx): ...this. |
| (global_offset_table_rtx): New global variable. |
| (sparc_got_symbol): Likewise. |
| (sparc_got): New static function. |
| (check_pic): Use local variable and call sparc_got. |
| (sparc_tls_symbol): Initialize to NULL_RTX. |
| (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS |
| and 32-bit ABI and copy the GOT symbol to a new register otherwise. |
| (get_pc_thunk_name): Rename local variable. |
| (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}. |
| (load_pic_register): Rename to... |
| (load_got_register): ...this. Adjust and call gen_load_pcrel_sym. |
| (sparc_expand_prologue): Do not test flag_pic. |
| (sparc_output_mi_thunk): Use pic_offset_table_rtx directly. |
| (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed. |
| Rename local variable and do not call get_pc_thunk_name again. |
| * config/sparc/sparc.md (load_pcrel_sym): Add operand #3. |
| |
| 2010-12-19 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR middle-end/46674 |
| PR middle-end/46221 |
| * varasm.c (symbol_alias_set_t): New typedef for derived pointer_set |
| wrapper class. |
| (symbol_alias_set_create): New wrapper function. |
| (symbol_alias_set_destroy): Likewise. |
| (symbol_alias_set_contains): Likewise. |
| (symbol_alias_set_insert): Likewise. |
| (compute_visible_aliases): Use the above and return symbol_alias_set_t, |
| not a pointer_set. |
| (remove_unreachable_alias_pairs): Adjust likewise to match. |
| (finish_aliases_1): Likewise. |
| |
| 2010-12-19 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store |
| index range case. Change to SF/DFmode tests to avoid capturing HFmode. |
| (thumb2_legitimate_index_p): Same. |
| |
| 2010-12-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46969 |
| * tree-parloops.c (struct reduction_info): Add reduc_version. |
| (reduction_info_hash): Return reduc_version field. |
| (reduction_phi): Set reduc_version to gimple_uid (phi). |
| (build_new_reduction): Set reduc_version to SSA_NAME_VERSION of |
| phi result. |
| (set_reduc_phi_uids): New function. |
| (gather_scalar_reductions): Call it at the end through htab_traverse. |
| |
| 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_try_catch_finally_statement): Call |
| objc_maybe_warn_exceptions. |
| (c_parser_objc_synchronized_statement): Call |
| objc_maybe_warn_exceptions. |
| |
| 2010-12-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46985 |
| * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL, |
| return it immediately. |
| |
| 2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/46915 |
| * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead |
| of next_real_insn. Search forward checking for both ASM_INPUT and |
| ASM_OPERANDS asms until exit condition is found. |
| (branch_needs_nop_p): Likewise. |
| (use_skip_p): New function. |
| (output_cbranch): Use use_skip_p. |
| (output_bb, output_bvb): Likewise. |
| |
| 2010-12-18 Kai Tietz <kai.tietz@onevision.com> |
| |
| PR target/36834 |
| * config/i386/i386.c (ix86_keep_aggregate_return_pointer): |
| New local function. |
| (ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer |
| function instead of KEEP_AGGREGATE_RETURN_POINTER. |
| (ix86_handle_callee_pop_aggregate_return): New handler. |
| (ix86_attribute_table): Add new attribute |
| callee_pop_aggregate_return. |
| * doc/extend.texi (callee_pop_aggregate_return): Add |
| attribute documentation. |
| |
| 2010-12-18 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): |
| Only set sjlj exceptions for NeXT/m32. |
| |
| 2010-12-18 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): |
| Only expose when not building for target. |
| |
| 2010-12-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/netbsd.opt, config/netbsd-elf.opt: New files. |
| * config.gcc (alpha*-*-netbsd*, arm*-*-netbsdelf*, arm*-*-netbsd*, |
| i[34567]86-*-netbsdelf*, i[34567]86-*-netbsd*, x86_64-*-netbsd*, |
| m68k*-*-netbsdelf*, mips*-*-netbsd*, powerpc-*-netbsd*, |
| sh*-*-netbsd*, sparc-*-netbsdelf*, sparc64-*-netbsd*, |
| vax-*-netbsdelf*, vax-*-netbsd*): Use these .opt files. |
| |
| 2010-12-17 Richard Henderson <rth@redhat.com> |
| |
| * regcprop.c (find_oldest_value_reg): Continue search instead of |
| failing if an element in the copy chain is of the wrong regclass. |
| |
| 2010-12-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR c/20385 |
| * function.c (used_types_insert): Handle ERROR_MARK. |
| * c-decl.c (grokdeclarator): Handle ERROR_MARK. |
| (declspecs_add_type): Leave error_mark_node in specs->type. |
| (finish_declspecs): Change it to integer_type_node here. |
| * c-parser.c (c_parser_peek_2nd_token): Move earlier. |
| (enum c_lookahead_kind): New. |
| (c_parser_next_token_starts_typename): New name of |
| c_parser_next_tokens_start_typename. Accept lookahead enum |
| and handle it here instead of... |
| (c_parser_next_tokens_start_declaration): ... here. Call it. |
| (c_parser_declspecs): Accept another argument. Do not exit |
| on C_ID_ID if it is guessed to be an unknown typename. |
| (c_parser_parms_declarator): Use 2nd token to distinguish a K&R |
| declaration from an ANSI declaration starting with an unknown |
| typename. |
| (c_parser_struct_declaration, c_parser_objc_type_name, |
| c_parser_typeof_specifier, c_parser_declarator, |
| c_parser_direct_declarator_inner): Adjust calls. |
| (c_parser_parameter_declaration): Likewise. |
| (c_parser_type_name): Pass back an error_mark_node to the caller. |
| (c_parser_postfix_expression): Do error recovery when |
| c_parser_type_name returns NULL. |
| |
| 2010-12-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/netware.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): Define. |
| * config/i386/nto.h (LIB_SPEC, ASM_SPEC): Define. |
| (DBX_REGISTER_NUMBER): Undefine. |
| * config/i386/sol2.h (SIZE_TYPE, PTRDIFF_TYPE): Define. |
| * config/i386/vxworksae.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): |
| Define. |
| * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | |
| i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | |
| i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* | |
| x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu, |
| i[3456x]86-*-netware*, i[34567]86-*-nto-qnx*, |
| i[34567]86-*-solaris2*, |
| i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae): Don't use svr4.h. |
| |
| 2010-12-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (move_or_delete_vzeroupper_2): Replace |
| "BB [%i]" with "[bb %i]" in dump. |
| (move_or_delete_vzeroupper_1): Likewise. |
| (rescan_move_or_delete_vzeroupper): Likewise. Always dump |
| upper 128bit state at exit. |
| |
| 2010-12-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/interix.opt: New. |
| * config/interix.h (LINK_SPEC): Don't handle -soname*. |
| * config.gcc (i[34567]86-*-interix3*): Use interix.opt. |
| |
| 2010-12-17 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical |
| operand order for plus. |
| Drop redundant % from constraints. |
| |
| 2010-12-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and |
| _floatunstisf. |
| * config/spu/spu.md ("floattisf2"): New expander. |
| ("floatunstisf2"): New insn pattern and splitter. |
| ("cgt_ti_m1"): New insn pattern. |
| |
| 2010-12-17 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/arm/arm.c (arm_select_cc_mode): Before calling |
| arm_select_dominance_cc_mode for AND or IOR operations, ensure |
| that op is NE or EQ. |
| |
| 2010-12-17 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR middle-end/46761 |
| * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer |
| to use unadjusted UB. |
| |
| 2010-12-17 Dodji Seketeli <dodji@redhat.com> |
| |
| * dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug |
| info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use |
| that underlying type instead. |
| |
| 2010-12-16 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/44563 |
| * ipa-inline.c: Update doplevel comment. |
| (cgraph_estimate_size_after_inlining): Remove times attribute. |
| (cgraph_mark_inline_edge): Update. |
| (cgraph_mark_inline): Remove. |
| (cgraph_estimate_growth): Update. |
| (cgraph_check_inline_limits): Remove one only argument. |
| (cgraph_edge_badness): Update. |
| (cgraph_decide_recursive_inlining): Update. |
| (cgraph_decide_inlining_of_small_function): Fix handling of |
| tree_can_inline_p and call_stmt_cannot_inline_p. |
| (cgraph_flatten): Likewise. |
| (cgraph_decide_inlining): Update. |
| (cgraph_decide_inlining_incrementally): Fix handling of |
| call_stmt_cannot_inline_p. |
| |
| 2010-12-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/darwin.opt (dylinker, headerpad_max_install_names, |
| keep_private_externs, nofixprebinding, nomultidefs, noprebind, |
| noseglinkedit, object, prebind, prebind_all_twolevel_modules, |
| preload, private_bundle, pthread, seglinkedit, twolevel_namespace, |
| twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New |
| Driver options. |
| * config/darwin.h (LINK_SPEC): Remove '*' after |
| headerpad_max_install_names. |
| |
| 2010-12-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/46924 |
| * graphite-sese-to-poly.c (detect_commutative_reduction): Do not |
| detect reductions outside the current SESE region. |
| * sese.h (stmt_in_sese_p): New. |
| (defined_in_sese_p): Call stmt_in_sese_p. |
| |
| 2010-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46966 |
| * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for |
| for bbs that are removed from SCOP_BBS vector. |
| |
| 2010-12-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to |
| get_ref_base_and_extent returns -1 as the max size. |
| |
| 2010-12-16 Konrad Eisele <konrad@gaisler.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| Support for LEON processor |
| * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically. |
| (sparc-*-linux*): Likewise. |
| (sparc-*-rtems*): Remove Solaris left-overs. |
| (sparc*-*-*): Remove obsolete sparc86x setting. |
| (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon. |
| * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon. |
| * config/sparc/sparc.h (TARGET_CPU_leon): Define. |
| (TARGET_CPU_sparc86x): Delete. |
| (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7. |
| (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite. |
| (TARGET_CPU_f934): Likewise. |
| (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet. |
| (CPP_CPU_SPEC): Add entry for -mcpu=leon. |
| (enum processor_type): Add PROCESSOR_LEON. Reorganize. |
| * config/sparc/sparc.c (leon_costs): New cost array. |
| (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon. |
| Initialize cost array to leon_costs if -mtune=leon. |
| * config/sparc/sparc.md (cpu attribute): Add leon. Reorganize. |
| Include leon.md scheduling description. |
| * config/sparc/leon.md: New file. |
| * config/sparc/t-elf: Do not assemble Solaris startup files. |
| * config/sparc/t-leon: New file. |
| * config/sparc/t-leon3: Likewise. |
| |
| 2010-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/43655 |
| * tree-ssa-ter.c (is_replaceable_p): Don't use |
| gimple_references_memory_p for -O0, instead check for load |
| by looking at rhs. |
| |
| 2010-12-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/46404 |
| * graphite-clast-to-gimple.c (gloog): Call scev_reset. |
| |
| 2010-12-16 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove. |
| * config/sh/sh.c (sh_asm_output_addr_const_extra): New function. |
| (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. |
| |
| 2010-12-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define. |
| * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define. |
| (LIBGCC2_UNITS_PER_WORD): Define if not already defined. |
| |
| 2010-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46893 |
| * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode, |
| use TYPE_MODE (TREE_TYPE (tem)) instead of mode1. |
| |
| 2010-12-16 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| PR target/46883 |
| * config/arm/arm.md |
| (zero_extendhisi2 for register input splitter): Change |
| "register_operand" to "s_register_operand". |
| (zero_extendqisi2 for register input splitter): Same. |
| |
| 2010-12-16 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/46939 |
| * predic.c (predict_paths_leading_to_edge): New function. |
| (apply_return_prediction): Use it. |
| (predict_paths_for_bb): Do not special case abnormals. |
| |
| 2010-12-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to |
| extra_options twice. |
| |
| 2010-12-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document. |
| * doc/tm.texi: Regenerate. |
| * system.h (US_SOFTWARE_GOFAST): Poison. |
| * config.gcc (enable_gofast): Don't handle. |
| * config/gofast.h: Remove. |
| * config/mips/t-gofast: Remove. |
| * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle. |
| * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle. |
| * config/mips/elforion.h: Don't mention GOFAST in comment. |
| * config/mips/mips.c: Don't include gofast.h. |
| (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs. |
| * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define |
| US_SOFTWARE_GOFAST. |
| * config/sparc/sparc.c: Don't include gofast.h. |
| (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs. |
| * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine |
| US_SOFTWARE_GOFAST. |
| |
| 2010-12-14 Jan Hubicka <jh@suse.cz> |
| |
| * config/darwin.opt (dylinker, headerpad_max_install_names, |
| keep_private_externs, nofixprebinding, nomultidefs, noprebind, |
| noseglinkedit, object, prebind, prebind_all_twolevel_modules, |
| preload, private_bundle, pthread, seglinkedit, twolevel_namespace, |
| twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New |
| Driver options. |
| * config/darwin.h (LINK_SPEC): Remove '*' after |
| headerpad_max_install_names. |
| |
| 2010-12-14 Jan Hubicka <jh@suse.cz> |
| |
| * tree.c (get_file_function_name): Avoid using random seed on |
| GLOBAL_sub_I and GLOBAL_sub_D. |
| |
| 2010-12-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/46053 |
| PR middle-end/46287 |
| PR middle-end/46242 |
| * cgraph.h (cgraph_indirect_call_info): New field thunk_delta. |
| * gimple.h (gimple_fold_obj_type_ref): Declaration removed. |
| (gimple_fold_call): Declare. |
| (gimple_adjust_this_by_delta): Likewise. |
| * cgraph.c (cgraph_make_edge_direct): New parameter delta. Updated |
| all users. |
| (cgraph_clone_edge): Create a copy of indirect_info also for direct |
| edges. |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this |
| parameters. |
| * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to |
| gimple_get_virt_mehtod_for_binfo, new parameter delta. Do not search |
| through thunks, in fact bail out if we encounter one, check that |
| BINFO_VIRTUALS is not NULL. |
| (gimple_adjust_this_by_delta): New function. |
| (gimple_fold_obj_type_ref): Removed. |
| (gimple_fold_obj_type_ref_call): New function. |
| (fold_gimple_call): Renamed to gimple_fold_call, made external. |
| Updated users. Call gimple_fold_obj_type_ref_call instead of |
| gimple_fold_obj_type_ref. |
| * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process |
| thunk deltas. |
| (ipcp_discover_new_direct_edges): Likewise. |
| * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta. |
| Updated callers. |
| (ipa_write_indirect_edge_info): Stream thunk_delta. |
| (ipa_read_indirect_edge_info): Likewise. |
| * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of |
| gimple_fold_obj_type_ref. |
| |
| 2010-12-15 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/46649 |
| * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first |
| basic block in the region. |
| |
| 2010-12-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define. |
| * config.gcc (xstormy16-*-elf): Don't use svr4.h. |
| |
| 2010-12-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (rx-*-elf*): Don't use svr4.h. |
| |
| 2010-12-14 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/46845 |
| * sese.c (scalar_evolution_in_region): Handle scop parameters |
| before scev analysis. |
| |
| 2010-12-14 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/46928 |
| * tree-data-ref.c (analyze_overlapping_iterations): Handle A[p] == A[p] |
| in data dependence analysis with p a parameter of the loop. |
| |
| 2010-12-14 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/45948 |
| * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New. |
| (stmt_has_scalar_dependences_outside_loop): New. |
| (stmt_generated_in_another_partition): New. |
| (add_scalar_computations_to_partition): New. |
| (rdg_build_partitions): Call add_scalar_computations_to_partition. |
| |
| 2010-12-14 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/arc/arc.h (LIB_SPEC): Define. |
| * config.gcc (arc-*-elf*): Don't use svr4.h. |
| |
| 2010-12-14 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/sh/elf.h (LIB_SPEC): Define. |
| * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* | |
| sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* | |
| sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | |
| sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*, |
| sh-wrs-vxworks): Don't use svr4.h. |
| |
| 2010-12-14 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/46940 |
| PR lto/44463 |
| * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes |
| for aliases when they are used. |
| |
| 2010-12-14 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*, |
| sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks, |
| sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*, |
| sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h. |
| |
| 2010-12-14 Thomas Klein <th.r.klein@web.de> |
| |
| * config/arm/arm.c (arm_expand_prologue): Report the static stack |
| size if -fstack-usage is used. |
| (thumb1_expand_prologue): Likewise. |
| |
| 2010-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46885 |
| * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb |
| instead of gsi_last_nondebug_bb if bump_in_latch. |
| |
| PR tree-optimization/46909 |
| * gimple-fold.c (and_var_with_comparison_1): Save partial |
| result even in the is_and case, if both partial results |
| are the same, return it. |
| (or_var_with_comparison_1): Use is_or predicate instead of |
| innercode == TRUTH_OR_EXPR test. Save partial result |
| even in the is_or case, if both partial results are the |
| same, return it. In the !is_or case when both partial |
| results are the same, return the partial result instead |
| of boolean_true_node. |
| |
| 2010-12-14 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/46667 |
| * varasm.c (assemble_start_function): Do not call |
| resolve_unique_section. |
| * cfgexpand.c (gimple_expand_cfg): Resolve it here. |
| |
| 2010-12-14 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/46875 |
| * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs. |
| * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps. |
| |
| 2010-12-14 Kaushik Phatak <kaushik.phatak@kpitcummins.com> |
| |
| * config/h8300/h8300.md (define_split) : Add condition for |
| "and with single_zero" splitter to handle 16-bit const operands. |
| * config/h8300/h8300.md (define_split) : Add condition for |
| "ior with single_one" splitter to handle 16-bit const operands. |
| * config/h8300/h8300.md (define_split) : Add condition for |
| "xor with single_one" splitter to handle 16-bit const operands. |
| * testsuite/gcc.dg/h8300-bit-insn-ice.c: New. |
| |
| 2010-12-13 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/45388 |
| * ipa.c (cgraph_build_static_cdtor_1): Break out from ... Add FINAL |
| parameter. |
| (cgraph_build_static_cdtor): ... here. |
| (build_cdtor): Use cgraph_build_static_cdtor_1. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE, |
| PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h. |
| |
| 2010-12-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/44374 |
| Reapply patch with fixes. |
| * basic-block.h (enum bb_flags): Add BB_MODIFIED. |
| * df-core.c (df_set_bb_dirty): Set it. |
| * ifcvt.c (find_memory): Remove function. |
| (dead_or_predicable): Use can_move_insns_across. |
| * df.h (can_move_insns_across): Declare function. |
| * cfgcleanup.c (block_was_dirty): New static variable. |
| (flow_find_head_matching_sequence): Test for epilogue notes. |
| (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather |
| than df_get_bb_dirty. |
| (try_head_merge_bb): New static function. |
| (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty |
| is set. |
| * df-problems.c: Include "target.h" |
| (df_simulate_find_uses): New static function. |
| (MEMREF_NORMAL, MEMREF_VOLATILE): New macros. |
| (find_memory, find_memory_store): New static functions. |
| (can_move_insns_across): New function. |
| * Makefile.in (df-problems.o): Update dependencies. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define. |
| (DBX_REGISTER_NUMBER): Undefine. |
| * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define. |
| (DBX_REGISTER_NUMBER): Undefine. |
| * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h. |
| |
| 2010-12-13 Jack Howarth <howarth@bromo.med.uc.edu> |
| Joseph Myers <joseph@codesourcery.com> |
| |
| PR bootstrap/46650 |
| * system.h: Include cstring for cxx bootstrap. |
| |
| 2010-12-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/46879 |
| * lto-streamer-out.c (output_gimple_stmt): Never replace first |
| GIMPLE_DEBUG argument with MEM_REF. |
| |
| PR debug/46867 |
| * var-tracking.c (emitted_notes, string_pointer_flags): Removed. |
| (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification. |
| (vt_emit_notes): Don't initialize and destroy emitted_notes. |
| |
| 2010-12-13 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR target/46040 |
| * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h. |
| (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Define. |
| * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*): |
| Don't use svr4.h. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Undefine. |
| * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Define. |
| * config.gcc (mn10300-*-*): Don't use svr4.h. |
| |
| 2010-12-13 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and redefine. |
| (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h. |
| |
| 2010-12-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/46756 |
| * jump.c (mark_all_labels): Skip debug insns. |
| |
| 2010-12-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/46782 |
| * cfgcleanup.c (try_forward_edges): Skip debug insns. |
| |
| 2010-12-12 Jan Hubicka <jh@suse.cz> |
| Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * varasm.c (default_function_section): Check flag_reorder_functions |
| and targetm.have_named_sections. |
| * config/darwin.c (darwin_function_section): Check |
| flag_reorder_functions. |
| |
| 2010-12-12 Finn Thain <fthain@telegraphics.com.au> |
| |
| PR target/46179 |
| * config/m68k/m68k.c (handle_move_double): Insert calls to |
| m68k_final_prescan_insn to clean up @TLS operand syntax. |
| |
| 2010-12-10 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/43023 |
| * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): |
| Removed. |
| (stores_zero_from_loop): Call stmt_stores_zero. |
| * tree-data-ref.h (stmt_stores_zero): New. |
| * tree-loop-distribution.c (generate_memset_zero): Do not return a |
| boolean. Call gcc_assert on stride_of_unit_type_p. |
| (generate_builtin): Call stmt_stores_zero. |
| (rdg_flag_all_uses): Removed. |
| (rdg_flag_similar_memory_accesses): Removed. |
| (build_rdg_partition_for_component): Removed parameter |
| other_stores. Removed call to rdg_flag_similar_memory_accesses. |
| (can_generate_builtin): New. |
| (similar_memory_accesses): New. |
| (fuse_partitions_with_similar_memory_accesses): New. |
| (rdg_build_partitions): Call |
| fuse_partitions_with_similar_memory_accesses. |
| |
| 2010-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/46804 |
| * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note |
| on the setter of src_reg rather than on insn. If it is |
| equal to the setter's original SET_SRC, replace it with its |
| zero or sign extension instead of dropping it. |
| |
| 2010-12-10 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46808 |
| * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings |
| after errors. |
| (lto_symtab_merge_decls_1): Adjust. |
| |
| 2010-12-10 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR middle-end/46674 |
| PR lto/43157 |
| * target.def (mangle_assembler_name): New target asm_out hook. |
| * targhooks.c (default_mangle_assembler_name): Add default hook |
| implementation. |
| * targhooks.h (default_mangle_assembler_name): Add prototype. |
| * lto-symtab.c (lto_symtab_register_decl): Use new hook when |
| processing DECL_ASSEMBLER_NAMEs for lto symtabs. |
| (lto_symtab_get_resolution): Likewise. |
| (lto_cgraph_replace_node): Likewise. |
| (lto_symtab_prevailing_decl): Likewise. |
| * lto-streamer-out.c (write_symbol): Likewise. |
| * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive. |
| * doc/tm.texi: Regenerate. |
| * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to |
| point at i386_pe_mangle_assembler_name. |
| * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function. |
| * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add |
| prototype. |
| |
| 2010-12-10 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-typeck.c (readonly_error): Delete. |
| |
| 2010-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/46865 |
| * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of |
| ASM_OPERANDS and ASM_INPUT if integers are different, call locator_eq. |
| * jump.c (rtx_renumbered_equal_p): Likewise. |
| |
| PR tree-optimization/46864 |
| * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even |
| when there are EDGE_EH exit edges. |
| |
| 2010-12-10 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/46540 |
| * configure.ac: Handle --disable-libquadmath-support. |
| * doc/install.texi: Document --disable-libquadmath and |
| --disable-libquadmath-support |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2010-12-10 Jack Howarth <howarth@bromo.med.uc.edu> |
| Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR 43751/target |
| * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types. |
| |
| 2010-12-10 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c |
| (rs6000_darwin64_record_arg_advance_recurse): Name register increment |
| explicitly. (rs6000_darwin64_record_arg_recurse): Make sure we split |
| long doubles when we run out of regs. Also flag that this requires |
| stack and therefore cannot be returned by value. |
| (rs6000_darwin64_record_arg): Update comment. |
| (rs6000_function_value): Likewise. |
| |
| 2010-12-10 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_class_definition): Recognize |
| Objective-C 2.0 class extensions. |
| |
| 2010-12-10 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.c: Remove c-tree.h and c-lang.h |
| * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h. |
| |
| 2010-12-10 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46881 |
| * doc/tm.texi: Regenerate. |
| * target.def: Fix "preferred" spelling. Refer to rclass by its |
| exact name. |
| * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class |
| to rclass. |
| |
| 2010-12-09 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11-protos.h (output_move_double, |
| output_move_quad): Delete. |
| (output_move_multiple, pdp11_expand_operands): New functions. |
| (pdp11_action, pdp11_partorder): New enums. |
| * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use |
| output_move_multiple. |
| (adddi3, subdi3, negdi2): New patterns. |
| (addsi3, subsi3, negsi2): Use pdp11_expand_operands. |
| (abshi2): Delete. |
| (neghi2, negqi2): Use PDPint iterator. |
| * config/pdp11/pdp11.c (find_addr_reg, output_move_double, |
| output_move_quad): Delete. |
| (pdp11_expand_operands, output_move_multiple): New functions. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (vax-*-linux*): Don't use svr4.h. |
| |
| 2010-12-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-typeck.c (build_indirect_ref): Call invalid_indirection_error. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/extend.texi (Attribute Syntax): Correct description of |
| attributes in pointer declarators. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine. |
| * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*, |
| mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Define. |
| * config.gcc (mep-*-*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Define. |
| * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Don't define. |
| * config.gcc (mcore-*-elf): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*, |
| m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE, |
| WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (iq2000*-*-elf*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE, |
| WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE, |
| WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine. |
| * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| WCHAR_TYPE_SIZE): Define. |
| * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE, |
| PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| * config.gcc (fr30-*-elf): Don't use svr4.h. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define. |
| * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h. |
| |
| 2010-12-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46844 |
| * gimple-fold.c (canonicalize_constructor_val): Canonicalize addresses. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/netware.h (TARGET_POSIX_IO): Define. |
| * config/i386/nto.h (TARGET_POSIX_IO): Define. |
| * config/ia64/hpux.h (TARGET_POSIX_IO): Define. |
| * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine. |
| * config/openbsd.h (TARGET_POSIX_IO): Define. |
| * config/rtems.h (TARGET_POSIX_IO): Define. |
| * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine. |
| * config/sol2.h (TARGET_POSIX_IO): Define. |
| * config/svr4.h (TARGET_POSIX_IO): Don't define. |
| * config/vxworksae.h (TARGET_POSIX_IO): Define. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define. |
| * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define. |
| * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't |
| undefine. |
| * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't |
| undefine. |
| * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define. |
| * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): |
| Don't undefine. |
| * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't define. |
| * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't |
| undefine. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for |
| non-GNU assembler. |
| * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove. |
| * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove. |
| * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove. |
| * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for |
| non-GNU assembler. |
| * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove. |
| * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove. |
| |
| 2010-12-09 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the |
| zero is the first phi parameter. |
| |
| 2010-12-09 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type. |
| * ipa-prop.c (ipa_modify_call_arguments): Use it. |
| * tree-sra.c (splice_param_accesses): Test that all accesses have the |
| same alias reference type. |
| (turn_representatives_into_adjustments): Set alias_ptr_type of the |
| adjustment. |
| |
| 2010-12-09 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/46734 |
| * tree-sra.c (splice_param_accesses): Check that there are not |
| multiple ADDRESSABLE types. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/arc/arc.h (ASM_SPEC): Remove %{v}. |
| * config/bfin/bfin.h (ASM_SPEC): Remove %{v}. |
| * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}. |
| * config/fr30/fr30.h (ASM_SPEC): Remove %{v}. |
| * config/frv/frv.h (ASM_SPEC): Remove %{v}. |
| * config/i386/linux.h (ASM_SPEC): Remove %{v}. |
| * config/i386/linux64.h (ASM_SPEC): Remove %{v}. |
| * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}. |
| * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}. |
| * config/i386/vxworks.h (ASM_SPEC): Remove %{v}. |
| * config/i386/x86-64.h (ASM_SPEC): Remove %{v}. |
| * config/lm32/lm32.h (ASM_SPEC): Remove %{v}. |
| * config/m32r/m32r.h (ASM_SPEC): Remove %{v}. |
| * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}. |
| * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}. |
| * config/mips/mips.h (ASM_SPEC): Remove %{v}. |
| * config/mips/vxworks.h (ASM_SPEC): Remove %{v}. |
| * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}. |
| * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}. |
| * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}. |
| * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}. |
| * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}. |
| * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}. |
| * config/xtensa/elf.h (ASM_SPEC): Remove %{v}. |
| * config/xtensa/linux.h (ASM_SPEC): Remove %{v}. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}. |
| * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}. |
| * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not %{r*:}. |
| * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not %{r*:}. |
| * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}. |
| * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}. |
| * config/alpha/linux-elf.h (LINK_SPEC): Likewise. |
| * config/arm/freebsd.h (LINK_SPEC): Likewise. |
| * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise. |
| * config/bfin/linux.h (LINK_SPEC): Likewise. |
| * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise. |
| * config/frv/linux.h (LINK_SPEC): Likewise. |
| * config/i386/freebsd.h (LINK_SPEC): Likewise. |
| * config/i386/freebsd64.h (LINK_SPEC): Likewise. |
| * config/i386/linux.h (LINK_SPEC): Likewise. |
| * config/i386/linux64.h (LINK_SPEC): Likewise. |
| * config/i386/openbsdelf.h (LINK_SPEC): Likewise. |
| * config/ia64/freebsd.h (LINK_SPEC): Likewise. |
| * config/ia64/linux.h (LINK_SPEC): Likewise. |
| * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise. |
| * config/m32r/linux.h (LINK_SPEC): Likewise. |
| * config/m68k/linux.h (LINK_SPEC): Likewise. |
| * config/microblaze/linux.h (LINK_SPEC): Likewise. |
| * config/mips/linux.h (LINK_SPEC): Likewise. |
| * config/mips/linux64.h (LINK_SPEC): Likewise. |
| * config/mips/openbsd.h (LINK_SPEC): Likewise. |
| * config/mn10300/linux.h (LINK_SPEC): Likewise. |
| * config/netbsd-elf.h (LINK_SPEC): Likewise. |
| * config/pa/pa-linux.h (LINK_SPEC): Likewise. |
| * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, |
| LINK_OS_LINUX_SPEC64): Likewise. |
| * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC, |
| LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise. |
| * config/s390/linux.h (LINK_SPEC): Likewise. |
| * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise. |
| * config/sparc/freebsd.h (LINK_SPEC): Likewise. |
| * config/sparc/linux.h (LINK_SPEC): Likewise. |
| * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, |
| LINK_SPEC): Likewise. |
| * config/sparc/openbsd64.h (LINK_SPEC): Likewise. |
| * config/vax/linux.h (LINK_SPEC): Likewise. |
| * config/xtensa/linux.h (LINK_SPEC): Likewise. |
| |
| 2010-12-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}. |
| * config/frv/frv.h (ASM_SPEC): Likewise. |
| * config/i386/sol2-10.h (ASM_SPEC): Likewise. |
| * config/i386/sol2.h (ASM_SPEC): Likewise. |
| * config/m68k/linux.h (ASM_SPEC): Likewise. |
| * config/pa/pa-linux.h (ASM_SPEC): Likewise. |
| * config/rs6000/linux64.h (ASM_SPEC32): Likewise. |
| * config/rs6000/vxworks.h (ASM_SPEC): Likewise. |
| * config/sol2.h (ASM_SPEC): Likewise. |
| * config/sparc/linux.h (ASM_SPEC): Likewise. |
| * config/sparc/linux64.h (ASM_SPEC): Likewise. |
| * config/sparc/sp-elf.h (ASM_SPEC): Likewise. |
| * config/sparc/sysv4.h (ASM_SPEC): Likewise. |
| * config/svr4.h (SVR4_ASM_SPEC): Likewise. |
| |
| 2010-12-09 Richard Guenther <rguenther@suse.de> |
| |
| * reginfo.c (struct subregs_of_mode_node): Remove. |
| (subregs_of_mode): Likewise. |
| (som_hash): Likewise. |
| (som_eq): Likewise. |
| (invalid_mode_changes): New bitmap. |
| (record_subregs_of_mode): Get subregs_of_mode argument. |
| Fill in invalid_mode_changes bitmap. |
| (find_subregs_of_mode): Get subregs_of_mode argument and pass |
| it through. |
| (init_subregs_of_mode): Adjust. |
| (finish_subregs_of_mode): Likewise. |
| (invalid_mode_change_p): Query invalid_mode_changes bitmap. |
| |
| 2010-12-09 Richard Guenther <rguenther@suse.de> |
| |
| * ira.c (ira): Do not call finish_subregs_of_mode. |
| * ira-costs.c (finish_costs): Call finish_subregs_of_mode. |
| |
| 2010-12-09 Richard Guenther <rguenther@suse.de> |
| |
| * rtl.h (invalid_mode_change_p): Adjust prototype. |
| * reginfo.c (invalid_mode_change_p): Remove from argument. |
| * ira-costs.c (print_allocno_costs): Adjust callers. |
| (find_costs_and_classes): Likewise. |
| |
| 2010-12-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to |
| locg and stocg even in comment. |
| (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE. |
| |
| PR target/41082 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx |
| instead of stve*x. |
| (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead |
| of operand 0. |
| * config/rs6000/altivec.md (VI_scalar): New mode attr. |
| (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of |
| vector mode for operand 0, put operand 1 into UNSPEC. |
| |
| 2010-12-09 Yao Qi <yao@codesourcery.com> |
| |
| * config/arm/arm.c (arm_preferred_rename_class): Implement targethook |
| PREFERRED_RENAME_CLASS. |
| |
| 2010-12-08 Ian Lance Taylor <iant@google.com> |
| |
| * doc/sourcebuild.texi (Front End): Remove reference to |
| snapshot-README and snapshot-index.html. |
| |
| 2010-12-08 Ian Lance Taylor <iant@google.com> |
| |
| * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs |
| to update_web_docs_svn. |
| (Front End): Likewise. |
| |
| 2010-12-08 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and |
| x86_64-*-darwin* to with_cpu:-core2. |
| * gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq |
| with movd for darwin assembler. |
| * gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto. |
| (*vec_concatv2di_rex64_sse): Ditto. |
| |
| 2010-12-08 Richard Guenther <rguenther@suse.de> |
| Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/45230 |
| PR tree-optimization/45231 |
| PR tree-optimization/45370 |
| * sese.c (rename_uses): Returns a bool. Call |
| recompute_tree_invariant_for_addr_expr only on the RHS of a |
| GIMPLE_ASSIGN. |
| (graphite_copy_stmts_from_block): Call fold_stmt_inplace when |
| rename_uses returns true. |
| * tree-ssa-copy.c (replace_exp): Add a comment about calling |
| fold_stmt_inplace after replace_exp. |
| |
| 2010-12-08 Mike Stump <mikestump@comcast.net> |
| |
| PR debug/46749 |
| * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add. |
| (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better. |
| * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add. |
| (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better. |
| * collect2.c (post_ld_pass): Add. |
| (process_args): Add. |
| (maybe_run_lto_and_relink): Call post_ld_pass after ld. |
| (main): Likewise. Call process_args. |
| |
| 2010-12-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46844 |
| * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg parameter. |
| |
| 2010-12-08 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/46631 |
| * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd |
| into a 16-bit instruction. |
| |
| 2010-12-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR middle-end/42694 |
| * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y) |
| where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt |
| instruction, but do optimize if y is 0.5 or 1./3. since that |
| changes an expensive call into a cheaper one. |
| |
| 2010-12-08 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift |
| instead of a division to divide by BITS_PER_UNIT. |
| |
| 2010-12-08 Richard Guenther <rguenther@suse.de> |
| |
| * gimplify.c (gimple_tree_eq): Assert hashes are equal only |
| when checking is enabled. |
| |
| 2010-12-07 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/43603 |
| * haifa-sched.c (sched_create_recovery_edges): Update |
| dominator info. |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info |
| after deleting an empty block. |
| (tidy_control_flow): Also verify dominators. |
| (sel_remove_bb): Update dominator info after removing a block. |
| (sel_redirect_edge_and_branch_force): Assert that no unreachable |
| blocks will be created. Update dominator info. |
| (sel_redirect_edge_and_branch): Update dominator info when |
| basic blocks do not become unreachable. |
| (sel_remove_loop_preheader): Update dominator info. |
| |
| 2010-12-07 Richard Guenther <rguenther@suse.de> |
| |
| * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): |
| Reset alignment information. |
| (bump_vector_ptr): Likewise. |
| |
| 2010-12-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/46671 |
| PR target/46685 |
| * config/pa/pa.c (pa_function_section): New function. |
| (TARGET_ASM_FUNCTION_SECTION): Define. |
| |
| 2010-12-07 Ian Lance Taylor <iant@google.com> |
| Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/46810 |
| * configure.ac: Disable AC_MSG_ERROR while looking for the C++ |
| preprocessor. |
| * configure: Rebuild. |
| |
| 2010-12-07 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative |
| values with sign rather than as unsigned. |
| |
| 2010-12-07 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define. |
| (pdp11_function_section): New function. |
| |
| 2010-12-07 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mcore/mcore.c Don't include assert.h. |
| (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert. |
| * config/spu/spu.c: Don't include assert.h. |
| (spu_sms_res_mii): Use gcc_assert. |
| |
| 2010-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/42327 |
| * tree-data-ref.c (omega_setup_subscript): Call build_int_cst |
| instead of using integer_minus_one_node. |
| |
| 2010-12-07 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR c++/45330 |
| * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter. |
| * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document. |
| |
| 2010-12-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46832 |
| * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check |
| that the call has a lhs. |
| |
| 2010-12-07 Yao Qi <yao@codesourcery.com> |
| |
| * Makefile.in: Add $(TARGET_H) to the regrename.o rule. |
| * regrename.c (struct du_head): Add new element length. |
| (sort_du_head, get_element, merge, merge_sort_comparison): |
| New functions of merge sort implementation to du_head list. |
| (regrename_optimize): Sort du_head linked list by length. |
| Iterate registers in a preferred-register-first order. |
| Move some code to ... |
| (check_new_reg_p): here. New function. |
| (create_new_chain): Initialize length. |
| (scan_rtx_reg): Increase length for non-debug insns. |
| * target.def: New hook preferred_rename_class. |
| * targhook.c (default_preferred_rename_class): New. |
| * targhook.h: Declare it. |
| * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS. |
| * doc/tm.texi: Regenerate. |
| |
| 2010-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46799 |
| * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION |
| instead of BUILTINS_LOCATION. |
| (create_loop_fn): Add LOC argument, pass it to build_decl instead of |
| BUILTINS_LOCATION. |
| (create_parallel_loop): Add LOC argument, use it for OMP clauses |
| and GIMPLE_*OMP* statements. |
| (gen_parallel_loop): Determine locus for the parallel loop, pass it |
| to create_loop_fn and create_parallel_loop. |
| * cfgexpand.c (gimple_expand_cfg): For builtin functions, call |
| set_curr_insn_source_location (UNKNOWN_LOCATION). |
| |
| 2010-12-07 Joern Rennecke <amylaar@spamcop.net> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR target/46737 |
| * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t. |
| (bfin_reorder_loops): Change type of index to intptr_t. |
| |
| 2010-12-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46726 |
| * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0). |
| |
| 2010-12-07 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink |
| virtual operands. |
| |
| 2010-12-07 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_typeof_specifier): Removed special |
| treatment of objc_volatilized attribute for Objective-C. |
| |
| 2010-12-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira.c (update_equiv_regs): Prohibit move insns if |
| pressure-sensitive scheduling was done. |
| |
| 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead |
| of c_process_expr_stmt() for the iterating and collection |
| expressions of an Objective-C fast enumeration loop. |
| |
| 2010-12-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45997 |
| * dwarf2out.c (modified_type_die): If both is_const_type and |
| is_volatile_type is set, start with DW_TAG_const_type or |
| DW_TAG_volatile_type depending on where we get qualified type |
| in the recursive call. |
| |
| PR target/43897 |
| * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER |
| as a store into that register. |
| |
| PR tree-optimization/46528 |
| PR debug/46338 |
| * profile.c (branch_prob): Make sure last is never set to a debug |
| stmt. |
| |
| PR debug/46771 |
| * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode |
| on DEBUG_INSNs. |
| |
| PR rtl-optimization/46777 |
| * cfglayout.c (duplicate_insn_chain): Avoid duplicating |
| also barrier after tablejump. |
| |
| 2010-12-06 Joern Rennecke <amylaar@spamcop.net> |
| Richard Henderson <rth@redhat.com> |
| |
| PR target/46740 |
| * config/vax/vax.c (vax_output_int_move): Fold #if into if. |
| |
| 2010-12-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally. |
| * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine. |
| |
| 2010-12-06 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46735 |
| * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE. |
| (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise. |
| (int12_operand, int_2word_operand, uint16_operand): Likewise. |
| (fpr_or_int6_operand, int6_operand, int5_operand): Likewise. |
| (uint5_operand, uint4_operand): Likewise. |
| * config/frv/frv.h (IN_RANGE_P): Delete. |
| (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE. |
| (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise. |
| (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise. |
| (CONST_OK_FOR_P): Likewise. |
| * config/frv/frv.md (*movqicc_internal2_int): Likewise. |
| (*movqicc_internal2_float, *movhicc_internal2_int): Likewise. |
| (*movhicc_internal2_float, *movsicc_internal2_int): Likewise. |
| (*movsicc_internal2_float, casesi): Likewise. |
| * config/frv/frv.c (frv_frame_offset_rtx): Likewise. |
| (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise. |
| (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise. |
| (frv_split_cond_move, frv_rtx_costs): Likewise. |
| |
| PR target/46739 |
| * config/mmix/mmix.c (mmix_intval): Split shift count. |
| |
| 2010-12-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (m_COREI7): New. |
| (initial_ix86_tune_features): Turn on |
| X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and |
| X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7. |
| |
| 2010-12-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config.gcc: Allow corei7-avx for --with-arch/--with-cpu. |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Support |
| Sandy Bridge. |
| |
| * config/i386/i386.c (override_options): Handle "corei7-avx". |
| |
| * doc/invoke.texi: Document corei7-avx. |
| |
| 2010-12-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46806 |
| * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not |
| coalesce different types. |
| |
| 2010-12-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46785 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow |
| call statements as operand definition. |
| |
| 2010-12-06 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * doc/tm.texi.in: Fix typo. |
| * doc/tm.texi: Regenerate. |
| |
| 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in |
| last change. |
| |
| 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-family/c-common.h: Removed the declarations of all the objc_ |
| callbacks, and moved them into c-objc.h. Removed |
| objc_ivar_visibility_kind and moved it into c-objc.h. |
| * c-family/c-objc.h: New file. |
| * c-family/c-common.c: Include c-objc.h. |
| * c-family/c-format.c: Same change. |
| * c-family/stub-objc.c: Same change. |
| * c-decl.c: Include c-family/c-objc.h. |
| * c-parser.c: Same change. |
| * c-typeck.c: Same change. |
| * c-config-lang.in (gtfiles): Added c-family/c-objc.h. |
| * Makefile.in (c-decl.o): Depend on c-family/c-objc.h. |
| (c-parser.o): same change. |
| (c-typeck.o): Same change. |
| (c-family/c-format.o): Same change. |
| (c-family/stub-objc.o): Same change. |
| (c-family/c-common.o): Same change. |
| (PLUGIN_HEADERS): Added c-family/c-objc.h. |
| |
| 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignore |
| --with-dwarf2 option. |
| |
| 2010-12-03 Jan Hubicka <jh@suse.cz> |
| |
| * lto-streamer-in.c (input_cfg): Fix pasto. |
| |
| 2010-12-03 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (cgraph_externally_visible_p): Do not localize builtins |
| and functions with user asm defined names. |
| (varpool_externally_visible_p): Do not localize vars with user |
| asm defined names. |
| |
| 2010-12-03 Jan Hubicka <jh@suse.cz> |
| |
| * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME |
| to prevent mangling with lto frontend. |
| |
| 2010-12-03 Jan Hubicka <jh@suse.cz> |
| |
| * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H. |
| * lto-cgraph.c (merge_profile_summaries): Fix thinko. |
| |
| 2010-12-03 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/46760 |
| * cgraph.c (cgraph_create_node): Initialize count_materialization_scale. |
| * cgraph.h (struct cgraph_node): Add count_materialization_scale. |
| * lto-cgraph.c (lto_output_edge): Fix assert. |
| (lto_output_node): Output count_materialization_scale. |
| (output_profile_summary): Output only runs and sum_max. |
| (input_node): Input count_materialization_scale. |
| (input_profile_summary): Read data into file specific gcov summary. |
| (merge_profile_summaries): New function. |
| (input_cgraph): Update call of input_profile_summary; |
| call merge_profile_summaries. |
| * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg; |
| rescale counts at read in. |
| (intput_bb): Likewise. |
| (input_function): Update call of input_bb. |
| (lto_read_body): Update call of input_cfg. |
| * lto-streamer.h: Inlclude gcov-io.h |
| (lto_file_decl_data): Add gcov_ctr_summary. |
| |
| 2010-12-03 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ... |
| (Cond Exec Macros): ... to this. |
| * doc/tm.texi: Regenerate. |
| |
| 2010-12-03 Jason Merrill <jason@redhat.com> |
| |
| PR debug/46123 |
| * dwarf2out.c (gen_tagged_type_die): Don't put local types in |
| a declaration DIE. |
| |
| 2010-12-03 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/arm/arm.c (arm_legitimate_index_p): Split |
| VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit |
| slightly larger constants in the latter case. |
| (thumb2_legitimate_index_p): Likewise. |
| |
| 2010-12-03 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options. |
| * gcc.c (cc1_options): Add %{Qy:}. |
| |
| 2010-12-03 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m. |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. |
| * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise. |
| |
| 2010-12-03 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/45354 |
| * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ... |
| (bb_has_removable_jump_to_p): This. Update all callers. Make static. |
| Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps. |
| * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype. |
| |
| 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| * basic-block.h (struct edge_prediction): Remove forward declaration. |
| * tree-flow.h (struct edge_prediction): Move from here... |
| * predict.c (struct edge_prediction): ...to here. |
| * cselib.h (struct elt_list): Move from here... |
| * cselib.c (struct elt_list): ...to here. |
| |
| 2010-12-02 Ian Lance Taylor <iant@google.com> |
| |
| * gcc.c (default_compilers): Add entry for ".go". |
| * common.opt: Add -static-libgo as a driver option. |
| * doc/install.texi (Configuration): Mention libgo as an option for |
| --enable-shared. Mention go as an option for --enable-languages. |
| * doc/invoke.texi (Overall Options): Mention .go as a file name |
| suffix. Mention go as a -x option. |
| * doc/frontends.texi (G++ and GCC): Mention Go as a supported language. |
| * doc/sourcebuild.texi (Top Level): Mention libgo. |
| * doc/standards.texi (Standards): Add section on Go language. |
| Move references for other languages into their own section. |
| * doc/contrib.texi (Contributors): Mention that I contributed the |
| Go frontend. |
| |
| 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag. |
| (const_call_expr_arg_iterator_d): Likewise. |
| (expanded_location): Likewise. |
| * c-tree.h (struct c_arg_tag_d): Likewise. |
| * dwarf2out.c (struct cfa_loc): Likewise. |
| (struct skeleton_chain_struct): Likewise. |
| * except.c (struct ttypes_filter): Likewise. |
| * cselib.h (struct cselib_val_struct): Likewise. |
| (elt_loc_list): Likewise. |
| (elt_list): Likewise. |
| * varasm.c (struct addr_const): Likewise. |
| * tree-flow.h (struct edge_prediction): Likewise. |
| (struct int_tree_map): Likewise. |
| (struct _edge_var_map): Likewise. |
| |
| 2010-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46768 |
| * config/i386/i386.c (initial_ix86_tune_features): Turn on |
| X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7. |
| |
| 2010-12-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config.gcc: Allow corei7 for --with-arch=/--with-cpu=. |
| |
| 2010-12-02 Ian Lance Taylor <iant@google.com> |
| |
| * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++ |
| header files unordered_map, tr1/unordered_map, and ext/hash_map. |
| * configure, config.in: Rebuild. |
| |
| 2010-12-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/46685 |
| * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate. |
| (sparc_expand_move): Call it to decide whether to emit the special |
| mov{si,di}_pic_label_ref patterns. |
| (sparc_legitimize_pic_address): Call it to decide whether to emit |
| the regular PIC sequence for labels. Fix long line. |
| (sparc_file_end): Set is_thunk for the PIC helper. |
| |
| 2010-12-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY |
| for a non-shared type. |
| |
| 2010-12-02 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR middle-end/45297 |
| * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR |
| with MEM_REFs as POINTER_PLUS_EXPR. |
| |
| 2010-12-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h, |
| config/sparc/linux.h, config/sparc/linux64.h: Remove comments |
| mentioning /lib/elf. |
| |
| 2010-12-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/bfin/bfin.h (LINK_SPEC): Remove %{b}. |
| * config/frv/frv.h (LINK_SPEC): Remove %{b}. |
| * config/i386/netware.h (LINK_SPEC): Remove %{b}. |
| * config/i386/nto.h (LINK_SPEC): Remove %{b}. |
| * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}. |
| * config/sol2.h (LINK_SPEC): Remove %{b}. |
| * config/svr4.h (LINK_SPEC): Remove %{b}. |
| |
| 2010-12-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/freebsd.h (LINK_SPEC): Cut long comment. |
| * config/i386/linux.h (LINK_SPEC): Cut long comment. |
| * config/i386/netware.h (LINK_SPEC): Remove %{V}. |
| * config/m32r/linux.h (LINK_SPEC): Cut long comment. |
| * config/m68k/linux.h (LINK_SPEC): Cut long comment. |
| * config/sparc/linux.h (LINK_SPEC): Cut long comment. |
| (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}. |
| * config/sparc/linux64.h (LINK_SPEC): Cut long comment. |
| (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}. |
| * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}. |
| |
| 2010-12-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c (trad_capable_cpp, default_compilers): Don't handle |
| -ftraditional. |
| |
| 2010-12-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,. |
| * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,. |
| * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,. |
| * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,. |
| * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,. |
| * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,. |
| * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,. |
| * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,. |
| * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,. |
| * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,. |
| * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,. |
| * config/sol2.h (ASM_SPEC): Don't handle -Wa,. |
| * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,. |
| * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,. |
| * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,. |
| * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,. |
| * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,. |
| * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,. |
| |
| 2010-12-02 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (output_jump): Map unsigned to signed |
| opcodes if CC_NO_OVERFLOW is set. |
| (notice_update_cc_on_set): Correct setting of CC0 as a side |
| effect; set CC_NO_OVERFLOW for cases where C flag is not meaningful. |
| |
| 2010-12-02 Ian Lance Taylor <iant@google.com> |
| |
| * doc/install.texi (Configuration): Update default for |
| --with-boot-ldflags. |
| |
| 2010-12-02 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR c/45062 |
| * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when |
| !funcdef_flag. |
| |
| 2010-12-02 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/45199 |
| * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New. |
| (stores_zero_from_loop): Call |
| mem_write_stride_of_same_size_as_unit_type_p. |
| * tree-data-ref.h (stride_of_unit_type_p): New. |
| * tree-loop-distribution.c (generate_memset_zero): Simplified. |
| Call stride_of_unit_type_p. |
| (build_rdg_partition_for_component): Do not call |
| rdg_flag_similar_memory_accesses when |
| flag_tree_loop_distribute_patterns is set. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| |
| * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard |
| sign-changing conversions for induction detection. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46723 |
| * tree-vect-loop.c (get_initial_def_for_induction): Strip |
| conversions from the induction evolution and apply it to |
| the result instead. |
| * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle |
| assigns for induction defs. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| |
| * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect |
| the case we need to split the edge and not the block. |
| |
| 2010-12-02 Bernd Schmidt <bernds@codesourcery.com> |
| |
| DFA model for Core 2 and Core i7 scheduling. |
| |
| * config/i386/core2.md: New DFA model for Core 2 and Core i7. |
| * config/i386/i386.c (ix86_option_override_internal): Update entries |
| for Core 2 and Core i7. |
| (ix86_issue_rate): Set issue rate to 3 [be realistic]. |
| * config/i386/i386.md: Include "core2.md". |
| (define_attr cpu): Add "corei7". |
| |
| 2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Define tuning for Core 2 and Core i7. |
| |
| * config/i386/i386-c.c (ix86_target_macros_internal): Update. |
| * config/i386/i386.c (core2_cost): Delete, use generic costs instead. |
| (m_CORE2): Replace with m_CORE2_{32,64}. |
| (m_CORE2I7{,_32,_64}): New macros. |
| (m_GENERIC32, m_GENERIC64): Update. |
| (initial_ix86_tune_features, x86_accumulate_outgoing_args,) |
| (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and |
| set m_CORE2I7_64 iff m_GENERIC64. |
| (processor_target_table): Use generic costs for Core 2 and Core i7. |
| (ix86_option_override_internal): Update entries for Core 2 and Core i7. |
| (ix86_issue_rate): Remove entry for Core 2. |
| (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update. |
| * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros. |
| (TARGET_CORE2): Update. |
| (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants. |
| (PROCESSOR_CORE2): Remove. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer.h (LTO_major_version): Bump to 2. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44871 |
| * gimple.c (canonical_type_hash_cache): New hashtable. |
| (gimple_type_hash): Make a wrapper around ... |
| (gimple_type_hash_1): ... this. Take gtc_mode argument. |
| (gimple_canonical_type_hash): Likewise. |
| (gtc_visit): Take a gtc_mode argument. |
| (gimple_types_compatible_p_1): Likewise. Do not compare struct |
| tag names or field names when computing canonical types. |
| (gimple_types_compatible_p): Adjust. |
| (visit): Take a gtc_mode argument. |
| (iterative_hash_gimple_type): Likewise. Do not hash struct tag |
| names or field names when computing hashes of canonical types. |
| (gimple_register_canonical_type): Use gimple_canonical_type_hash |
| for the hash. |
| (print_gimple_types_stats): Dump stats of canonical_type_hash_cache. |
| (free_gimple_type_tables): Free canonical_type_hash_cache. |
| |
| 2010-12-02 Richard Guenther <rguenther@suse.de> |
| Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/46663 |
| * tree-vect-patterns.c (vect_recog_pow_pattern): Check that |
| FUNCTION_DECL exists and that it's a builtin. |
| |
| 2010-12-02 Jie Zhang <jie@codesourcery.com> |
| |
| PR middle-end/46674 |
| * varasm.c (compute_visible_aliases): Handle user set assembler name. |
| |
| 2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix |
| thinko regarding setting -mno-<xxx> debug switches. |
| (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs. |
| |
| 2010-12-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * intl.c: Don't include tm.h. |
| * Makefile.in (intl.o): Don't depend on $(TM_H). |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but |
| unused warning. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (analyze_drs): Removed. |
| (build_scop_drs): Do not call analyze_drs. |
| (analyze_drs_in_stmts): New. |
| (insert_stmts): New. |
| (insert_out_of_ssa_copy): Call analyze_drs_in_stmts. |
| (insert_out_of_ssa_copy_on_edge): Same. |
| (rewrite_close_phi_out_of_ssa): Call insert_stmts. |
| (rewrite_phi_out_of_ssa): Same. |
| (rewrite_cross_bb_scalar_dependence): Same. |
| (split_reduction_stmt): Move data references in the new basic blocks. |
| (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR middle-end/45297 |
| * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take |
| the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB. |
| * graphite-poly.h (new_poly_bb): Update declaration. |
| (gbb_from_bb): Moved here... |
| (pbb_from_bb): New. |
| * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node): |
| Removed. |
| (graphite_stmt_p): Removed. |
| (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in |
| sbitmap reductions. Always build a gimple_bb_p. Do not call |
| new_poly_bb. |
| (build_scop_bbs_1): Do not pass in sbitmap reductions. |
| (build_scop_bbs): Same. |
| (gbb_from_bb): ... from here. |
| (add_conditions_to_constraints): Moved up. |
| (analyze_drs): New. |
| (build_scop_drs): Call analyze_drs. Remove all the PBBs that do |
| not contain data references. |
| (new_pbb_from_pbb): New. |
| (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a |
| block is split. |
| (rewrite_close_phi_out_of_ssa): Update call to |
| insert_out_of_ssa_copy_on_edge. |
| (rewrite_reductions_out_of_ssa): Now static. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. |
| (split_pbb): New. |
| (split_reduction_stmt): Call split_pbb. |
| (translate_scalar_reduction_to_array): Pass in the scop, do not |
| pass in the sbitmap reductions. |
| (rewrite_commutative_reductions_out_of_ssa_close_phi): Same. |
| (rewrite_commutative_reductions_out_of_ssa_loop): Same. |
| (rewrite_commutative_reductions_out_of_ssa): Same. |
| (build_poly_scop): Call build_scop_bbs, |
| rewrite_commutative_reductions_out_of_ssa, |
| rewrite_reductions_out_of_ssa, and |
| rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs |
| before scop_to_lst. |
| * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa): |
| Removed declaration. |
| (rewrite_reductions_out_of_ssa): Same. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. |
| (build_scop_bbs): Same. |
| * graphite.c (graphite_transform_loops): Do not initialize reductions. |
| Do not call build_scop_bbs, |
| rewrite_commutative_reductions_out_of_ssa, |
| rewrite_reductions_out_of_ssa, and |
| rewrite_cross_bb_scalar_deps_out_of_ssa. |
| * sese.h (struct gimple_bb): Add field pbb. |
| (GBB_PBB): New. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits): |
| New. |
| (rewrite_cross_bb_scalar_deps): Pass in the scop. Call |
| handle_scalar_deps_crossing_scop_limits. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB |
| after the scop. Update call to rewrite_cross_bb_scalar_deps. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr |
| when replacing a constant in an ADDR_EXPR. |
| |
| 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter |
| for the stride. |
| (lst_do_strip_mine): Same. |
| (scop_do_strip_mine): Same. |
| * graphite-poly.c (apply_poly_transforms): Update call to |
| scop_do_strip_mine. |
| * graphite-poly.h (scop_do_strip_mine): Update declaration. |
| |
| 2010-12-01 Jan Hubicka <jh@suse.cz> |
| |
| * tree.c (build_common_builtin_nodes): Do not initialize |
| BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT. |
| * builtins.c (expand_builtin_profile_func): Remove. |
| (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and |
| BUILT_IN_PROFILE_FUNC_EXIT. |
| * builtins.def (profile_func_enter, profile_func_exit): Remove stubs. |
| (__cyg_profile_func_enter, __cyg_profile_func_exit): New. |
| * gimplify.c (gimplify_function_tree): Reorganize code calling |
| profiling functions. |
| |
| 2010-12-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.c: Expand comment on tm.h include. |
| |
| 2010-12-01 Yao Qi <yao@codesourcery.com> |
| |
| * config/arm/predicates.md ("vfp_register_operand"): Return true for |
| VFP_D0_D7_REGS classes. |
| |
| 2010-12-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (flag_stack_check): New Variable entry. |
| (fcompare-debug-second): Use Var. |
| * flags.h (flag_compare_debug, flag_stack_check): Remove. |
| * opts.c (flag_compare_debug): Remove. |
| (common_handle_option): Don't handle OPT_fcompare_debug_second. |
| Set opts->x_flag_stack_check for OPT_fstack_check_. |
| * toplev.c (flag_stack_check): Remove. |
| |
| 2010-12-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (main_input_filename, main_input_basename, |
| main_input_baselength): New Variable entries. From toplev.c. |
| * final.c (output_quoted_string): Move from toplev.c. |
| * output.h (output_quoted_string): Move from toplev.h. |
| * opts-global.c (read_cmdline_options): Use gcc_options pointer to |
| access main_input_filename, main_input_baselength and |
| main_input_basename. |
| * targhooks.c: Include intl.h and opts.h. |
| (option_affects_pch_p, default_get_pch_validity): Move from toplev.c. |
| * targhooks.h (option_affects_pch_p, default_get_pch_validity): |
| Move from toplev.h. |
| * toplev.c (main_input_filename, main_input_basename, |
| main_input_baselength): Move to common.opt. |
| (output_quoted_string): Move to final.c. |
| (warn_deprecated_use): Move to tree.c. |
| (option_affects_pch_p, default_get_pch_validity, |
| pch_option_mismatch, default_pch_valid_p): Move to targhooks.c. |
| * toplev.h (skip_leading_substring): Move to tree-dump.c. |
| (warn_deprecated_use): Move to tree.h. |
| (output_quoted_string): Move to output.h. |
| (main_input_filename, main_input_basename, main_input_baselength): |
| Move to common.opt. |
| (default_get_pch_validity, default_pch_valid_p): Move to targhooks.c. |
| * tree-dump.c (skip_leading_substring): Move from toplev.h. |
| * tree.c (warn_deprecated_use): Move from toplev.c. |
| * tree.h (warn_deprecated_use): Move from toplev.h. |
| * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c, |
| config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, |
| config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c, |
| config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c, |
| config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, |
| config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, |
| config/mcore/mcore.c, config/mep/mep.c, |
| config/microblaze/microblaze.c, config/mips/mips.c, |
| config/mmix/mmix.c, config/mn10300/mn10300.c, |
| config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c, |
| config/picochip/picochip.c, config/s390/s390.c, |
| config/score/score.c, config/sh/sh.c, config/sparc/sparc.c, |
| config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c, |
| config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c, |
| graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c, |
| varasm.c, xcoffout.c: Don't include toplev.h. |
| * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o, |
| gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o, |
| varasm.o, xcoffout.o): Update dependencies. |
| * config/arm/t-arm (arm.o): Update dependencies. |
| * config/spu/t-spu-elf (spu.o): Update dependencies. |
| |
| 2010-12-01 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46730 |
| * value-prof.c (gimple_ic): Always generate a separate merge BB. |
| |
| 2010-11-30 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove |
| all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}. |
| * config/i386/linux64.h (ASM_SPEC): Likewise. |
| * config/i386/mingw-w64.h (ASM_SPEC): Likewise. |
| * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise. |
| * config/i386/vxworks.h (ASM_SPEC): Likewise. |
| * config/i386/x86-64.h (ASM_SPEC): Likewise. |
| * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}. |
| * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise. |
| |
| 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-decl.c (finish_function): Call objc_finish_function in |
| Objective-C. |
| * c-typeck.c (convert_for_assignment): Do not call |
| objc_type_quals_match(). |
| |
| 2010-11-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46722 |
| * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication |
| operands as arguments. |
| (execute_optimize_widening_mul): Also handle power of two as |
| multiplication. |
| |
| 2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR middle-end/46709 |
| * cgraphunit.c (process_function_and_variable_attributes): Fix |
| cut'n'pasteo. |
| |
| 2010-11-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * hwint.c: New. Extracted from toplev.c. |
| * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): |
| Move from toplev.h. |
| * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): |
| Move to hwint.c. |
| * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): |
| Move to hwint.h. |
| * builtins.c, combine.c, config/i386/winnt.c, double-int.c, |
| explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c, |
| ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c, |
| real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c, |
| stor-layout.c, tree-dfa.c, tree-ssa-alias.c, |
| tree-ssa-loop-niter.c, tree-vect-data-refs.c, |
| tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c, |
| tree-vrp.c: Don't include toplev.h. |
| * genattrtab.c, genconditions.c, genemit.c, genextract.c, |
| genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include |
| toplev.h in generated output. |
| * Makefile.in (OBJS-common): Add hwint.o. |
| Dependencies for above files changed to remove toplev.h. |
| (hwint.o): New. |
| (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o, |
| insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on toplev.h. |
| * config/i386/t-cygming (winnt.o): Don't depend on toplev.h. |
| * config/i386/t-interix (winnt.o): Don't depend on toplev.h. |
| |
| 2010-11-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46717 |
| * value-prof.c (gimple_ic): Preserve EH edges of the indirect |
| call. Manually create EH edges for the direct call and update |
| target PHI nodes. |
| |
| 2010-11-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * diagnostic-core.h: Include bversion.h. |
| * toplev.h: Don't include input.h or bversion.h. |
| (parse_optimize_options): Don't declare here. |
| * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c, |
| caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c, |
| combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c, |
| config/host-darwin.c, config/i386/host-cygwin.c, |
| config/i386/host-mingw32.c, config/i386/msformat-c.c, |
| config/i386/netware.c, config/i386/nwld.c, |
| config/i386/winnt-cxx.c, config/i386/winnt-stubs.c, |
| config/ia64/ia64-c.c, config/m32c/m32c-pragma.c, |
| config/mep/mep-pragma.c, config/microblaze/microblaze-c.c, |
| config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c, |
| config/score/score3.c, config/score/score7.c, |
| config/sh/symbian-base.c, config/sh/symbian-c.c, |
| config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c, |
| config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c, |
| cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c, |
| fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c, |
| graphite-blocking.c, graphite-clast-to-gimple.c, |
| graphite-dependences.c, graphite-flattening.c, |
| graphite-interchange.c, graphite-poly.c, |
| graphite-scop-detection.c, graphite.c, haifa-sched.c, |
| implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c, |
| ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c, |
| lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c, |
| lto-opts.c, lto-section-in.c, lto-section-out.c, |
| lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c, |
| params.c, postreload-gcse.c, postreload.c, predict.c, profile.c, |
| regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c, |
| sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c, |
| sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c, |
| tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c, |
| tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c, |
| tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, |
| tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c, |
| tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c, |
| tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't |
| include toplev.h. |
| * Makefile.in (TOPLEV_H): Remove. All uses changed to use |
| toplev.h. Dependencies for above files and c-family files changed |
| to remove $(TOPLEV_H) or toplev.h. |
| (C_TREE_H): Don't include $(TOPLEV_H). |
| (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add |
| bversion.h. |
| * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming, |
| config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf, |
| config/t-darwin, config/t-sol2, |
| config/t-vxworks, config/v850/t-v850, config/v850/t-v850e: |
| Dependencies for above files changed to remove $(TOPLEV_H) or |
| toplev.h. |
| |
| 2010-11-30 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44986 |
| * gcc.c (main): Use the first input with a compiler as infile |
| for link spec processing. |
| |
| 2010-11-30 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45949 |
| * cgraphunit.c (ipa_passes): Stop after errors from small IPA passes. |
| |
| 2010-11-30 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * gcc-plugin.h: Include coretypes.h. |
| * Makefile.in (FUNCTION_H): Add hard-reg-set.h. |
| |
| 2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| * ggc-zone.c (ggc_pch_read): Fix conditional compilation. |
| * ggc-none.c (ggc_internal_alloc_zone_stat) |
| (ggc_internal_cleared_alloc_zone_stat): New. |
| |
| 2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se> |
| |
| * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check |
| TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM. |
| (rs6000_emit_prologue): Don't set PIC register if |
| TARGET_SINGLE_PIC_BASE. |
| * config/rs6000/rs6000.opt (msingle-pic-base): New option. |
| * doc/invoke.texi (msingle-pic-base): Document. |
| |
| 2010-11-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/46712 |
| * exec-tool.in (id): New. |
| Check and export LT_RCU_$id instead of LT_RCU. |
| |
| 2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz> |
| |
| PR tree-optimization/46675 |
| * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow |
| in offset calculation. |
| |
| 2010-11-29 Jan Hubicka <jh@suse.cz> |
| |
| * collect2.c (main): Do not imply verbose output with |
| LTO and linker plugin. |
| |
| 2010-11-29 Dodji Seketeli <dodji@redhat.com> |
| |
| * dwarf2out.c (print_die): Print the address of the current DIE or |
| of any DIE referenced by the current one. |
| |
| 2010-11-29 Dodji Seketeli <dodji@redhat.com> |
| |
| PR debug/46101 |
| * dwarf2out.c (lookup_type_die_strip_naming_typedef): New function. |
| (scope_die_for, gen_type_die_for_member): Replace uses of |
| lookup_type_die with use of lookup_type_die_strip_naming_typedef. |
| |
| 2010-11-29 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.c (darwin_mergeable_string_section): Remove blank line. |
| (darwin_asm_declare_object_name): Correct spelling. |
| (darwin_output_aligned_bss): Likewise. |
| |
| 2010-11-29 Iain Sandoe <iains@gcc.gnu.org> |
| Mike Stump <mrs@gcc.gnu.org> |
| |
| PR target/26427 |
| PR target/33120 |
| PR testsuite/35710 |
| * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove |
| (ASM_OUTPUT_LOCAL): Likewise. |
| * config/darwin-protos.h (darwin_asm_declare_object_name): New. |
| (darwin_output_aligned_bss): Likewise. |
| (darwin_asm_output_aligned_decl_local): Likewise. |
| (darwin_asm_output_aligned_decl_common): Likewise. |
| (darwin_use_anchors_for_symbol_p): Likewise. |
| * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove. |
| (TARGET_ASM_OUTPUT_ANCHOR): Define. |
| (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define. |
| (DARWIN_SECTION_ANCHORS): Set to 1. |
| * config/darwin.c (emit_aligned_common): New var. |
| (darwin_init_sections): Check that the Darwin private zero-size section |
| marker is in range. |
| (darwin_text_section): Check for zero-sized objects. |
| (darwin_mergeable_string_section): Likewise. |
| (darwin_mergeable_constant_section): Likewise. |
| (machopic_select_section): Adjust to check for zero-sized objects. |
| Assert that OBJC meta data are non-zero sized. |
| (darwin_asm_declare_object_name): New. |
| (darwin_asm_declare_constant_name): Adjust for zero-sized |
| object sections. |
| (BYTES_ZFILL): Define. |
| (darwin_emit_weak_or_comdat): New. |
| (darwin_emit_local_bss): New. |
| (darwin_emit_common): New. |
| (darwin_output_aligned_bss): New. |
| (darwin_asm_output_aligned_decl_common): New. |
| (darwin_asm_output_aligned_decl_local): New. |
| (darwin_file_end): Disable subsections_via_symbols when section |
| anchoring is active. |
| (darwin_asm_output_anchor): Re-enable. |
| (darwin_use_anchors_for_symbol_p): New. |
| (darwin_override_options): Check for versions that can emit |
| aligned common. Update usage of flags to current. |
| * config/darwin-sections.def: Update comments and flags for |
| non-anchor sections. zobj_const_section, zobj_data_section, |
| zobj_bss_section, zobj_const_data_section: New. |
| * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine. |
| (ASM_OUTPUT_ALIGN): Make whitespace output consistent. |
| (L2_MAX_OFILE_ALIGNMENT): Define. |
| (ASM_OUTPUT_ALIGNED_BSS): Define. |
| (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define. |
| (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. |
| (SECTION_NO_ANCHOR): Define. |
| (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL. |
| (DARWIN_SECTION_ANCHORS): Define with a default of 0. |
| |
| 2010-11-29 Joseph Myers <joseph@codesourcery.com> |
| |
| * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>. |
| Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>. |
| (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill): |
| Conditionally define. |
| (GET_ENVIRONMENT): Poison. |
| * configure.ac: Don't test for mincore. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * collect2-aix.c: Don't include <sys/mman.h>. |
| * collect2.c: Don't include <signal.h>. |
| (SIGCHLD): Don't define. |
| (prefix_from_env): Use getenv instead of GET_ENVIRONMENT. |
| * config/alpha/alpha.c: Include "splay-tree.h" instead of |
| <splay-tree.h>. |
| * config/arm/arm.c (arm_target_help): Use getenv instead of |
| GET_ENVIRONMENT. |
| * config/avr/driver-avr.c: Don't include <stdlib.h>. |
| * config/frv/frv.c: Don't include <ctype.h>. |
| * config/host-darwin.c: Don't include <sys/mman.h>. |
| * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>. |
| (MAP_FAILED): Don't define. |
| * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>. |
| * config/host-solaris.c: Don't include <sys/mman.h>. |
| * config/i386/cygming.h: Don't include <stdio.h>. |
| * config/i386/driver-i386.c: Don't include <stdlib.h>. |
| * config/i386/host-cygwin.c: Don't include <sys/mman.h>. |
| * config/iq2000/iq2000.c: Don't include <signal.h>. |
| * config/m32c/m32c-pragma.c: Don't include <stdio.h>. |
| * config/m68hc11/m68hc11.c: Don't include <stdio.h>. |
| * config/mep/mep-pragma.c: Don't include <stdio.h>. |
| * config/microblaze/microblaze.c: Don't include <signal.h>. |
| * config/mips/mips.c: Don't include <signal.h>. |
| * config/rs6000/host-darwin.c: Don't include <signal.h>. |
| * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT. |
| * defaults.h (GET_ENVIRONMENT): Don't define. |
| * et-forest.h: Don't include <ansidecl.h> or <stddef.h>. |
| * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>. |
| (SIGCHLD, MAP_FAILED, kill): Don't define. |
| (process_command): Use getenv instead of GET_ENVIRONMENT. |
| * genhooks.c: Don't include <string.h>. |
| * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or |
| <sys/types.h>. |
| (MAP_FAILED): Don't define. |
| * ggc-page.c Don't include <sys/mman.h>. |
| (MAP_ANONYMOUS, MAP_FAILED): Don't define. |
| * ggc-zone.c: Don't include <sys/mman.h>. |
| (MAP_ANONYMOUS, MAP_FAILED): Don't define. |
| * graph.c: Include "config.h" instead of <config.h>. |
| * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT. |
| * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h". |
| (SIGCHLD, kill): Don't define. |
| * mips-tfile.c: Don't include <signal.h>. |
| * opts.c: Don't include <signal.h> or <sys/resource.h>. |
| (print_specific_help): Use getenv instead of GET_ENVIRONMENT. |
| * passes.c: Don't include <signal.h>, <sys/resource.h> or |
| <sys/times.h>. |
| * sparseset.h: Don't include <assert.h>. |
| * timevar.c: Don't include <sys/times.h> or <sys/resource.h>. |
| * tlink.c: Don't include "libiberty.h". |
| * toplev.c: Don't include <signal.h> or <sys/times.h>. |
| * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>. |
| * tree-switch-conversion.c: Don't include <signal.h>. |
| * vmsdbgout.c: Don't include <errno.h> or <string.h>. |
| |
| 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_try_catch_statement): Renamed to |
| c_parser_objc_try_catch_finally_statement for consistency with the |
| C++ parser. Parse @catch(...) and pass NULL_TREE to |
| objc_begin_catch_clause() in that case. Improved error recovery. |
| Reorganized code to be almost identical to |
| cp_parser_objc_try_catch_finally_statement. |
| |
| 2010-11-29 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR tree-optimization/46621 |
| * gimple.h: Don't include tm.h or hard-reg-set.h . |
| * Makefile.in (GIMPLE_H): Remove $(TM_H). |
| |
| PR bootstrap/44756 |
| * cppbuiltin.c: Include target.h . |
| (define_builtin_macros_for_type_sizes): |
| Use targetm.float_words_big_endian. |
| |
| 2010-11-27 Jan Hubicka <jh@suse.cz> |
| |
| * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section |
| and output cold_text_section_label. |
| (dwarf2out_init): Don't do that there. |
| (dwarf2out_finish): Handle cold section end label only if cold |
| section was used. |
| |
| 2010-11-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-nested.c (remap_vla_decls): Fully expand value expressions of |
| VLA variables. |
| |
| 2010-11-27 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p. |
| (gimple_assign_ssa_name_copy_p): Likewise. |
| (gimple_assign_unary_nop_p): Use is_gimple_assign. |
| (is_gimple_cast): Remove. |
| (gimple_assign_single_p): Move ... |
| * gimple.h (gimple_assign_single_p): ... here. |
| (is_gimple_cast): Remove. |
| (gimple_assign_rhs_code): Simplify. |
| * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P |
| instead of is_gimple_cast. |
| * ipa-type-escape.c (look_for_casts): Likewise. |
| |
| 2010-11-26 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (Enum, EnumValue): Document new record types. |
| (Enum): Document new option flag. |
| * opt-functions.awk |
| * optc-gen.awk: Handle enumerated option arguments. |
| * opth-gen.awk: Handle enumerated option arguments. |
| * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value, |
| enum_value_to_arg): New. |
| (decode_cmdline_option): Handle enumerated arguments. |
| (read_cmdline_option): Handle CL_ERR_ENUM_ARG. |
| (set_option, option_enabled, get_option_state): Handle CLVC_ENUM. |
| * opts.c (print_filtered_help, print_specific_help): Take |
| lang_mask arguments. |
| (print_filtered_help): Handle printing values of enumerated |
| options. Print possible arguments for enumerated options. |
| (print_specific_help): Update call to print_filtered_help. |
| (common_handle_option): Update calls to print_specific_help. Use |
| value rather than arg for OPT_fdiagnostics_show_location_. Don't |
| handle OPT_ffp_contract_, OPT_fexcess_precision_, |
| OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or |
| OPT_fira_region_ here. |
| * opts.h (enum cl_var_type): Add CLVC_ENUM. |
| (struct cl_option): Add var_enum. |
| (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg, |
| struct cl_enum, cl_enums, cl_enums_count): New. |
| (CL_ERR_ENUM_ARG): Define. |
| (CL_ERR_NEGATIVE): Update value. |
| (enum_value_to_arg): Declare. |
| * common.opt (flag_ira_algorithm, flag_ira_region, |
| flag_fp_contract_mode, flag_excess_precision_cmdline, |
| default_visibility, flag_tls_default): Remove Variable entries. |
| (help_enum_printed): New Variable. |
| (fdiagnostics-show-location=): Use Enum. Add associated |
| SourceInclude, Enum and EnumValue entries. |
| (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=, |
| ftls-model=, fvisibility=): Use Enum, Var and Init. Add |
| associated Enum and EnumValue entries. |
| |
| 2010-11-26 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46623 |
| * config/microblaze/microblaze.c (microblaze_block_move_straight): |
| Use XALLOCAVEC. |
| (microblaze_option_override): Don't use C++ style comments. |
| (save_restore_insns): Remove unused variable base_offset. |
| (microblaze_expand_prologue): Remove unused variable insn. |
| (microblaze_secondary_reload): Adjust type to match target.h . |
| (microblaze_elf_in_small_data_p): Move declarations to start of block. |
| (microblaze_expand_move): Likewise. |
| * config/microblaze/microblaze.h (LARGE_INT): |
| Avoid signed / unsigned comparisons. |
| (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. |
| (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data. |
| (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name. |
| |
| 2010-11-26 Michael Matz <matz@suse.de> |
| |
| * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops. |
| |
| * passes.c (init_optimization_passes): Remove superfluous |
| copy-prop pass. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46648 |
| * gimple.c (gtc_visit): Do not return true for members of an |
| SCC still being processed but the current lattice value of |
| the member. Treat SCC members comparison state as lattice, |
| starting at equal, eventually dropping to unequal. |
| (gimple_types_compatible_p_1): Likewise. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46559 |
| * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root |
| for location list processing. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46560 |
| * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent |
| flags manually. |
| |
| 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (print_operand_address): Replace assert with |
| error message. |
| (print_operand): Replace assertions, gcc_unreachable and |
| fatal_insn with error messages. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46665 |
| * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID. |
| |
| 2010-11-26 Ian Bolton <ian.bolton@arm.com> |
| |
| * config/arm/arm.c (arm_option_override): enable loop array |
| prefetching at -O3 for suitable targets, and configure params. |
| * config/arm/arm-protos.h (struct tune_params): Add fields for |
| configuring loop array prefetching. |
| |
| 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com> |
| |
| * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46664 |
| * tree-affine.c (aff_combination_to_tree): Add rest last. |
| |
| 2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at> |
| |
| PR target/33637 |
| * configure.ac: Accept extra arguments for AS_FOR_TARGET, |
| LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET. |
| * configure: Regenerated. |
| * exec-tool.in: Not quoting command, may have extra arguments. |
| |
| 2010-11-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46528 |
| PR debug/46338 |
| * profile.c (branch_prob): Do not split blocks based on locations |
| from debug statements. |
| |
| 2010-11-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46647 |
| * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead |
| of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst. |
| |
| PR bootstrap/45700 |
| * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc, |
| build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines. |
| (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc, |
| build6_loc): Define. |
| * fold-const.c (protected_set_expr_location_unshare): New inline. |
| (fold_convert_loc, pedantic_non_lvalue_loc): Use it. |
| (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc, |
| pedantic_omit_one_operand_loc, omit_two_operands_loc, |
| fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref, |
| optimize_bit_field_compare, make_range, fold_range_test, fold_truthop, |
| build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc, |
| fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc |
| instead of buildN followed by SET_EXPR_LOCATION or |
| protected_set_expr_location. |
| (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc): |
| Use buildN_stat_loc instead of buildN_stat followed by |
| SET_EXPR_LOCATION. |
| |
| 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * Makefile.in (s-tm-texi): Remove spurous tab. |
| |
| 2010-11-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/46258 |
| * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on |
| debug stmts. |
| |
| 2010-11-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * toplev.c (finalize): Add no_backend parameter. Don't finish |
| passes when preprocessing only. Adjust... |
| (do_compile): ... caller. |
| |
| 2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of |
| flag_unsafe_math_optimizations. |
| (negsf2): Likewise. |
| Move fnegabs related patterns together. Only use fmpynfadd instruction |
| to negate a multiply if !flag_signed_zeros is true. |
| |
| 2010-11-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| * gengtype-state.c (read_state_structures): Initialize "previous". |
| |
| 2010-11-25 Basile Starynkevitch <basile@starynkevitch.net> |
| Jeremie Salvucci <jeremie.salvucci@free.fr> |
| |
| * gengtype-state.c: Add new file. |
| |
| * gengtype.c (type count): New variable. |
| (new_structure, find_param_structure, create_pointer) |
| (create_array): Use it to set state_number in types. |
| (dump_everything): Improve comment. |
| (main): Call read_state and write_state. Print type_count. |
| |
| * gengtype.h (type_lineloc): New function. |
| (read_state, write_state): New declarations. |
| |
| * Makefile.in (GENGTYPE_FLAGS): New variable. |
| (s-gtype): Run gengtype twice and generate gtype.state. |
| (build/gengtype-state.o): New rule. |
| (build/gengtype$(build_exeext)): Link gengtype-state.o. |
| (mostlyclean): Update comment. Remove gtype.state. |
| |
| 2010-11-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46637 |
| * combine.c (try_combine): When substing i2dest for i2src, pass |
| 1 as last argument even if |
| i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src. |
| |
| 2010-11-25 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/46647 |
| * builtins.c (target_char_cast): Check INTEGER_CST instead of |
| host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW. |
| |
| 2010-11-25 Joseph Myers <joseph@codesourcery.com> |
| |
| * target.def (supports_split_stack, except_unwind_info): Take |
| gcc_options parameters. |
| * targhooks.c (default_except_unwind_info, |
| dwarf2_except_unwind_info, sjlj_except_unwind_info): Take |
| gcc_options parameters. |
| * targhooks.h (default_except_unwind_info, |
| dwarf2_except_unwind_info, sjlj_except_unwind_info): Update |
| prototypes. |
| * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES, |
| TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT): |
| Document that hooks must not be modified. |
| (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument. |
| * doc/tm.texi: Regenerate. |
| * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass |
| &global_options to targetm.except_unwind_info. |
| * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm, |
| dwarf2out_begin_prologue, dwarf2out_frame_init, |
| dwarf2out_frame_finish, dwarf2out_assembly_start): Pass |
| &global_options to targetm.except_unwind_info. |
| * except.c (init_eh, finish_eh_generation, |
| gate_convert_to_eh_region_ranges, |
| output_one_function_exception_table): Pass &global_options to |
| targetm.except_unwind_info. |
| * expr.c (build_personality_function): Pass &global_options to |
| targetm.except_unwind_info. |
| * function.c (expand_function_end): Pass &global_options to |
| targetm.except_unwind_info. |
| * hooks.c (hook_bool_bool_gcc_optionsp_false): New. |
| * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare. |
| * opts.c (finish_options): Pass opts to targetm.except_unwind_info |
| and targetm.supports_split_stack. Remove assertions about opts |
| and opts_set. |
| (common_handle_option): Remove assertions about opts, opts_set and dc. |
| * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass |
| &global_options to targetm.except_unwind_info. |
| * tree.c (build_common_builtin_nodes: Pass &global_options to |
| targetm.except_unwind_info. |
| * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter. |
| (arm_compute_func_type, arm_expand_prologue, thumb_pushpop, |
| thumb1_expand_prologue, thumb1_output_function_prologue, |
| arm_unwind_emit, arm_output_fn_unwind): Update calls to |
| arm_except_unwind_info. |
| * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options |
| parameter. |
| * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options |
| parameter. |
| (ia64_output_function_prologue, ia64_add_bundle_selector_before, |
| ia64_reorg, ia64_asm_unwind_emit): Update calls to |
| ia64_except_unwind_info. |
| * config/pa/pa.c (pa_option_override): Pass &global_options to |
| targetm.except_unwind_info. |
| * config/picochip/picochip-protos.h (picochip_except_unwind_info): |
| Remove prototype. |
| |
| 2010-11-25 Kai Tietz <kai.tietz@onevision.com> |
| |
| * cgraphunit.c (process_function_and_variable_attributes): |
| Mark dllexport-ed function/variables as needed. |
| * ipa.c (cgraph_externally_visible_p): Make dllexport-ed |
| as externally visible. |
| |
| 2010-11-25 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/46585 |
| * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL. |
| (vinsn_init): Skip computation of dependencies for local NOPs. |
| (vinsn_delete): Don't try to free regsets for local NOPs. |
| (setup_nop_and_exit_insns): Change definition of nop_pattern. |
| |
| 2010-11-25 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/46602 |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ... |
| (tidy_control_flow): Here. |
| |
| 2010-11-25 Joern Rennecke <amylaar@spamcop.net> |
| Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/45888 |
| * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi. |
| Fix target.def pathname in timestamp comparison. |
| |
| 2010-11-24 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/predicates.md (pmpyshr_operand): New. |
| * config/ia64/ia64.c (ia64_expand_unpack): New. |
| (ia64_expand_widen_mul_v4hi): New. |
| (ia64_expand_widen_sum): Update for pattern renames. |
| (ia64_expand_dot_prod_v8qi): Likewise. |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/vect.md (vecwider): New mode attribute. |
| (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New. |
| (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New. |
| (pmpyshr2, pmpyshr2_u): New. |
| (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New. |
| (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New. |
| (mulv2si3): New. |
| (vec_pack_ssat_v4hi): Rename from pack2_sss. |
| (vec_pack_usat_v4hi): Rename from *pack2_uss. |
| (vec_pack_ssat_v2si): Rename from pack4_sss. |
| (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct |
| vec_select operation. |
| (vec_interleave_highv8qi): Similarly. |
| (mux1_alt): Rename from *mux1_alt. |
| (vec_extract_evenv8qi, vec_extract_oddv8qi): New. |
| (vec_interleave_lowv4hi): Rename from unpack2_l. |
| (vec_interleave_highv4hi): Rename from unpack2_h. |
| (mix2_r): Rename from *mix2_r. |
| (mix2_l): Similarly. |
| (vec_extract_evenodd_helper): New. |
| (vec_extract_evenv4hi, vec_extract_oddv4hi): New. |
| (vec_interleave_lowv2si): Rename from *unpack4_l. |
| (vec_interleave_highv2si): Rename from *unpack4_h. |
| (vec_extract_evenv2si, vec_extract_oddv2si): New. |
| (vec_interleave_lowv2sf): Rename from fmix_r. |
| (vec_interleave_highv2sf): Rename from *fmix_l. |
| (vec_extract_evenv2sf, vec_extract_oddv2sf): New. |
| (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New. |
| (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New. |
| (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New. |
| |
| 2010-11-24 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * targhooks.c (default_except_unwind_info): Remove |
| MUST_USE_SJLJ_EXCEPTIONS case. |
| * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete. |
| * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete. |
| * doc/tm.texi: Regenerate. |
| * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison. |
| |
| 2010-11-24 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define |
| __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. |
| * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. |
| * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document. |
| * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison. |
| |
| 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46519 |
| * config/i386/i386.c (ix86_expand_call): Don't check |
| TREE_THIS_VOLATILE. |
| |
| 2010-11-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46519 |
| * config/i386/i386.c (upper_128bits_state): New. |
| (block_info_def): Remove upper_128bits_set and done. Add state, |
| referenced, count, processed and rescanned. |
| (check_avx256_stores): Updated. |
| (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END. |
| Call note_stores only if needed. Set referenced and count. |
| (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p. |
| (rescan_move_or_delete_vzeroupper): New. |
| (move_or_delete_vzeroupper): Process and rescan all all basic |
| blocks instead of predecessor blocks of all exit points. |
| (ix86_option_override_internal): Enable vzeroupper optimization |
| only for -fexpensive-optimizations and not optimizing for size. |
| (use_avx256_p): Removed. |
| (init_cumulative_args): Don't set use_avx256_p. |
| (ix86_function_arg): Likewise. |
| (ix86_expand_move): Likewise. |
| (ix86_expand_vector_move_misalign): Likewise. |
| (ix86_local_alignment): Likewise. |
| (ix86_minimum_alignment): Likewise. |
| (ix86_expand_epilogue): Don't check use_avx256_p when generating |
| vzeroupper. |
| (ix86_expand_call): Likewise. |
| |
| * config/i386/i386.h (machine_function): Remove use_vzeroupper_p |
| and use_avx256_p. Add rescan_vzeroupper_p. |
| |
| 2010-11-24 Joseph Myers <joseph@codesourcery.com> |
| |
| * toplev.c: Include <signal.h>. |
| |
| 2010-11-24 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/43218 |
| * lto-symtab.c (lto_cgraph_replace_node): Mark edges with |
| conflicting function signatures as non-inlineable. |
| |
| 2010-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/46614 |
| * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define. |
| (deps_analyze_insn): Mark JUMP_INSNs in |
| last_pending_memory_flush that weren't added through |
| flush_pending_lists with NON_FLUSH_JUMP_KIND. |
| (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P |
| on INSN_LIST instead of JUMP_P check on its operand. |
| * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND. |
| |
| 2010-11-24 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p. |
| |
| 2010-11-24 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46606 |
| * lto-streamer-in.c (input_gimple_stmt): When we cannot find |
| a FIELD_DECL that is type correct issue a warning and fixup |
| with a VIEW_CONVERT_EXPR. |
| |
| 2010-11-24 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * doc/invoke.texi (Options for Debugging Your Program or GCC): |
| Explain static numbering of dump files. |
| |
| 2010-11-24 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (user_vect_verbosity_level): New Variable entry. |
| (ftree-vectorizer-verbose=): Mark as UInteger. |
| * flag-types.h (enum vect_verbosity_levels): Move from enum |
| verbosity_levels in tree-vectorizer.h. |
| * opts.c: Don't include tree.h. |
| (vect_set_verbosity_level): Move from tree-vectorizer.c. Use |
| gcc_options parameter; take integer option argument. |
| (common_handle_option): Update call to vect_set_verbosity_level. |
| * tree-vectorizer.c (user_vect_verbosity_level): Remove. |
| (vect_set_verbosity_level): Move to opts.c. |
| (vect_verbosity_level, vect_print_dump_info): Update for change of |
| enum name. |
| * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h. |
| (vect_print_dump_info): Update for change of enum name. |
| * tree.h (vect_set_verbosity_level): Remove. |
| * Makefile.in (opts.o): Update dependencies. |
| |
| 2010-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46629 |
| * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn) |
| instead of insn with any_condjump_p. |
| |
| 2010-11-24 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * config/mips/loongson.md: Change the description comment of the file |
| and update the copyright years. |
| (define_insn "<u>div<mode>3): Add loongson3a support. |
| (define_insn "<u>mod<mode>3"): Likewise. |
| * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to |
| mul<mode>3_mul3_loongson. |
| (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A. |
| (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support. |
| |
| 2010-11-23 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (initial_max_fld_align, flag_debug_asm, |
| flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit, |
| flag_print_asm_name, graph_dump_format, help_printed, |
| help_columns, flag_opts_finished): New Variable entries. |
| (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed, |
| frandom-seed=): Mark deferred. |
| (fsched-verbose=): Use UInteger and Var. |
| * flags.h (set_struct_debug_option, flag_print_asm_name, |
| rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm, |
| graph_dump_format): Don't declare here. |
| * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove. |
| * opts-global.c: Include dbgcnt.h and debug.h. |
| (decode_options): Pass location to finish_options. |
| (handle_common_deferred_options): Check flag_dump_all_passed. |
| Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_, |
| OPT_frandom_seed and OPT_frandom_seed_. Don't assert on |
| OPT_fstack_limit. |
| * opts.c: Don't include toplev.h, dbgcnt.h or debug.h. |
| (set_struct_debug_option): Add location_t parameter. Update |
| recursive call. Use error_at. |
| (default_options_optimization): Use error_at. |
| (finish_options): Add location_t parameter. Use |
| opts->x_flag_opts_finished instead of first_time_p. Use |
| opts->x_optimize instead of optimize. Use error_at. Pass |
| location to inform. |
| (print_filtered_help): Use opts->x_help_printed to track what |
| options have been printed. |
| (print_specific_help): Use opts->x_help_columns to track number of |
| columns. |
| (common_handle_option): Pass locations and gcc_options pointers to |
| more functions. Use warning_at instead of fnotice and warning. |
| Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or |
| OPT_fdebug_prefix_map_. Use error_at. Set |
| opts->x_initial_max_fld_align; don't set maximum_field_alignment. |
| Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle |
| OPT_fsched_verbose_. |
| (handle_param): Add location_r parameter. Use error_at. |
| (set_debug_level): Add location_r parameter. Use error_at and |
| warning_at. |
| (setup_core_dumping): Add diagnostic_context parameter. |
| (decode_d_option): Add gcc_options, location_t and |
| diagnostic_context parameters and use them instead of global |
| state. Use warning_at. |
| (enable_warning_as_error): Use error_at. |
| * opts.h (finish_options): Update prototype. |
| (set_struct_debug_option): Declare here. |
| * rtl.h (fix_sched_param): Remove. |
| * stor-layout.c (initial_max_fld_align): Remove. |
| * toplev.c (rtl_dump_and_exit, flag_print_asm_name, |
| graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove. |
| (process_options): Set maximum_field_alignment. |
| * tree.h (initial_max_fld_align) Don't declare here. |
| * Makefile.in (opts.o, opts-global.o): Update dependencies. |
| |
| 2010-11-23 Joseph Myers <joseph@codesourcery.com> |
| |
| * flag-types.h (struct visibility_flags): Don't declare here. |
| * flags.h (strip_off_ending, fast_math_flags_set_p, |
| fast_math_flags_struct_set_p): Declare here. |
| (visibility_options): Don't declare here. |
| * opts-common.c (option_enabled, get_option_state): Move from |
| opts.c. |
| * opts-global.c: Include diagnostic.h instead of |
| diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h |
| and toplev.h. |
| (const_char_p, ignored_options, in_fnames, num_in_fnames, |
| write_langs, complain_wrong_lang, postpone_unknown_option_warning, |
| print_ignored_options, unknown_option_callback, |
| post_handling_callback, lang_handle_option, add_input_filename, |
| read_cmdline_options, initial_lang_mask, init_options_once, |
| decode_cmdline_options_to_array_default_mask, |
| set_default_handlers, decode_options): Move from opts.c. |
| (print_ignored_options): Use warning_at instead of saving and |
| restoring input_location. |
| * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h |
| instead of expr.h. Don't include langhooks.h, except.h or |
| lto-streamer.h. Add more comments on includes. |
| (strip_off_ending, setup_core_dumping, decode_d_option): Move from |
| toplev.c. |
| (visibility_options): Move to c-family/c-common.c. |
| (const_char_p, ignored_options, in_fnames, num_in_fnames, |
| write_langs, complain_wrong_lang, postpone_unknown_option_warning, |
| print_ignored_options, unknown_option_callback, |
| post_handling_callback, lang_handle_option, add_input_filename, |
| read_cmdline_options, initial_lang_mask, init_options_once, |
| decode_cmdline_options_to_array_default_mask, |
| set_default_handlers, decode_options): Move to opts-global.c. |
| (target_handle_option, default_options_optimization, |
| finish_options, common_handle_option): Remove static. |
| (option_enabled, get_option_state): Move to opts-common.c. |
| * opts.h (common_handle_option, target_handle_option, |
| finish_options, default_options_optimization): Declare. |
| * toplev.c: Don't include <signal.h> or <sys/resource.h>. |
| (setup_core_dumping, strip_off_ending, decode_d_option): Move to |
| opts.c. |
| * toplev.h (strip_off_ending, decode_d_option, |
| fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't |
| declare here. |
| * Makefile.in (opts.o, opts-global.o): Update dependencies. |
| |
| 2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR driver/42690 |
| * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin |
| options, replace by call of pass-through-libs spec function to process |
| link_gcc_c_sequence spec. |
| (lto_libgcc_spec): Delete variable. |
| (static_specs[]): Remove related entry. |
| (static_spec_functions[]): Add new entry for pass-through-libs. |
| (main): Don't generate deleted lto_libgcc_spec. |
| (pass_through_libs_spec_func): New function to implement the new |
| pass-through-libs spec function. |
| * doc/invoke.texi (pass-through-libs): Document new spec function. |
| |
| 2010-11-23 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (Warning, Optimization): Document. |
| |
| 2010-11-23 Jan Hubicka <jh@suse.cz> |
| |
| * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro. |
| (tree_decl_with_vis): Add implicit_section_name_p. |
| * targhooks.h (default_function_section): Declare. |
| * target.def (function_section): New hook. |
| * defaults.h (HOT_TEXT_SECTION_NAME, |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. |
| * predict.c (choose_function_section): Remove. |
| (estimate_bb_frequencies): Do not use choose_function_section. |
| * coretypes.h (enum node_frequency): Move here from cgraph.h |
| * cgraph.h (enum node_frequency): Remove. |
| * varasm.c (initialize_cold_section_name, unlikely_text_section, |
| unlikely_text_section_p): Remove. |
| (named_subsection_entry): New structure. |
| (get_text_section): New function. |
| (default_function_section): New function. |
| (function_section_1): Break out from ...; handle profile info. |
| (function_section): ... here. |
| (unlikely_text_section): Remove. |
| (unlikely_text_section_p): Use function_section_1. |
| (assemble_start_function): Do not initialize cold section. |
| (default_section_type_flags): Do not special case cold subsection. |
| (switch_to_section): Likewise. |
| * output.h (get_text_section): Define. |
| * config/i386/winnt.c: Do not special case cold section. |
| * config/darwin-protos.h (darwin_function_section): Declare. |
| * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME, |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. |
| * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME, |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. |
| (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section. |
| * config/ia64/ia64.c (ia64_hpux_function_section): New function. |
| * config/darwin.c (machopic_select_section): Use |
| darwin_function_section. |
| (darwin_function_section): New function. |
| * config/darwin.h (HOT_TEXT_SECTION_NAME, |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. |
| (TARGET_ASM_FUNCTION_SECTION): Define. |
| * system.h (HOT_TEXT_SECTION_NAME, |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison. |
| |
| 2010-11-23 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence). |
| LINK_GCC_C_SEQUENCE_SPEC: Define new macro. |
| |
| 2010-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46499 |
| * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs |
| following unconditional jumps. |
| |
| 2010-11-23 Richard Guenther <rguenther@suse.de> |
| |
| * doc/md.texi (386 constraints): Clarify A constraint documentation. |
| |
| 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net> |
| Jeremie Salvucci <jeremie.salvucci@free.fr> |
| |
| * gengtype.c (enum typekind, struct options) |
| (struct nested_ptr_data, struct pair, NUM_PARAM) |
| (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P): |
| Move to gengtype.h. |
| (string_type, scalar_nonchar, scalar_nonchar, scalar_char): |
| Remove static, add zero state_number. |
| (typedefs, structures, param_structs, variables): Remove static. |
| (create_option): Remove. |
| (create_string_option, create_type_option, create_nested_option): |
| New functions. |
| (create_nested_ptr_option): Use create_nested_option. |
| (note_variable, adjust_field_rtx_def, adjust_field_type): Call the |
| new create*option functions. |
| (process_gc_options): Adjust for discriminated option. |
| (output_mangled_typename): Handle TYPE_NONE. |
| (walk_type): Test option kinds. |
| (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY. |
| (write_func_for_structure, write_type, write_local, write_root) |
| (write_roots, note_def_vec, dump_options): Adjust for |
| discriminated option. |
| |
| * gengtype.h (typedefs, structures, param_structs, variables |
| enum typekind): Move from gengtype.c |
| (enum option_kind): New discriminating enumeration. |
| (struct options): Becomes discriminated. |
| (struct nested_ptr_data): Nove from gengtype.c |
| (create_string_option, create_type_option, create_nested_option) |
| (create_nested_ptr_option): New functions |
| (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P) |
| (UNION_OR_STRUCT_P): Move from gengtype.c |
| |
| * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make |
| discriminated options. |
| |
| 2010-11-23 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work |
| twice. Avoid re-allocating the ops vector all the time. |
| |
| 2010-11-23 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to |
| is_gimple_min_invariant, group tree code checks to allow |
| combining them. |
| (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead |
| of is_gimple_reg. |
| |
| 2010-11-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config.gcc (sparc*-*-*): Reorder. |
| |
| 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c (header_dot_h_frul, source_dot_c_frul): |
| Remove ENABLE_CHECKING around DBGPRINTF. |
| |
| 2010-11-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (exit_after_options, write_symbols, debug_info_level, |
| use_gnu_debug_info_extensions): New Variable entries. |
| (fprofile-dir=): Use Var. |
| * flag-types.h (enum debug_info_level): Rename to enum |
| debug_info_levels. |
| * flags.h (write_symbols, debug_info_level, |
| use_gnu_debug_info_extensions): Remove declarations. |
| * opts.c (exit_after_options, write_symbols, debug_info_level): Remove. |
| (set_struct_debug_option): Make static variables const. |
| (use_gnu_debug_info_extensions): Remove. |
| (set_debug_level, print_filtered_help, print_specific_help, |
| fast_math_flags_set_p): Take gcc_options parameters and use them |
| in place of global variables. |
| (print_filtered_help): Make new_help non-static. |
| (print_specific_help): Update call to print_filtered_help. |
| (common_handle_option): Update calls to print_specific_help. Use |
| gcc_options structure for more settings. Make --help table |
| const. Don't handle OPT_fprofile_dir_ here. Update calls to |
| set_debug_level. |
| * toplev.c (profile_data_prefix): Remove. |
| * toplev.h (profile_data_prefix, exit_after_options): Remove |
| declarations. |
| (fast_math_flags_set_p): Update prototype. |
| * cppbuiltin.c (define_builtin_macros_for_compilation_flags): |
| Update call to fast_math_flags_set_p. |
| |
| 2010-11-22 Richard Henderson <rth@redhat.com> |
| |
| PR target/46434 |
| * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p; |
| return the address register extracted. |
| (crx_decompose_address): Update the extracted address register. |
| |
| 2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com> |
| |
| PR driver/43335 |
| * gcc.c (main): Don't crash when lto-wrapper program is not found. |
| |
| 2010-11-22 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46608 |
| * config/picochip/picochip.c (picochip_secondary_reload): Make static. |
| * config/picochip/picochip-protos.h: Don't include "target.h" . |
| (picochip_secondary_reload): Don't declare. |
| |
| PR target/46613 |
| * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare. |
| * config/m32c/m32c.c (m32c_conditional_register_usage): No longer |
| static. |
| |
| 2010-11-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/46609 |
| * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING. |
| (source_dot_c_frul): Likewise. |
| |
| 2010-11-22 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gimple-pretty-print.c (dump_bb_header): Add check for cfun. |
| |
| 2010-11-22 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR bootstrap/44970 |
| * Makefile.in (fwprop.o) Add sparseset.h. |
| * fwprop.c: Include sparseset.h |
| (struct find_occurrence_data, find_occurrence_callback, |
| find_occurrence): Remove. |
| (active_defs, active_defs_check, register_active_defs, |
| update_df_init, update_uses): New. |
| (update_df): Rewrite. |
| (try_fwprop_subst, forward_propagate_asm): Add calls to |
| update_df_init and update_df. |
| (fwprop_init): Allocate active_defs and active_defs_check. |
| (fwprop_done): Free them. |
| (fwprop, fwprop_addr): Adjust comments. |
| * df.h (df_uses_create): Declare. |
| * df-scan.c (df_install_ref_incremental): Break out of df_ref_create. |
| (df_ref_create): Return result of df_ref_create_structure directly. |
| (df_ref_create_structure): Call df_install_ref_incremental when |
| no collection_rec is passed. |
| (df_ref_record): Do not create multiword hard reg info when no |
| collection_rec is passed. |
| (df_uses_create): New. |
| |
| 2010-11-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/43057 |
| * fold-const.c (pedantic_non_lvalue_loc): Unshare x before |
| setting location. |
| |
| 2010-11-22 Richard Guenther <rguenther@suse.de> |
| |
| * gimple-fold.c (maybe_fold_reference): When canonicalizing |
| MEM_REFs, preserve volatileness. |
| * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL |
| addresses. |
| |
| 2010-11-22 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks. |
| |
| 2010-11-22 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/45652 |
| * alias.c (get_reg_base_value): New. |
| * rtl.h (get_reg_base_value): Add prototype. |
| * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with |
| non-null REG_BASE_VALUE for renaming. |
| |
| 2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr> |
| Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c: Include xregex.h and obstack.h |
| Added comments about role of get_output_file_with_visibility and |
| our regexpr machinery. |
| (frul_actionrout_t, struct file_rule_st): New. |
| (hader_dot_h_frul, source_dot_c_frul): New functions. |
| (NULL_REGEX, NULL_FRULACT): New. |
| (files_rules): New. |
| (matching_file_name_substitute): New function. |
| (get_output_file_with_visibility): Updated comments and rewritten |
| to use the new files_rules machinery. |
| |
| * Makefile.in (XREGEX_H): Added variable. |
| (build/gengtype.o): Added dependencies for xregex.h and obstack.h |
| |
| 2010-11-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * system.h (FUNCTION_ARG_BOUNDARY): Really poison. |
| |
| 2010-11-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * target.def (conditional_register_usage): Define. |
| * reginfo.c (init_reg_sets_1): Call |
| targetm.conditional_register_usage. |
| * system.h (CONDITIONAL_REGISTER_USAGE): Poison. |
| * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language |
| for making it a hook. |
| * doc/tm.texi: Regenerate. |
| * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/alpha/alpha.c (alpha_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/arc/arc.c (arc_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/arm/arm.c (arm_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/bfin/bfin-protos.h (conditional_register_usage): Delete. |
| * config/bfin/bfin.c (conditional_register_usage): Move code into... |
| (bfin_conditional_register_usage): ...here. New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/cris/cris-protos.h (cris_conditional_register_usage): Delete. |
| * config/cris/cris.c (cris_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment. |
| * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/frv/frv-protos.h (frv_conditional_register_usage): Delete. |
| * config/frv/frv.c (frv_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/h8300/h8300.c (h8300_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete. |
| * config/i386/i386.c (ix86_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete. |
| * config/m32c/m32c.c (m32c_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/m32r/m32r.c (m32r_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage): |
| Delete. |
| * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make |
| static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/mep/mep-protos.h (mep_conditional_register_usage): Delete. |
| * config/mep/mep.c (mep_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/mips/mips-protos.h (mips_conditional_register_usage): Delete. |
| * config/mips/mips.c (mips_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete. |
| * config/mmix/mmix.c (mmix_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/mn10300/mn10300.c (mn10300_conditional_register_usage): |
| ...here. New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this... |
| * config/pa/pa.c (pa_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage): |
| Delete. |
| * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make |
| static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/rx/rx-protos.h (rx_conditional_register_usage): Delete. |
| * config/rx/rx.c (rx_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/s390/s390-protos.h (s390_conditional_register_usage): Delete. |
| * config/s390/s390.c (s390_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/score/score.c (score_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/sh/sh.c (sh_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/sparc/sparc.c (sparc_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete. |
| * config/spu/spu-protos.h (spu_conditional_register_usage): Delete. |
| * config/spu/spu.c (spu_conditional_register_usage): Make static. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic... |
| * config/v850/v850.c (v850_conditional_register_usage): ...here. |
| New function. |
| (TARGET_CONDITIONAL_REGISTER_USAGE): Define. |
| |
| 2010-11-21 Jan Hubicka <jh@suse.cz> |
| Dominique d'Humieres <dominiq@lps.ens.ft> |
| |
| PR target/46510 |
| * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not |
| finalize external decls. |
| |
| 2010-11-21 Joseph Myers <joseph@codesourcery.com> |
| |
| * system.h (strerror): Poison. |
| |
| 2010-11-21 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode |
| for infq/huge_valq. |
| |
| 2010-11-21 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-optimization/46571 |
| * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn. |
| (compute_hash_table_work): Use NONDEBUG_INSN_P. |
| |
| 2010-11-21 Paul Koning <ni1d@arrl.net> |
| |
| * config/mips/pdp11.md (negsi2): Fix wrong code. |
| |
| 2010-11-21 Paul Koning <ni1d@arrl.net> |
| |
| * config/mips/pdp11.c (pdp11_legitimate_address_p): New function. |
| * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete. |
| |
| 2010-11-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/mips/mips.c (machine_function): Rename load_label_length to |
| load_label_num_insns. |
| (mips_load_label_length): Rename to... |
| (mips_load_label_num_insns): ...this. Adjust to first renaming. |
| (mips_adjust_insn_length): Adjust to second renaming. Fix thinko. |
| |
| 2010-11-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46533 |
| * config/alpha/predicates.md (direct_call_operand): Return false |
| for !TARGET_SMALL_TEXT targets. |
| |
| 2010-11-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/tm.texi.in (HANDLE_SYSV_PRAGMA, |
| HANDLE_PRAGMA_PACK_PUSH_POP): Remove. |
| (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA. |
| * doc/tm.texi: Regenerate. |
| * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA, |
| HANDLE_PRAGMA_WEAK): Poison. |
| * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_WEAK): Don't undefine. |
| * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_WEAK): Don't undefine. |
| * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_PACK): Don't undefine. |
| * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine. |
| * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define. |
| (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define. |
| * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define. |
| |
| 2010-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/31100 |
| * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to... |
| * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here. |
| * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine. |
| |
| 2010-11-20 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c (ld_plugin_symbol_resolution_names): New. |
| (dump_cgraph_node): Dump resolution. |
| * cgraph.h (ld_plugin_symbol_resolution_names): Declare. |
| (cgraph_comdat_can_be_unshared_p): Dclare. |
| * lto-streamer-out.c (produce_symtab): Use |
| cgraph_comdat_can_be_unshared_p. |
| * ipa.c (cgraph_address_taken_from_non_vtable_p): New function. |
| (cgraph_comdat_can_be_unshared_p): New function based on logic |
| in cgraph_externally_visible_p. |
| (cgraph_externally_visible_p): Use it. |
| (varpool_externally_visible_p): Virtual tables can be unshared. |
| * varpool.c (dump_varpool_node): Dump resolution. |
| |
| 2010-11-20 Jan Hubicka <jh@suse.cz> |
| |
| * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p. |
| |
| 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR other/46202 |
| * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables. |
| (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix |
| shell quoting. |
| (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new. |
| (install-strip): New target. |
| (STRIPPROG): New variable, exported if STRIP is set. |
| * doc/install.texi (Final install): Minor markup and code style |
| fixes. Document install-strip target. |
| |
| 2010-11-20 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset, |
| pdp11_regno_reg_class): New functions. |
| * config/pdp11/pdp11.md (define_constants): Add register numbers. |
| * config/pdp11/pdp11.c (pdp11_regno_reg_class, |
| pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New |
| functions. |
| * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add |
| frame pointer and argument pointer pseudo-registers. |
| (ARG_POINTER_REGNUM): Define. |
| (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and |
| argument pointer. |
| (FIRST_PARM_OFFSET): Update for argument pointer. |
| (INITIAL_FRAME_POINTER_OFFSET): Delete. |
| (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros. |
| (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add |
| frame pointer and argument pointer. |
| |
| 2010-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46561 |
| * tree-parloops.c (try_create_redunction_list): Ignore debug stmts |
| when looking for immediate uses. |
| |
| PR tree-optimization/45830 |
| * stmt.c (expand_switch_using_bit_tests_p): New function. |
| (expand_case): Use it. |
| * tree.h (expand_switch_using_bit_tests_p): New prototype. |
| * tree-switch-conversion.c (struct switch_conv_info): Add |
| bit_test_uniq, bit_test_count and bit_test_bb fields. |
| (check_range): Fix a comment. |
| (check_process_case): Compute bit_test_uniq and bit_test_count. |
| (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one |
| allocation. |
| (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging. |
| (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT. |
| (array_value_type): New function. |
| (build_one_array): Use it, if it returned different type, |
| fold_convert all constructor fields and convert back to the |
| wider type in the generated code. |
| (process_switch): Initialize bit_test_uniq, bit_test_count and |
| bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p |
| returned true. |
| |
| 2010-11-19 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/46077 |
| * tree-chrec.c (eq_evolutions_p): Accept some expressions. |
| |
| 2010-11-19 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove. |
| * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New |
| function. |
| (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. |
| |
| 2010-11-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * mode-switching.c (optimize_mode_switching): Use |
| FOR_BB_INSNS instead of open-coded loop. |
| * cfgrtl.c (redirect_branch_edge): Ditto. |
| |
| 2010-11-19 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46436 |
| * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count |
| to accomodate 32 bit HOST_WIDE_INT. |
| (m68hc11_emit_logical): Remove unused variable insn. |
| (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and |
| this_insn_uses_iy before use. |
| |
| PR target/46434 |
| * config/crx/crx.c (crx_expand_epilogue): Remove unused variable. |
| |
| 2010-11-19 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/46547 |
| * c-tree.h (in_late_binary_op): Move to c-family/c-common.h. |
| * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c. |
| |
| 2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (Function attributes): Document PowerPC target |
| attributes that are supported. |
| (Pragmas): Document that PowerPC now supports target pragmas. |
| |
| * doc/options.texi (TargetVariable): Document TargetVariable, |
| HeaderInclude, and SourceInclude. |
| |
| * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is |
| mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to |
| -ffp-contract=off. |
| |
| * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and |
| SourceInclude directives. Fix a cut+paste error with target save |
| enum variables. Sort enums in the structures after ints and |
| before shorts. |
| * opth-gen.awk: Ditto. |
| |
| * configure.ac: Add support for HeaderInclude and SourceInclude option |
| directives to add the appropriate files to the dependency lists. |
| * configure: Regenerate. |
| * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude. |
| (OPTIONS_C_EXTRA): New variable for SourceInclude. |
| (OPTIONS_H): Add $(OPTIONS_H_EXTRA). |
| (options.o): Add $(OPTIONS_C_EXTRA) dependency. |
| (gcc-options.o): Ditto. |
| * opt-include.awk: New awk script to handle HeaderInclude and |
| TargetInclude. |
| |
| * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it |
| gets saved in the target options. |
| * config/rs6000/linux64.opt (-mprofile-kernel): Ditto. |
| * config/rs6000/sysv4.opt (-mbit-align): Ditto. |
| (-mprototype): Ditto. |
| (-mbit-word): ditto. |
| (-mregnames): Ditto. |
| (-msecure-plt): Ditto. |
| (-mbss-plt): Ditto. |
| * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto. |
| (-mpowerpc-gfxopt): Ditto. |
| (-mmfcrf): Ditto. |
| (-mpopcntb): Ditto. |
| (-mfprnd): Ditto. |
| (-mcmpb): Ditto. |
| (-mmmfpgpr): Ditto. |
| (-maltivec): Ditto. |
| (-mhard-dfp): Ditto. |
| (-mmulhw): Ditto. |
| (-mdlmzb): Ditto. |
| (-mmultiple): Ditto. |
| (-mstring): Ditto. |
| (-mpopcntd): Ditto. |
| (-mfriz): Ditto. |
| (-mvsx): Ditto. |
| (-mno-update): Ditto. |
| (-mavoid-indexed-addresses): Ditto. |
| (-mtls-markers): Ditto. |
| (-msched-epilog): Ditto. |
| (-msched-prolog): Ditto. |
| (-maix-struct-return): Ditto. |
| (-msvr4-struct-return): Ditto. |
| (-mxl-compat): Ditto. |
| (-mrecip-precision): Ditto. |
| (-mfp-in-toc): Ditto. |
| (-msum-in-toc): Ditto. |
| (-mvrsave): Ditto. |
| (-mblock-move-inline-limit=): Ditto. |
| (-misel): Ditto. |
| (-mpaired): Ditto. |
| (-mlongcall): Ditto. |
| (-mgen-cell-microcode): Ditto. |
| (-mwarn-cell-microcode): Ditto. |
| (-mwarn-altivec-long): Ditto. |
| (-mprioritize-restricted-insns=): Ditto. |
| (-msingle-float): Ditto. |
| (-mdouble-float): Ditto. |
| (-msimple-fpu): Ditto. |
| (-mxilinx-fpu): Ditto. |
| * config/rs6000/aix64.opt (-mpe): Ditto. |
| |
| * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h. |
| (rs6000_cpu): Move variable to be a target variable. Rename |
| cmodel to rs6000_current_cmodel because of macro conflict. Merge |
| -mdebug=<xxx> variables into a single int. |
| (rs6000_always_hint): Ditto. |
| (rs6000_sched_groups): Ditto. |
| (rs6000_align_branch_targets): Ditto. |
| (rs6000_sched_costly_dep): Ditto. |
| (rs6000_sched_insert_nops): Ditto. |
| (rs6000_long_double_type_size): Ditto. |
| (rs6000_ieeequad): Ditto. |
| (rs6000_altivec_abi): Ditto. |
| (rs6000_spe): Ditto. |
| (rs6000_spe_abi): Ditto. |
| (rs6000_float_gprs): Ditto. |
| (rs6000_darwin64_abi): Ditto. |
| (can_override_loop_align): Ditto. |
| (rs6000_sdata): Ditto. |
| (rs6000_tls_size): Ditto. |
| (rs6000_current_abi): Ditto. |
| (rs6000_traceback): Ditto. |
| (rs6000_alignment_flags): Ditto. |
| (rs6000_current_cmodel): Ditto. |
| (rs6000_recip_control): Ditto. |
| (rs6000_cpu_index): Ditto. |
| (rs6000_tune_index): Ditto. |
| (rs6000_debug): Ditto. |
| (rs6000_target_flags_explict): Ditto. |
| |
| * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add |
| declaration. |
| |
| * config/rs6000/linux64.h (rs6000_current_cmode): Rename from |
| cmodel. Change all uses. |
| |
| * config/rs6000/rs6000.c (rs6000_always_hint): Move to |
| rs6000.opt. Combine -mdebug=<xxx> variables into a single int. |
| Rename cmodel to rs6000_current_cmodel. |
| (rs6000_sched_groups): Ditto. |
| (rs6000_align_branch_targets): Ditto. |
| (rs6000_sched_costly_dep): Ditto. |
| (rs6000_sched_insert_nops): Ditto. |
| (rs6000_long_double_type_size): Ditto. |
| (rs6000_ieeequad): Ditto. |
| (rs6000_altivec_abi): Ditto. |
| (rs6000_spe): Ditto. |
| (rs6000_spe_abi): Ditto. |
| (rs6000_float_gprs): Ditto. |
| (rs6000_darwin64_abi): Ditto. |
| (can_override_loop_align): Ditto. |
| (rs6000_sdata): Ditto. |
| (rs6000_tls_size): Ditto. |
| (rs6000_current_abi): Ditto. |
| (rs6000_traceback): Ditto. |
| (rs6000_alignment_flags): Ditto. |
| (rs6000_current_cmodel): Ditto. |
| (rs6000_recip_control): Ditto. |
| (rs6000_cpu_index): Ditto. |
| (rs6000_tune_index): Ditto. |
| (rs6000_debug): Ditto. |
| (rs6000_target_flags_explict): Ditto. |
| (rs6000_sched_insert_nops_str): Make static. |
| (rs6000_sched_costly_dep_str): Ditto. |
| (rs6000_recip_name): Ditto. |
| (rs6000_abi_name): Ditto. |
| (rs6000_sdata_name): Ditto. |
| (enum rs6000_traceback_name): Move to rs6000-opts.h. |
| (rs6000_parse_tls_size_option): Delete. |
| (rs6000_valid_attribute_p): New function for target attributes and |
| pragmas. |
| (rs6000_function_specific_save): Ditto. |
| (rs6000_function_specific_restore): Ditto. |
| (rs6000_function_specific_print): Ditto. |
| (rs6000_can_inline_p): Ditto. |
| (rs6000_set_current_function): Ditto. |
| (rs6000_inner_target_options): Ditto. |
| (rs6000_debug_target_options): Ditto. |
| (rs6000_pragma_target_parse): Ditto. |
| (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target |
| attributes and pragmas. |
| (TARGET_OPTION_SAVE): Ditto. |
| (TARGET_OPTION_RESTORE): Ditto. |
| (TARGET_OPTION_PRINT): Ditto. |
| (TARGET_CAN_INLINE_P): Ditto. |
| (TARGET_SET_CURRENT_FUNCTION): Ditto. |
| (POWER_MASKS): Move to file level scope from the |
| rs6000_option_override_internal function. |
| (POWERPC_MASKS): Ditto. |
| (ISA_*_MASKS): Ditto. |
| (struct rs6000_ptt): Ditto. |
| (processor_target_table): Ditto. |
| (rs6000_cpu_name_lookup): Map cpu name to an index in |
| processor_target_table. |
| (rs6000_debug_reg_global): Print more information on processor |
| options for -mdebug=reg. |
| (rs6000_init_hard_regno_mode_ok): Add support for target |
| attributes and pragmas. Merge all -mdebug=<xxx> fields into one. |
| Allow -mdebug=val1,val2. Rename cmodel variable. |
| (rs6000_option_override_internal): Ditto. |
| (rs6000_option_override): Ditto. |
| (rs6000_handle_option): Ditto. |
| (rs6000_conditional_register_usage): Add debug trace message. |
| (struct rs6000_opt_mask): New for target attribute/pragma support. |
| (rs6000_opt_masks): Ditto. |
| (struct rs6000_opt_var): Ditto. |
| (rs6000_opt_vars): Ditto. |
| (rs6000_previous_function): Ditto. |
| |
| * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it |
| wasn't already included. |
| (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt. |
| (enum processor_type): Ditto. |
| (rs6000_cpu): Ditto. |
| (enum fpu_type_t): Ditto. |
| (fpu_type): Ditto. |
| (enum rs6000_dependence_cost): Ditto. |
| (enum rs6000_nop_insertion): Ditto. |
| (enum group_termination): Ditto. |
| (rs6000_long_double_type_size): Ditto. |
| (rs6000_ieeequad): Ditto. |
| (rs6000_altivec_abi): Ditto. |
| (rs6000_spe_abi): Ditto. |
| (rs6000_spe): Ditto. |
| (rs6000_float_gprs): Ditto. |
| (rs6000_alignment_flags): Ditto. |
| (rs6000_sched_insert_nops): Ditto. |
| (enum rs6000_vector): Ditto. |
| (enum rs6000_abi): Ditto. |
| (rs6000_current_opt): Ditto. |
| (rs6000_debug_*): Delete. |
| (MASK_DEBUG*): Combine -mdebug=xxxx into one int. |
| (TARGET_DEBUG*): Ditto. |
| |
| * config/rs6000/rs6000-opts.h: New header file to define the enums |
| that are used in target variables that are now defined in rs6000.opt. |
| |
| * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to |
| rs6000-opts.h. |
| (rs6000_sdata): Ditto. |
| (rs6000_abi_name): Delete. |
| (rs6000_sdata_name): Ditto. |
| (rs6000_tls_size_string): Ditto. |
| |
| 2010-11-19 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (debug_struct_ordinary, debug_struct_generic): New |
| Variable entries. |
| * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT, |
| should_emit_struct_debug): Move from opts.c. |
| * flag-types.h (enum debug_struct_file): Move from opts.c. |
| * flags.h (should_emit_struct_debug): Remove. |
| (base_of_path): Declare. |
| (set_struct_debug_option): Add gcc_options parameter. |
| * optc-gen.awk, opth-gen.awk: Handle array variables. |
| * opts.c (enum debug_struct_file, debug_struct_ordinary, |
| debug_struct_generic): Remove. |
| (set_struct_debug_option): Add gcc_options parameter. |
| (base_of_path): Remove static. |
| (main_input_basename, main_input_baselength, matches_main_base, |
| dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug): |
| Remove. |
| * toplev.c (main_input_basename, main_input_baselength): Define |
| here. |
| * toplev.h (main_input_basename, main_input_baselength): Declare |
| here. |
| |
| 2010-11-19 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (flag_instrument_functions_exclude_functions, |
| flag_instrument_functions_exclude_files): New Variable definitions. |
| * flags.h (flag_instrument_functions_exclude_p): Don't declare. |
| * gimplify.c (char_p): Declare type and vectors. |
| (flag_instrument_functions_exclude_p): Moved from opts.c. Make static. |
| * opts.c (flag_instrument_functions_exclude_functions, |
| flag_instrument_functions_exclude_files): Remove. |
| (add_comma_separated_to_vector): Take void **. |
| (flag_instrument_functions_exclude_p): Move to gimplify.c. |
| (common_handle_option): Use options structure for |
| -finstrument-functions-exclude- options. |
| |
| 2010-11-19 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (Var): Document effects of Defer. |
| (Defer): Document. |
| * opt-functions.awk (var_type, var_set): Handle deferred options. |
| * opts-common.c (set_option): Handle CLVC_DEFER. |
| * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-, |
| fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=, |
| fstack-limit-symbol=): Mark as deferred. |
| * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or |
| plugin.h. |
| (print_filtered_help): Don't report state of CLVC_DEFER options. |
| (common_handle_option): Move code for OPT_fcall_used_, |
| OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_, |
| OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and |
| OPT_fstack_limit_symbol_ to opts-global.c. |
| (option_enabled, get_option_state): Handle CLVC_DEFER. |
| * opts.h: Include vec.h. |
| (enum cl_var_type): Add CLVC_DEFER. |
| (cl_deferred_option): Define type and vectors. |
| (handle_common_deferred_options): Declare. |
| * opts-global.c: New. |
| * toplev.c (toplev_main): Call handle_common_deferred_options |
| * Makefile.in (OPTS_H): Include $(VEC_H). |
| (OBJS-common): Include opts-global.o. |
| (opts.o): Update dependencies. |
| (opts-global.o): Add dependencies. |
| |
| 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_protocol_definition): Pass attributes |
| to objc_declare_protocols. |
| |
| 2010-11-19 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45789 |
| * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For |
| IDENTIFIERs do not stream TREE_TYPE. |
| * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise. |
| |
| 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com> |
| |
| * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE. |
| |
| 2010-11-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45870 |
| * dwarf2out.c (const_ok_for_output_1): Don't complain about |
| non-delegitimized TLS UNSPECs. |
| |
| 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu> |
| Ian Lance Taylor <iant@google.com> |
| |
| * config/darwin-c.c (darwin_additional_format_types): Export. |
| |
| 2010-11-18 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame |
| pointer. |
| |
| 2010-11-18 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN. |
| * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto. |
| * config/pdp11/pdp11.opt (-mabshi): Delete. |
| |
| 2010-11-19 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * resource.h (struct resources): Fix typo in the comment. |
| |
| 2010-11-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46546 |
| * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn. |
| |
| 2010-11-18 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/46515 |
| * function.c (maybe_copy_prologue_epilogue_insn): Rename from |
| maybe_copy_epilogue_insn; handle prologue insns as well. |
| * rtl.h, cfglayout.c: Update for rename. |
| * recog.c (peep2_attempt): Copy prologue/epilogue data for |
| RTX_FRAME_RELATED_P insns. |
| |
| 2010-11-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46534 |
| * builtins.c (fold_builtin_printf): Don't copy and modify string |
| before build_string_literal, instead modify what |
| build_string_literal returned. |
| |
| 2010-11-18 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR c/33193 |
| * c-typeck.c (build_unary_op): Call build_real_imag_expr for |
| REALPART_EXPR and IMAGPART_EXPR. |
| |
| 2010-11-18 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46172 |
| * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New |
| function. |
| (slpeel_tree_peel_loop_to_edge): Call it. |
| |
| 2010-11-18 Jeff Law <law@redhat.com> |
| |
| PR middle-end-optimization/46297 |
| * postreload.c (reload_combine_note_store): Deal with embedded |
| side effects in MEM expressions. |
| |
| 2010-11-18 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45089 |
| * dwarf2out.c (add_AT_die_ref): Work around LTO losing types |
| when checking is not enabled. |
| |
| 2010-11-18 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46525 |
| * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of |
| type leaders. |
| (gimple_register_canonical_type): Also cache the canoncial type |
| for non type leaders. |
| |
| 2010-11-18 Richard Guenther <rguenther@suse.de> |
| |
| * lto-wrapper.c (run_gcc): Fix -flto=N parsing. |
| |
| 2010-11-18 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR middle-end/46518 |
| * sel-sched-ir.c (init_expr): Use the correct type for |
| target_available. |
| * sel-sched.c (fill_vec_av_set): Use explicitly signed char type. |
| |
| 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se> |
| |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic |
| as well as -mrelocatable at the same time. |
| |
| 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com> |
| |
| PR target/46422 |
| * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64): |
| Call the clz builtin. |
| |
| 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com> |
| Steve Ellcey <sje@cup.hp.com> |
| |
| PR middle-end/31490 |
| * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask |
| if section attribute used. |
| |
| 2010-11-17 Jan Hubicka <jh@suse.cz> |
| |
| * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not |
| expand errno setting variant when optimizing for size. |
| |
| 2010-11-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * postreload.c (reload_combine): Call control_flow_insn_p only once. |
| Reverse backward loop. Fix formatting issues. |
| |
| 2010-11-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| * c-parser.c (c_token_is_qualifier, |
| c_parser_next_token_is_qualifier): New. |
| (c_parser_declaration_or_fndef, c_parser_struct_declaration): |
| Improve error message on specs->tagdef_seen_p. |
| (c_parser_struct_or_union_specifier): Improve error recovery. |
| (c_parser_declspecs): Move exit condition on C_ID_ID early. |
| Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME |
| using c_parser_next_token_is_qualifier; extend it to cover |
| a ctsk_tagdef typespec and !typespec_ok in general. |
| |
| 2010-11-17 Richard Guenther <rguenther@suse.de> |
| |
| * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt. |
| (gimple_mod_pow2_value_transform): Likewise. |
| (gimple_mod_subtract_transform): Likewise. |
| |
| 2010-11-17 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/46504 |
| * gimple.c (gimple_register_canonical_type): Make sure to only |
| make type leaders canonical types. |
| |
| 2010-11-17 Michael Matz <matz@suse.de> |
| |
| * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE, |
| TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO, |
| TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING, |
| TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New. |
| * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ... |
| (pass_build_ssa): ... but here. |
| * cgraphbuild.c (pass_rebuild_cgraph): Use timevar. |
| * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar. |
| * tree-emutls.c (pass_ipa_lower_emutls): Ditto. |
| * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto. |
| * predict.c (rebuild_frequencies): Ditto. |
| * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto. |
| * emit-rtl.c (verify_rtl_sharing): Ditto. |
| * tree-cfgcleanup.c (repair_loop_structures): Ditto. |
| * tree-ssa-live.c (remove_unused_locals): Ditto. |
| * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto. |
| * tree-ssa.c (pass_early_warn_uninitialized, |
| execute_update_addresses_taken, pass_update_address_taken): Ditto. |
| * tree-optimize.c (pass_all_optimizations, pass_early_local_passes, |
| pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto. |
| * passes.c (pass_postreload, execute_todo): Ditto. |
| * tree-ssanames.c (pass_release_ssa_names): Ditto. |
| |
| 2010-11-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/invoke.texi (-dy): Remove. |
| * langhooks-def.h (lhd_do_nothing_i): Don't declare. |
| (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing. |
| * langhooks.c (lhd_do_nothing_i): Remove. |
| * langhooks.h (lang_hooks.parse_file): Take no arguments. |
| * toplev.c (set_yydebug): Remove. |
| (compile_file): Update call to lang_hooks.parse_file. |
| (decode_d_option): Don't handle -dy. |
| |
| 2010-11-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/46440 |
| * combine.c (update_cfg_for_uncondjump): When changing |
| an indirect jump into unconditional jump, remove BARRIERs |
| from bb's footer. |
| |
| 2010-11-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.c (target_handle_option): Do not assert that loc == |
| UNKNOWN_LOCATION. |
| |
| 2010-11-17 Jakub Jelinek <jakub@redhat.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45838 |
| * tree-ssa-alias.c (ref_maybe_used_by_call_p_1, |
| call_may_clobber_ref_p_1): Return true for __sync_* and some |
| OpenMP builtins that act as threading barriers. |
| |
| 2010-11-17 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46498 |
| * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/xtensa/xtensa.c (function_arg_boundary): Really rename to... |
| (xtensa_function_arg_boundary): ...this. |
| * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix |
| thinko in declaration. |
| (picochip_function_arg, picochip_arg_partial_bytes): Pass proper |
| number of parameters to picochip_function_arg_boundary. |
| (picochip_arg_advance): Likewise. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR target/46512 |
| * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses |
| under check for type. |
| |
| 2010-11-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ifcvt.c (dead_or_predicable): Fix typo. |
| |
| 2010-11-16 Richard Henderson <rth@redhat.com> |
| |
| * config.gcc [s390*-*] (extra_options): Add fused-madd.opt. |
| * config/s390/s390.opt (mfused-madd): Remove. |
| * config/s390/s390.c (s390_rtx_costs): Handle FMA. |
| (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. |
| * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA. |
| (fms<DSF>4): Rename from *fmsub<DSF>; use FMA. |
| |
| 2010-11-16 Richard Henderson <rth@redhat.com> |
| |
| * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt. |
| * config/rs6000/rs6000.opt (mfused-madd): Remove. |
| * config/rs6000/altivec.md (altivec_vmaddfp): Remove. |
| (*altivec_vmaddfp_1): Remove. |
| (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA. |
| (altivec_mulv4sf3): Expand to FMA directly. |
| (*altivec_vnmsubfp): Rename from altivec_vnmsubfp. |
| (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove. |
| * config/rs6000/paired.md (paired_madds0): Use FMA. |
| (paired_madds1): Likewise. |
| (*paired_madd): Rename from paired_madd; use FMA. |
| (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly. |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not |
| consider TARGET_FUSED_MADD wrt rs6000_recip_control. |
| (bdesc_3arg): Update CODE_FOR_* for pattern renames. |
| (rs6000_emit_madd): Use fma_optab. |
| (rs6000_emit_msub): Use fms_optab. |
| (rs6000_emit_nmsub): Expand the FMA pattern directly. |
| * config/rs6000/rs6000.md (FMA_F): New mode iterator. |
| (*fmasf4_fpr): Rename from fmasf4_fpr. |
| (*nfmasf4_fpr): Rename from *fnmasf4_fpr. |
| (*nfmssf4_fpr): Rename from *fnmssf4_fpr. |
| (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove. |
| (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove. |
| (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove. |
| (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove. |
| (*fmadf4_fpr): Rename from fmadf4_fpr. |
| (*nfmadf4_fpr): Rename from *fnmadf4_fpr. |
| (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr. |
| (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove. |
| (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove. |
| (fmasf4, fmadf4): Macroize into... |
| (fma<FMA_F>4): ... here. |
| (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New. |
| (nfma<FMA_F>4, nfms<FMA_F>4): New. |
| * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on |
| TARGET_FUSED_MADD. |
| * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove. |
| (*vsx_fmadd<mode>4_1): Remove. |
| (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove. |
| (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove. |
| (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove. |
| (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2. |
| (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2. |
| (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4. |
| (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4. |
| |
| 2010-11-16 Richard Henderson <rth@redhat.com> |
| |
| * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA. |
| (fmasf4, fnmadf4, fnmasf4): Likewise. |
| (unnamed plus+mult insns and splitters): Delete. |
| |
| 2010-11-16 Richard Henderson <rth@redhat.com> |
| |
| * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>. |
| (fnma<VSF>4): Rename from fnms_<VSF>. |
| (fms<VSF>4): Rename from fms_<VSF>. |
| (fma<VDF>4): Rename from fma_<VDF>. |
| (fms<VDF>4): Rename from fms_<VDF>. |
| (nfma<VDF>4): Rename from fnma_<VDF>. |
| (nfms<VDF>4): Rename from fnms_<VDF>. |
| (fnma<VDF>4, fnms<VDF>4): New expanders. |
| (floatunsdisf2): Update for the renames. |
| (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise. |
| * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames. |
| |
| 2010-11-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/46490 |
| * combine.c (expand_compound_operation): Fix thinko. |
| |
| 2010-11-16 Richard Henderson <rth@redhat.com> |
| |
| PR target/46470 |
| * recog.c (peep2_attempt): Convert frame-related info when possible. |
| (peep2_fill_buffer): Allow frame-related insns into the buffer. |
| (peephole2_optimize): Allow peep2_attempt to fail. |
| |
| 2010-11-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/46315 |
| * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare. |
| * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function |
| extracted from... |
| * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into... |
| (remove_reg_equal_equiv_notes_for_defs): ...this. |
| (delete_unmarked_insns): Adjust to above renaming. |
| * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes |
| referring to registers set in the insns being moved, if any. |
| |
| * df-core.c (df_ref_dump): New function extracted from... |
| (df_refs_chain_dump): ...here. Call it. |
| (df_regs_chain_dump): Likewise. |
| * df-problems.c (df_chain_dump): Print 'e' for uses in notes. |
| * df-scan.c (df_scan_start_dump): Likewise. Fix long line. |
| |
| 2010-11-16 Andreas Schwab <schwab@linux-m68k.org> |
| |
| PR rtl-optimization/46395 |
| * postreload.c (reload_combine): Invalidate register use |
| information on all control flow insns. |
| |
| * config/m68k/m68k.c (m68k_delegitimize_address): Also expect |
| LABEL_REF in UNSPEC operand. |
| |
| 2010-11-16 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...; |
| when !flag_toplevel_reorder do not remove unless variable is |
| COMDAT or ARTIFICIAL. |
| * ipa.c (varpool_can_remove_if_no_refs): ... here. |
| (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay. |
| * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too. |
| * varpool.c (decide_is_variable_needed): Do not handle visibility |
| issues. |
| (varpool_finalize_decl): Likewise. |
| (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node; |
| update outdated comment on DECL_RTL_SET_P check. |
| |
| 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sol2.h (NM_FLAGS): Define. |
| * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document. |
| * doc/tm.texi: Update. |
| |
| 2010-11-16 Nick Clifton <nickc@redhat.com> |
| |
| * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code. |
| (msubsf4): Rename to fmssf4, and use fma. |
| (nmaddsf4): Rename to fnmasf4 and use fma. |
| (nmsubsf4): Rename to fnmssf4 and use fma. |
| |
| 2010-11-16 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/44762 |
| * config/score/score3.c (score3_return_in_memory): Constify arguments. |
| (score3_in_small_data_p, score3_function_value): Likewise. |
| (score3_trampoline_init): Use LCT_NORMAL. |
| (score3_print_operand): Initialize code as UNKNOWN. |
| * config/score/predicates.md (score_load_multiple_operation): |
| Remove unused variable. |
| (score_store_multiple_operation): Likewise. |
| * config/score/score7.c (score7_return_in_memory): Constify arguments. |
| (score7_in_small_data_p, score7_function_value): Likewise. |
| (score7_trampoline_init): Use LCT_NORMAL. |
| (score7_print_operand): Initialize code as UNKNOWN. |
| * config/score/score3.h (score3_return_in_memory): Update prototype. |
| (score3_in_small_data_p, score3_function_value): Likewise. |
| * config/score/score-protos.h (score_function_value): Likewise. |
| * config/score/score7.h (score7_return_in_memory): Update prototype. |
| (score7_in_small_data_p, score7_function_value): Likewise. |
| * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify. |
| (score_return_in_memory, score_pass_by_reference): Constify arguments. |
| (score_output_mi_thunk, score_function_prologue): Don't return a value. |
| (score_function_epilogue, score_in_small_data_p): Likewise. |
| (score_option_override, score_asm_trampoline_template): Likewise. |
| (score_trampoline_init, score_print_operand): Likewise. |
| (score_print_operand_address, score_prologue): Likewise. |
| (score_epilogue, score_call, score_call_value): Likewise. |
| (score_movsicc, score_movdi, score_zero_extract_andi): Likewise. |
| (score_function_arg_advance): Likewise. Make static. |
| (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED. |
| (score_function_arg, score_legitimate_address_p): Make static. |
| (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED. |
| * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class. |
| * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE): |
| Allow (W) == HOST_BITS_PER_WIDE_INT. |
| |
| PR java/46386 |
| * config/pdp11/t-pdp11 (java/constants.o-warn): Remove. |
| * config/t-pnt16-warn (java/constants.o-warn): Likewise. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/arc/arc.c: Delete pasto. |
| * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison. |
| |
| 2010-11-16 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS, |
| PREFERRED_OUTPUT_RELOAD_CLASS): Remove. |
| * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS, |
| TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. |
| (mn10300_preferred_reload_class, |
| mn10300_preferred_output_reload_class): New functions. |
| |
| 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros. |
| (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr) |
| (mnemonic_htab_callback, gen_mnemonic_attr): New functions. |
| (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.c (std_gimplify_va_arg_expr): Use |
| targetm.calls.function_arg_boundary. |
| * function.c (assign_parms, locate_and_pad_parm): Likewise. |
| * calls.c (struct arg_data): Update comment. |
| * defaults.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * target.def (function_arg_boundary): Define. |
| * targhooks.h (default_function_arg_boundary): Declare. |
| * targhooks.c (default_function_arg_boundary): Define. |
| * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use |
| TARGET_FUNCTION_ARG_BOUNDARY. |
| (FUNCTION_ARG_BOUNDARY): Delete. |
| (TARGET_FUNCTION_ARG_BOUNDARY): New. |
| * doc/tm.texi: Regenerate. |
| * system.h (FUNCTION_ARG_BOUNDARY): Poison. |
| * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/arc/arc.c (arc_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete. |
| * config/arm/arm.c (arm_needs_doubleword_align): Make static. |
| (arm_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/frv/frv-protos.h (frv_function_arg_boundary): Delete. |
| * config/frv/frv.c (frv_function_arg_boundary): Make static. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete. |
| * config/i386/i386.c (ix86_function_arg_boundary): Make static. |
| (ix86_compat_function_arg_boundary): Take and return unsigned int. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete. |
| * config/ia64/ia64.c (ia64_function_arg_boundary): Make static. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/m32c/m32c.c (m32c_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/mcore/mcore.c (mcore_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/mips/mips-protos.h (mips_function_arg_boundary): Delete. |
| * config/mips/mips.c (mips_function_arg_boundary): Make static. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/pa/pa.c (pa_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/picochip/picochip-protos.h |
| (picochip_get_function_arg_boundary): Delete. |
| * config/picochip/picochip.c (picochip_get_function_arg_boundary): |
| Rename to... |
| (picochip_function_arg_boundary): ...this. Make static. |
| (picochip_function_arg, picochip_arg_partial_bytes): Adjust. |
| (picochip_arg_advance): Adjust. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete. |
| * config/rs6000/rs6000.c (function_arg_boundary): Rename to... |
| (rs6000_function_arg_boundary): ...this. Make static. |
| (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/rx/rx.c (rx_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/sparc/sparc.c (sparc_function_arg_boundary): Define. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete. |
| * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete. |
| * config/xtensa/xtensa.c (function_arg_boundary): Rename to... |
| (xtensa_function_arg_boundary): ...this. Make static. |
| (TARGET_FUNCTION_ARG_BOUNDARY): Define. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * expr.c (alignment_for_piecewise_move): New function. |
| (widest_int_mode_for_size): New function. |
| (move_by_pieces, move_by_pieces_ninsns): Call them. |
| (can_store_by_pieces, store_by_pieces_1): Likewise. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * gcc.c (char_p): Define. Define a VEC of it. |
| (n_linker_options, n_assembler_options, n_preprocessor_options): |
| Delete. |
| (linker_options, assembler_options, preprocessor_options): Convert |
| to a VEC. |
| (add_preprocessor_option): Adjust. |
| (add_assembler_option): Adjust. |
| (add_linker_option): Adjust. |
| (do_specs_vec): New function. |
| (do_spec_1): Call it. Adjust for new types. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies. |
| (sreal.o, statistics.o, stringpool.o): Likewise. |
| |
| 2010-11-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44545 |
| * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing |
| statements are not reassociatable. |
| (reassociate_bb): Likewise. |
| |
| 2010-11-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * bitmap.c: Delete unnecessary includes. |
| * ebitmap.c: Likewise. |
| * et-forest.c: Likewise. |
| * sreal.c: Likewise. |
| * statistics.c: Likewise. |
| * stringpool.c: Likewise. |
| * double-int.c: Add comment for inclusion of tm.h. |
| |
| 2010-11-16 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (visit_unary_op): Rename to ... |
| (visit_nary_op): ... this. |
| (visit_binary_op): Remove. |
| (visit_use): Adjust and handle GIMPLE_TERNARY_RHS. |
| |
| 2010-11-16 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45172 |
| * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges. |
| |
| 2010-11-16 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the |
| record is packed. |
| |
| 2010-11-15 Richard Henderson <rth@redhat.com> |
| |
| * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR, |
| WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and |
| DOT_PROD_EXPR. |
| |
| 2010-11-15 Richard Henderson <rth@redhat.com> |
| |
| * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename |
| from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use |
| fma rtx_code. |
| |
| 2010-11-15 Richard Henderson <rth@redhat.com> |
| |
| * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4 |
| and *mulsubsf4 respectively. Use fma rtx_code. |
| |
| 2010-11-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c: Include "vec.h". |
| (argbuf): Make into a VEC. |
| (argbuf_length, argbuf_index): Remove. |
| (alloc_args, clear_args, store_arg, execute, insert_wrapper, |
| do_spec, do_self_spec, do_spec_1, eval_spec_function, main, |
| compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf. |
| * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o. |
| (gcc.o): Depend on $(VEC_H). |
| |
| 2010-11-15 Richard Henderson <rth@redhat.com> |
| |
| * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation |
| via FMA if unsafe math. |
| (insert_var_expansion_initialization): Handle FMA. |
| (combine_var_copies_in_loop_exit): Likewise. |
| |
| 2010-11-15 Richard Henderson <rth@redhat.com> |
| |
| * config.gcc [ia64-*] (extra_options): Add fused-madd.opt. |
| * config/ia64/ia64.opt: Remove mfused-madd. |
| * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA. |
| * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD. |
| * config/ia64/vms64.h (TARGET_DEFAULT): Likewise. |
| * config/ia64/ia64.h (TARGET_DEFAULT): Likewise. |
| * config/ia64/hpux.h (TARGET_DEFAULT): Likewise. |
| * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA. |
| (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove. |
| (fmav2sf4): Rename from fpma; use FMA code. |
| (fmsv2sf4): Rename from fpms; use FMA code. |
| (fnmav2sf4): Rename from *fpnma; use FMA code. |
| * config/ia64/ia64.md (MODE_SDF): New iterator. |
| (suffix): New mode attribute. |
| (*maddsf4, *msubsf4, *nmaddsf4): Remove. |
| (fmssf4): Rename from *fmssf4. |
| (fnmasf4): Rename from *nfmasf4. |
| (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove. |
| (*nmadddf4, *nmadddf4_truncsf): Remove. |
| (fmsdf4): Rename from *fmsdf4. |
| (fnmadf4): Rename from *nfmadf4. |
| (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New. |
| (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove. |
| (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove. |
| (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove. |
| (fmsxf4): Rename from *fmsxf4. |
| (fnmaxf4): Rename from *nfmaxf4. |
| (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New. |
| (*fnmaxf_trunc_<MODE_SDF>): New. |
| |
| 2010-11-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46461 |
| * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is |
| a gimple val. |
| |
| 2010-11-15 Ian Lance Taylor <iant@google.com> |
| |
| * godump.c: New file. |
| * common.opt (fdump-go-spec=): New option. |
| * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends. |
| (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define. |
| (TYPE_SYMTAB_IS_DIE): Define. |
| (struct tree_type): Change GTY for symtab field to use |
| TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field |
| to pick the union field. |
| * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field. |
| (dump_go_spec_init): Declare. |
| * toplev.c (process_options): Handle flag_dump_go_spec. |
| * debug.c: Include "tree.h". |
| (do_nothing_debug_hooks): Set tree_type_symtab_field. |
| * dwarf2out.c (dwarf2_debug_hooks): Likewise. |
| * dbxout.c (dbx_debug_hooks): Likewise. |
| (xcoff_debug_hooks): Likewise. |
| * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. |
| * sdbout.c (sdb_debug_hooks): Likewise. Do not define if |
| SDB_DEBUGGING_INFO is not defined. |
| * doc/invoke.texi (Option Summary): Mention -fdump-go-spec. |
| (Overall Options): Document -fdump-go-spec. |
| * Makefile.in (OBJS-common): Add godump.o. |
| (debug.o): Add dependency on $(TREE_H). |
| (godump.o): New target. |
| (GTFILES): Add $(srcdir)/godump.c. |
| |
| 2010-11-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46095 |
| * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of |
| marking r11 set RTX_FRAME_RELATED_P if offset is too large for |
| style < 0, add REG_FRAME_RELATED_EXPR. |
| |
| PR debug/46387 |
| * rtl.h (vt_equate_reg_base_value): New prototype. |
| * alias.c (vt_equate_reg_base_value): New function. |
| * var-tracking.c (vt_init_cfa_base): Use it. |
| |
| 2010-11-15 Jan Hubicka <jh@suse.cz> |
| Diego Novillo <dnovillo@google.com> |
| |
| PR lto/41528 |
| * doc/lto.texi: Add. |
| * doc/gccint.texi: Add reference to lto.texi. |
| * doc/invoke.texi: Update user documentation for LTO. |
| Move internal flags to lto.texi |
| |
| 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-typeck.c (build_unary_op): Use |
| objc_build_incr_expr_for_property_ref to build the pre/post |
| increment/decrement of an Objective-C property ref, and skip the |
| lvalue_or_else check in that case. |
| |
| 2010-11-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/46349 |
| * tree-sra.c (contains_bitfld_comp_ref_p): New function. |
| (contains_vce_or_bfcref_p): Likewise. |
| (sra_modify_assign): Use them. |
| |
| 2010-11-15 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46467 |
| * tree-ssa-structalias.c (do_structure_copy): Properly treat |
| variables without subvars. |
| |
| 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (file header): Picochip name change. |
| * config/picochip/picochip.md (file header): Likewise. |
| * config/picochip/predicates.md (file header): Likewise. |
| * config/picochip/dfa_space.md (file header): Likewise. |
| * config/picochip/dfa_speed.md (file header): Likewise. |
| * config/picochip/picochip.h(file header): Likewise. |
| * config/picochip/constraints.md (file header): Likewise. |
| * config/picochip/picochip-protos.h (file header): Likewise. |
| * config/picochip/libgccExtras/setjmp.asm (file header): Likewise. |
| * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise. |
| * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise. |
| * config/picochip/libgccExtras/longjmp.asm (file header): Likewise. |
| * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise. |
| * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise. |
| * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise. |
| * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise. |
| * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise. |
| * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise. |
| * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise. |
| * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise. |
| * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise. |
| * config/picochip/libgccExtras/subdi3.asm (file header): Likewise. |
| |
| 2010-11-15 Richard Guenther <rguenther@suse.de> |
| |
| PR bootstrap/46474 |
| * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts. |
| |
| 2010-11-15 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16.c (direct_return): Do not generate a |
| direct return for interrupt handlers. |
| |
| 2010-11-15 Joern Rennecke <amylaar@spamcop.net> |
| |
| * Makefile.in (tm.texi): Replace with rule for: |
| ($(srcdir)/doc/tm.texi). |
| (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on |
| $(srcdir)/doc/tm.texi . |
| (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on |
| tm.texi . |
| |
| PR target/46427 |
| * config/m32r/m32r.c: Remove unused variables frame_size and insn. |
| |
| PR bootstrap/45444 |
| * config/arm/arm.c (locate_neon_builtin_icode): Initialize key. |
| (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4. |
| |
| PR target/46432 |
| * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete. |
| |
| 2010-11-15 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44150 |
| * lto-opts.c (lto_write_options): Write -fexceptions even if |
| not set by the user. |
| |
| 2010-11-13 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR c/46462 |
| * c-decl.c (declspecs_add_type): Make variables with error types |
| integers. |
| * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs |
| do not start a declaration before an Objective-C foreach. |
| (c_parser_declaration_or_fndef): Improve recovery after unknown |
| type name. |
| (c_parser_for_statement): Hoist entrance of "foreach context" |
| before ifs, add corresponding reset where it was missing. Do |
| not set objc_could_be_foreach_context for C. |
| |
| 2010-11-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/45722 |
| * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if |
| this is a reference to a component. |
| * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF. |
| (ipa_note_param_call): Adjust comment. |
| |
| 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (machine_function): Remove |
| initialized_mips16_gp_pseudo_p. |
| (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to |
| detect whether a pseudo has already been created. Unconditionally |
| create a new one if not. |
| (mips_pic_base_register): Only call mips16_gp_pseudo_reg when |
| expanding to rtl. Create a new pseudo otherwise, if allowed. |
| |
| 2010-11-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/43440 |
| * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro. |
| * tm.texi: Regenerated. |
| * output.h (decode_reg_name_and_count): Declare. |
| * varasm.c (decode_reg_name_and_count): New function. |
| (decode_reg_name): Reimplement using decode_reg_name_and_count. |
| * reginfo.c (fix_register): Use decode_reg_name_and_count and |
| iterate over all regs used. |
| * stmt.c (expand_asm_operands): Likewise. |
| * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define. |
| (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap |
| multiple machine registers. |
| |
| 2010-11-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * stor-layout.c (place_union_field): Do not put location information |
| on offset expressions. |
| (place_field): Likewise. |
| (finalize_record_size): Likewise on size expressions. |
| (finalize_type_size): Likewise. |
| (layout_type): Likewise. |
| |
| 2010-11-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/42889 |
| * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns. |
| * df-core.c (df_set_bb_dirty_nonrl): Remove. |
| * df.h (df_set_bb_dirty_nonlr): Likewise. |
| |
| 2010-11-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/mips/mips.md (call_internal): Pass curr_insn to |
| mips_split_call. |
| (call_internal_direct): Ditto. |
| (call_value_internal): Ditto. |
| (call_value_internal_direct): Ditto. |
| (call_value_multiple_internal): Ditto. |
| * config/mips/mips.c (mips_split_call): Do not copy |
| CALL_INSN_FUNCTION_USAGE here. |
| |
| 2010-11-13 Mingming Sun <mingm.sun@gmail.com> |
| |
| * doc/invoke.texi (MIPS Options): Add loongson3a processor. |
| * config/mips/mips.md (define_attr "cpu"): Add loongson_3a. |
| (define_insn "prefetch"): Add TARGET_LOONGSON_3A. |
| * config/mips/mips.h (TARGET_LOONGSON_3A): Define. |
| (TUNE_LOONGSON_3A): Define. |
| (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A. |
| (MIPS_ISA_LEVEL_SPEC): Add loongson3a. |
| * config/mips/mips.c (mips_cpu_info_table): Add loongson3a. |
| (mips_issue_rate): Add PROCESSOR_LOONGSON_3A. |
| (mips_rtx_cost_data): Add Loongson-3A. |
| |
| 2010-11-13 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto |
| switches. |
| |
| 2010-11-13 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * dwarf2out.c (macinfo_entry): New struct. |
| (output_comp_unit): Emit the section start label here and flag that we |
| will emit an info section. |
| (dwarf2out_start_source_file): Save data in a macinfo entry rather than |
| emitting directly. |
| (dwarf2out_end_source_file): Likewise. |
| (dwarf2out_define): Likewise. |
| (dwarf2out_undef): Likewise. |
| (output_macinfo): New. |
| (dwarf2out_init): Do not emit debug section switches here, allocate a |
| vec for macinfo, when required. |
| (dwarf2out_finish): First switch to debug_abbrev_section here. |
| debug_line_section, debug_macinfo_section, Likewise. |
| Check that the pubtypes table has at least one unpruned entry before |
| trying to emit it. |
| |
| 2010-11-13 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR c/20385 |
| * c-parser.c (c_parser_next_token_starts_declaration): Rename to... |
| (c_parser_next_tokens_start_declaration): ... this. Handle 2nd |
| token lookahead. |
| (c_parser_compound_statement_nostart, c_parser_label, |
| c_parser_for_statement, c_parser_omp_for_loop): Adjust calls. |
| (c_parser_declaration_or_fndef): Detect the case now matched by |
| c_parser_next_tokens_start_declaration, give error and correct it. |
| |
| 2010-11-13 Paolo Bonzini <bonzini@gnu.org> |
| |
| * c-tree.h (enum c_typespec_kind): Add ctsk_none. |
| (struct c_declspecs): Replace tagdef_seen_p and type_seen_p |
| with typespec_kind. |
| * c-decl.c (build_null_declspecs): Initialize typespec_kind. |
| (shadow_tag_warned, check_compound_literal_type): Adjust |
| uses of tag_defined_p. |
| (declspecs_add_type): Set typespec_kind. |
| * c-parser.c (c_parser_declaration_or_fndef, |
| c_parser_declspecs, c_parser_struct_declaration, |
| c_parser_parameter_declaration, c_parser_type_name, |
| c_parser_objc_diagnose_bad_element_prefix): Adjust uses |
| of type_seen_p. |
| * c-typeck.c (c_cast_expr): Use typespec_kind instead of |
| tag_defined_p, pass ctsk_firstref through. |
| |
| 2010-11-13 Paolo Bonzini <bonzini@gnu.org> |
| |
| * c-format.c (enum format_specifier_kind, kind_descriptions): New. |
| (struct format_wanted_type): Replace field "name" with "kind", add |
| "format_start" and "format_length". |
| (check_format_info_main): Fill in new fields. Fill in |
| FORMAT_WANTED_TYPES even for missing arguments. Move checks |
| after the final NUL outside the while loop. Do not include |
| width and precision modifiers in the format_start/format_length |
| of the main format. |
| (check_format_types): Remove FORMAT_START and FORMAT_LENGTH |
| arguments. Compute WANTED_TYPE first so that format_type_warning |
| can be called for missing arguments. Adjust calls to |
| format_type_warning. |
| (format_type_warning): Fetch as much information as possible |
| from format_wanted_type. Adjust printing now that every |
| warning has a "descr", as well as for missing argument warnings |
| and to include % sign for format specifiers. |
| |
| 2010-11-12 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/46204 |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument. |
| Update all callers. Do not recompute topological order. Adjust |
| fallthrough edges following a degenerate conditional jump. |
| |
| 2010-11-12 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts-common.c (control_warning_option): New. |
| * opts.c (set_default_handlers): New. |
| (decode_options): Use set_default_handlers and |
| control_warning_option. |
| (common_handle_option): Update call to enable_warning_as_error. |
| (enable_warning_as_error): Take gcc_options parameters. Use |
| control_warning_option. |
| * opts.h (set_default_handlers, control_warning_option): Declare. |
| |
| 2010-11-12 Joseph Myers <joseph@codesourcery.com> |
| |
| * Makefile.in (OPTS_H): Define. |
| (c-decl.o, c-family/c-common.o, c-family/c-opts.o, |
| c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o, |
| cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o, |
| opts-common.o, toplev.o, passes.o, matrix-reorg.o, |
| ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H). |
| * gcc.c (driver_handle_option): Take location_t parameter. |
| (process_command, do_self_spec): Update calls to |
| read_cmdline_option. |
| * langhooks-def.h (lhd_handle_option): Take location_t parameter. |
| * langhooks.c (lhd_handle_option): Take location_t parameter. |
| * langhooks.h (handle_option): Take location_t parameter. |
| * lto-opts.c (lto_reissue_options): Update call to set_option. |
| * opts-common.c (handle_option): Make static. Take location_t |
| parameter and pass it to other functions. |
| (handle_generated_option): Take location_t parameter and pass it |
| to other functions. |
| (read_cmdline_option): Take location_t parameter and pass it to |
| other functions. Use warning_at and error_at. |
| (set_option): Take location_t parameter and pass it to other |
| functions. |
| * opts.c (common_handle_option): Take location_t parameter and |
| pass it to other functions. |
| (enable_warning_as_error): Make static. Take location_t parameter |
| and pass it to other functions. |
| (lang_handle_option): Take location_t parameter and pass it to |
| other functions. |
| (target_handle_option): Take location_t parameter. |
| (read_cmdline_options, maybe_default_option, |
| maybe_default_options, default_options_optimization, |
| decode_options): Take location_t parameter and pass it to other |
| functions. |
| * opts.h: Include input.h. |
| (struct cl_option_handler_func, decode_options, set_option, |
| handle_generated_option, read_cmdline_option): Take location_t |
| parameters. |
| (handle_option, enable_warning_as_error): Remove. |
| * toplev.c (toplev_main): Update call to decode_options. |
| |
| 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de> |
| |
| * graphite-cloog-util.c (oppose_constraint, |
| cloog_matrix_to_ppl_constraint, |
| new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as |
| CLooG isl uses unsigned integers. This triggered a warning. |
| |
| 2010-11-12 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46438 |
| * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL. |
| (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise. |
| (xtensa_function_arg_1): De-constify cum. |
| (xtensa_expand_prologue): Use add_reg_note. |
| |
| PR target/46435 |
| * config/cris/cris.c (saved_regs_mentioned): Delete. |
| (cris_reload_address_legitimized): Cast itype to enum reload_type. |
| Remove unused variable op0p. |
| (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code. |
| (cris_emit_movem_store): Use add_reg_note. |
| |
| PR bootstrap/46456 |
| * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert. |
| |
| 2010-11-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * function.c (expand_function_end): Set the locator of the prologue on |
| the stack checking insns. |
| |
| 2010-11-12 Richard Henderson <rth@redhat.com> |
| |
| * config.gcc [xtensa] (extra_options): Add fused-madd.opt. |
| * config/xtensa/xtensa.opt (mfused-madd): Remove. |
| * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove |
| MASK_FUSED_MADD. |
| * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma. |
| (fnmasf4): Rename from mulsubsf3; use fma. |
| |
| 2010-11-12 Joern Rennecke <amylaar@spamcop.net> |
| Richard Henderson <rth@redhat.com> |
| |
| PR target/46428 |
| * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables. |
| * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned |
| comparison. |
| |
| 2010-11-12 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * opts-common.c (decode_cmdline_option): Initialize separate_args. |
| |
| 2010-11-12 Jan Hubicka <jh@suse.cz> |
| |
| * doc/invoke.texi (early-inlining-insns): Update default. |
| * params.def (early-inlining-insns): Default to 10. |
| |
| 2010-11-12 Olivier Hainque <hainque@adacore.com> |
| |
| * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define. |
| |
| 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/mips/iris6.h [!IRIX_USING_GNU_LD] |
| (SUPPORTS_INIT_PRIORITY): Define. |
| |
| 2010-11-12 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/46430 |
| * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype. |
| * config/avr/driver-avr.c (avr_device_to_arch): Always return value. |
| (avr_device_to_data_start, avr_device_to_startfiles): Likewise. |
| (avr_device_to_devicelib): Likewise. |
| * config/avr/avr.md (zero_extendqihi2): Put variable declarations |
| into block. |
| (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise. |
| (zero_extendhidi2, zero_extendsidi2): Likewise. |
| * config/avr/avr.c (avr_num_arg_regs): Constify type. |
| (avr_return_addr_rtx): De-constify tem. |
| (avr_rotate_bytes): Move declarations to start of block. |
| Don't use variable length array. Put nested if/else into block. |
| |
| PR rtl-optimization/46433 |
| * var-tracking.c: Include tm_p.h . |
| |
| PR bootstrap/44756 |
| PR build/44767 |
| * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any, |
| should be unsigned. |
| (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise. |
| * doc/tm.texi: Regenerate. |
| |
| PR target/46412 |
| * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype. |
| * config/bfin/bfin.c: Include sel-sched.h . |
| (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element. |
| (expand_interrupt_handler_prologue): Remove unused variable insn. |
| (bfin_load_pic_reg): Likewise. |
| (bfin_rtx_costs): Make code / outer_code variables of type |
| enum rtx_code, copied from re-named parameters. |
| (bfin_local_alignment): Change align argument and return type |
| to unsigned. |
| (bfin_adjust_cost): Remove unused variable insn_type. |
| Declare variables at start of block. |
| (struct loop_info): Rename to... |
| (struct loop_info_d). |
| (workaround_rts_anomaly): Change type of icode to int. |
| (harmless_null_pointer_p): Cast REGNO (..) to int before comparison |
| with int-typed variable. |
| (note_np_check_stores): Likewise. |
| (trapping_loads_p): Remove unused variable pat. |
| (bfin_expand_binop_builtin): Use expand_normal. |
| (bfin_expand_unop_builtin): Likewise. |
| (bfin_expand_builtin): Likewise. Set tmode before use. |
| |
| PR middle-end/44769 |
| * final.c (split_double): Don't use BITS_PER_WORD directly in |
| shift count. |
| |
| PR target/46431 |
| * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated |
| assignment. |
| |
| PR target/46450 |
| * config/stormy16/stormy16.c (xstormy16_expand_prologue): |
| Use add_reg_note. |
| (xstormy16_function_arg): Dereference cum. |
| (xstormy16_expand_builtin): Use expand_normal. |
| Change type of omode to enum machine_mode. |
| (combine_bnp): Rename and to and_insn. |
| |
| PR target/46437 |
| * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable |
| localreg. |
| |
| 2010-11-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR debug/46375 |
| * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns. |
| |
| 2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> |
| |
| PR lto/46376 |
| * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY. |
| |
| 2010-11-11 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR c/44782 |
| * common.opt (fmax-errors=): New option. |
| * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it. |
| * diagnostic.h (struct diagnostic_context): Add max_errors field. |
| * diagnostic.c (diagnostic_initialize): Initialize it. |
| (diagnostic_action_after_output): Exit if more than max_errors |
| have been output. |
| * doc/invoke.texi (Warning Options): Add -fmax-errors. |
| (-fmax-errors): Document. |
| |
| 2010-11-11 Richard Henderson <rth@redhat.com> |
| |
| * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly. |
| |
| 2010-11-11 Richard Henderson <rth@redhat.com> |
| |
| * config/fused-madd.opt: New file. |
| * config.gcc [i386-*, x86_64-*] (extra_options): Use it. |
| * config/i386/i386.c (ix86_extra_costs): Handle FMA. |
| (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD. |
| * config/i386/i386.opt (mfused-madd): Remove. |
| * config/i386/sse.md (split_fma): Remove. |
| (split_fms, split_fnma, split_fnms): Remove. |
| |
| 2010-11-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/46088 |
| * config/i386/i386.md (*ashl<mode>3_cconly, |
| *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok, |
| change nonimmediate_operand predicate to register_operand. |
| |
| 2010-11-11 Paolo Bonzini <bonzini@gnu.org> |
| |
| * Makefile.in (gengtype-lex.c): Include bconfig.h first. |
| |
| 2010-11-11 Jan Hubicka <jh@suse.cz> |
| |
| * opts.c (finish_options): Do not error on -flto-partition alone. |
| |
| * doc/invoke.texi (-fwhopr): Merge into -flto section. |
| (-flto-partition): Document none. |
| * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr. |
| * lto-wrapper.c: Update comment. |
| (run_gcc): Update LTO option parsing. |
| * opts.c (finish_options): add support -flto-partition=none |
| (common_handle_option): Remove fwhopr. |
| * common.opt: Turn fwhopr into flto. |
| * collect2.c (main): Update option handling. |
| * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr. |
| * ipa-split.c (execute_split_functions): Remove flag_whopr. |
| * ipa.c (function_and_variable_visibility): Remove flag_whopr. |
| * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr. |
| * varpool.c (decide_is_variable_needed): Remove flag_whopr. |
| |
| 2010-11-11 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/40436 |
| * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ... |
| (eliminated_by_inlining_prob): ... this one; return 50% probability |
| for SRA. |
| (estimate_function_body_sizes): Update use of |
| eliminated_by_inlining_prob; estimate static function size |
| for 2 instructions. |
| |
| 2010-11-11 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/44749 |
| * config/mep/mep-protos.h (mep_legitimize_reload_address): Always |
| declare. Change type of argument four to type int. |
| (mep_secondary_input_reload_class): Returns enum reg_class. |
| (mep_secondary_output_reload_class): Likewise. |
| (mep_function_value): Change types of arguments to cont_tree. |
| * config/mep/mep.c (mep_legitimize_reload_address): Change type of |
| argument four to type int. |
| (mep_secondary_input_reload_class): Returns enum reg_class. |
| (mep_secondary_output_reload_class): Likewise. |
| (mep_function_value): Change types of arguments to cont_tree. |
| * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of |
| mep_regno_reg_class to enum reg_class. |
| |
| 2010-11-11 Richard Henderson <rth@redhat.com> |
| |
| * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify |
| that the target has the exact fma operation that we matched. |
| |
| 2010-11-11 Joseph Myers <joseph@codesourcery.com> |
| |
| * reginfo.c (fix_register): Avoid inserting English word in |
| diagnostic sentence. Use %qs for quoting and %'. |
| |
| 2010-11-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Support |
| Intel processor family 6, model 0x2c. |
| |
| 2010-11-11 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.c (warning_as_error_callback, |
| register_warning_as_error_callback): Remove. |
| (enable_warning_as_error): Don't use warning_as_error_callback. |
| * opts.h (register_warning_as_error_callback): Remove. |
| |
| 2010-11-11 Richard Henderson <rth@redhat.com> |
| |
| * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR |
| in between the MULT and the PLUS/MINUS. |
| |
| 2010-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46388 |
| * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use |
| BLKmode mode for it. |
| (expand_expr_real_1): Similarly for op0. |
| |
| 2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options): |
| Document optional target selector. |
| |
| 2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than |
| assembling high and low parts of size if not using 32-bit HWINT; else |
| use DECL_SIZE_UNITS, not DECL_SIZE. |
| |
| 2010-11-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/46383 |
| * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative |
| offsets. |
| (compute_complex_ancestor_jump_func): Likewise. |
| * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative. |
| |
| 2010-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46150 |
| * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return |
| true if expr1->hash != expr2->hash. |
| |
| 2010-11-10 Joseph Myers <joseph@codesourcery.com> |
| |
| * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start |
| diagnostics with lowercase letters. |
| * cgraphunit.c (verify_cgraph_node): Start diagnostics with |
| lowercase letters. |
| * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from |
| diagnostic. |
| * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic. |
| * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with |
| lowercase letters. |
| * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic. |
| Remove trailing ' ' from diagnostic. |
| * config/avr/avr.c (print_operand_address): Start diagnostic with |
| a lowercase letter and remove trailing '.'. |
| * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text. |
| * config/bfin/bfin.c (bfin_option_override): Start diagnostics |
| with lowercase letters. Use %' in diagnostics. Remove trailing |
| '.' from diagnostics. |
| (bfin_handle_longcall_attribute): Use %' in diagnostic. |
| * config/cris/cris.c (cris_split_movdx, |
| cris_expand_pic_call_address): Start diagnostics with lowercase |
| letters. |
| (cris_asm_output_label_ref): Use %' in diagnostic. |
| * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase |
| letter. |
| * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a |
| lowercase letter. |
| * config/darwin-c.c (version_as_macro): Start diagnostic with a |
| lowercase letter. |
| * config/darwin-driver.c (darwin_default_min_version): Use %' in |
| diagnostic. |
| * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in |
| diagnostic. |
| * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic. |
| * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in |
| diagnostics. |
| * config/i386/i386.c (ix86_option_override_internal): Write |
| diagnostic as a single sentence without trailing '.'. Use %' in |
| diagnostics. |
| (ix86_function_sseregparm, classify_argument): Start diagnostics |
| with lowercase letters. |
| (ix86_expand_prologue): Use %' in diagnostic. |
| * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from |
| diagnostic. |
| * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a |
| lowercase letter. |
| * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in |
| diagnostic. |
| * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic. |
| * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid |
| '`' in help text. |
| * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a |
| lowercase letter. |
| * config/mep/mep.c (mep_validate_vliw): Start diagnostics with |
| lowercase letters. |
| * config/microblaze/microblaze.c (microblaze_handle_option): |
| Remove trailing '.' from diagnostic. |
| (print_operand): Start diagnostic with a lowercase letter. |
| * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with |
| lowercase letters. Avoid '`' in diagnostics. |
| * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with |
| lowercase letters. Avoid '`' in diagnostics. |
| * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with |
| lowercase letters. Avoid '`' in diagnostics. |
| * config/picochip/picochip.c (picochip_option_override, |
| picochip_emit_save_register, picochip_function_arg, |
| picochip_output_label, picochip_output_internal_label, |
| picochip_asm_output_opcode, picochip_output_cbranch, |
| picochip_output_compare, picochip_output_branch, |
| picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from |
| diagnostics. Start diagnostics with lowercase letters. Use %' in |
| diagnostics. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Use |
| "SPE" capitalization. Start diagnostic with a lowercase letter. |
| (rs6000_handle_option): Start diagnostics with lowercase letters. |
| (def_builtin): Remove trailing '.' from diagnostic. |
| (rs6000_savres_routine_name): Start diagnostic with a lowercase |
| letter. |
| * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in |
| diagnostic. |
| * config/rx/rx.c (rx_handle_option): Start diagnostic with a |
| lowercase letter. |
| * config/s390/s390.c (s390_option_override) Start diagnostics with |
| lowercase letters. Use %' in diagnostic. |
| * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with |
| lowercase letters. |
| * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in |
| diagnostic. |
| * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in |
| diagnostic. |
| * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in |
| diagnostic. |
| * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic. |
| * config/spu/spu.c (spu_option_override): Start diagnostics with |
| lowercase letters. Use %qs for quoting in diagnostics. |
| (spu_check_builtin_parm): Remove trailing '.' from diagnostics. |
| Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic . |
| * config/v850/v850.c (construct_save_jarl): Remove trailing '\n' |
| from diagnostic. |
| * convert.c (convert_to_integer, convert_to_vector): Use %' in |
| diagnostics. |
| * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase |
| letter and use "cannot" spelling. |
| * expmed.c (extract_fixed_bit_field): Start diagnostic with |
| lowercase letter and format as a single sentence without '.'. |
| * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore): |
| Use %' in diagnostics. |
| * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read): |
| Use %' in diagnostics. |
| * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read): |
| Use %' in diagnostics. |
| * graph.c (clean_graph_dump_file): Use %' in diagnostic. |
| * graphite-poly.c (graphite_read_scop_file): Start diagnostics |
| with lowercase letters and remove tailing '.' and '\n'. |
| * lto-cgraph.c (input_profile_summary): Start diagnostic with |
| lowercase letter and remove trailing '.'. |
| (input_cgraph): Start diagnostics with lowercase letters and |
| remove trailing '\n'. |
| * opts.c (finish_options, common_handle_option): Start diagnostics |
| with lowercase letters and remove trailing '.'. Fix typo in |
| diagnostic. |
| * passes.c (position_pass): Start diagnostic with lowercase letter. |
| * plugin.c (add_new_plugin, parse_plugin_arg_opt, |
| register_callback, try_init_one_plugin): Start diagnostics with |
| lowercase letters. |
| * reload1.c (spill_failure): Use %' in diagnostic. |
| (gen_reload): Start diagnostic with a lowercase letter. |
| * stor-layout.c (place_field): Start diagnostic with a lowercase |
| letter. |
| * toplev.c (open_auxiliary_file): Use %' in diagnostic. |
| * tree-cfg.c (verify_expr, verify_types_in_gimple_reference, |
| verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node): |
| Start diagnostics with lowercase letters, remove trailing '.' and |
| use %' in diagnostics. |
| * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic. |
| (verify_ssa): Don't split diagnostic across two error calls. |
| Spell out "number" and use %' in diagnostic. |
| * value-prof.c (visit_hist, check_counter): Start diagnostics with |
| lowercase letters. |
| |
| 2010-11-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/46419 |
| * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi. |
| (_mm_cvtpu16_ps): Ditto. |
| |
| 2010-11-10 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (flag_excess_precision_cmdline, flag_generate_lto, |
| warn_larger_than, larger_than_size, warn_frame_larger_than, |
| frame_larger_than_size, flag_gen_aux_info, flag_shlib, |
| default_visibility, flag_tls_default): New Variable declarations. |
| (aux-info, auxbase, dumpbase, dumpdir, falign-functions=, |
| falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var. |
| (v): Declare as Common and document here. |
| * flags.h (default_visibility, flag_generate_lto, |
| warn_larger_than, larger_than_size, warn_frame_larger_than, |
| frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors, |
| flag_shlib, flag_excess_precision_cmdline): Remove. |
| (set_Wstrict_aliasing): Update prototype. |
| * gcc.c (verbose_flag): Remove. |
| (driver_handle_option): Add diagnostic_context parameter. Don't |
| handle OPT_v explicitly here. Set verbose_flag to 1 rather than |
| incrementing it. |
| * opts-common.c (handle_option): Pass dc to handler. |
| * opts.c (warn_larger_than, larger_than_size, |
| warn_frame_larger_than, frame_larger_than_size, |
| default_visibility): Remove. |
| (common_handle_option): Add diagnostic_context parameter. |
| (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add |
| gcc_options parameters. |
| (lang_handle_option, target_handle_option, read_cmdline_options, |
| decode_options): Add diagnostic_context parameters. |
| (finish_options): Access option state through opts pointer where |
| possible. |
| (common_handle_option): Access option state through opts pointer |
| where possible. Do not set local static variable verbose. Do not |
| explicitly handle OPT_v, OPT_Wstrict_aliasing_, |
| OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase, |
| OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_, |
| OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or |
| OPT_fwhopr_. Do not explicitly set .opt file variables for |
| OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context. |
| (set_Wstrict_aliasing): Add gcc_options parameter. |
| * opts.h (struct cl_option_handler_func): Add diagnostic_context |
| parameter to handler. |
| (decode_options): Add diagnostic_context parameter. |
| * toplev.c (dump_base_name, dump_dir_name, aux_base_name, |
| asm_file_name, flag_generate_lto, flag_gen_aux_info, |
| aux_info_file_name, flag_shlib, flag_tls_default, |
| flag_excess_precision_cmdline, flag_pedantic_errors): Remove. |
| (toplev_main): Pass global_dc to decode_options. |
| * toplev.h (dump_base_name, dump_dir_name, aux_base_name, |
| aux_info_file_name, asm_file_name): Remove. |
| * tree.h (flag_tls_default): Remove. |
| |
| 2010-11-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/45986 |
| * config/sparc/sparc.c (sparc_delegitimize_address): New function. |
| (TARGET_DELEGITIMIZE_ADDRESS): Define to above. |
| |
| 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com> |
| |
| * config.gcc (i[34567]86-*-*): Include tbmintrin.h. |
| (x86_64-*-*): Likewise. |
| * config/i386/cpuid.h: Define TBM bit. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Define |
| and set has_tbm. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Check |
| isa_flag for TBM. |
| * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New. |
| (OPTION_MASK_ISA_TBM_UNSET): New. |
| (ix86_handle_option): Handle -mtbm. |
| (isa_opts): Add -mtbm. |
| (enum pta_flags): Add PTA_TBM. |
| (ix86_option_override_internal): Add TBM support. |
| (ix86_valid_target_attribute_inner_p): Handle -mtbm. |
| (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic. |
| (IX86_BUILTIN_BEXTRI64): Likewise. |
| (bdesc_args): Add TBM intrinsics. |
| (ix86_expand_builtin): Add TBM specific case. |
| * config/i386/i386.h (TARGET_TBM): New for TBM. |
| * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM. |
| (tbm_bextri_<mode>): Likewise. |
| (*tbm_blcfill_<mode>): Likewise. |
| (*tbm_blci_<mode>): Likewise. |
| (*tbm_blcic_<mode>): Likewise. |
| (*tbm_blcmsk_<mode>): Likewise. |
| (*tbm_blcs_<mode>): Likewise. |
| (*tbm_blsfill_<mode>): Likewise. |
| (*tbm_blsic_<mode>): Likewise. |
| (*tbm_t1mskc_<mode>): Likewise. |
| (*tbm_tzmsk_<mode>): Likewise. |
| * config/i386/i386.opt: Add -mtbm. |
| * config/i386/tbmintrin.h (__bextri_u32): New. |
| (__blcfill_u32): Likewise. |
| (__blci_u32): Likewise. |
| (__blcic_u32): Likewise. |
| (__blcmsk_u32): Likewise. |
| (__blcs_u32): Likewise. |
| (__blsfill_u32): Likewise. |
| (__blsic_u32): Likewise. |
| (__t1mskc_u32): Likewise. |
| (__tzmsk_u32): Likewise. |
| (__bextri_u64): Likewise. |
| (__blcfill_u64): Likewise. |
| (__blci_u64): Likewise. |
| (__blcic_u64): Likewise. |
| (__blcmsk_u64): Likewise. |
| (__blcs_u64): Likewise. |
| (__blsfill_u64): Likewise. |
| (__blsic_u64): Likewise. |
| (__t1mskc_u64): Likewise. |
| (__tzmsk_u64): Likewise. |
| * config/i386/x86intrin.h: Add TBM check and tbmintrin.h. |
| * doc/invoke.texi: Document -mtbm. |
| * doc/extend.texi: Document TBM built-in functions. |
| |
| 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com> |
| |
| * config.gcc (i[34567]86-*-*): Include bmiintrin.h. |
| (x86_64-*-*): Likewise. |
| * config/i386/cpuid.h: Define BMI bit. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Define |
| and set has_bmi. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Check |
| isa_flag for BMI. |
| * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New. |
| (OPTION_MASK_ISA_BMI_UNSET): New. |
| (ix86_handle_option): Handle -mbmi. |
| (isa_opts): Add -mbmi. |
| (enum pta_flags): Add PTA_BMI. |
| (ix86_option_override_internal): Add BMI support. |
| (ix86_valid_target_attribute_inner_p): Handle -mbmi. |
| (IX86_BUILTIN_BEXTR32): New for BMI intrinsic. |
| (IX86_BUILTIN_BEXTR64): Likewise. |
| (IX86_BUILTIN_CTZS): Likewise. |
| (bdesc_args): Add BMI intrinsics. |
| (ix86_expand_args_builtin): Add BMI specific cases. |
| * config/i386/i386.h (TARGET_BMI): New for BMI. |
| (CTZ_DEFINED_VALUE_AT_ZERO): Likewise. |
| (CLZ_DEFINED_VALUE_AT_ZERO): Likewise. |
| * config/i386/i386.md (UNSPEC_BEXTR): New for BMI. |
| (UNSPEC_TZCNT): Likewise. |
| (ctz<mode>2): Add tzcnt, and handle 16 bit operands. |
| (bmi_andn_<mode>): New for BMI. |
| (bmi_bextr_<mode>): Likewise. |
| (bmi_blsi_<mode>): Likewise. |
| (bmi_blsmsk_<mode>): Likewise. |
| (bmi_blsr_<mode>): Likewise. |
| * config/i386/i386.opt: Add -mbmi. |
| * config/i386/x86intrin.h: Add BMI check and bmiintrin.h. |
| * config/i386/bmiintrin.h (__lzcnt_u16): New. |
| (__tzcnt_u16): Likewise. |
| (__andn_u32): Likewise. |
| (__bextr_u32): Likewise. |
| (__blsi_u32): Likewise. |
| (__blsmsk_u32): Likewise. |
| (__blsr_u32): Likewise. |
| (__lzcnt_u32): Likewise. |
| (__tzcnt_u32): Likewise. |
| (__andn_u64): Likewise. |
| (__bextr_u64): Likewise. |
| (__blsi_u64): Likewise. |
| (__blsmsk_u64): Likewise. |
| (__blsr_u64): Likewise. |
| (__lzcnt_u64): Likewise. |
| (__tzcnt_u64): Likewise. |
| * doc/invoke.texi: Document -mbmi and -mno-bmi. |
| * doc/extend.texi: Document BMI built-in functions. |
| |
| 2010-11-10 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/46228 |
| * doc/invoke.texi (comdat-sharing-probability): Document. |
| * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs |
| * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param. |
| |
| 2010-11-10 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/46228 |
| * cgraph.c (cgraph_propagate_frequency): Fix typo. |
| |
| 2010-11-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR tree-optimization/46414 |
| * tree-inline.c (estimate_move_cost): Check preferred vector |
| mode for vector type. |
| |
| 2010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp. |
| |
| 2010-11-10 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/45971 |
| * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR |
| for phi nodes analyzable by scev. |
| |
| 2010-11-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44964 |
| * ipa-inline.c (cgraph_flatten): Check that SSA form matches. |
| |
| 2010-11-10 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/46351 |
| PR tree-optimization/46377 |
| * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with |
| aggregate bit-fields. |
| |
| 2010-11-10 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove. |
| * doc/tm.texi: Regenerate. |
| * opts-common.c (tm.h): Don't include. |
| (target_option_translations): Remove. |
| (decode_cmdline_options_to_array): Don't handle translating options. |
| * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison. |
| * config/darwin-driver.c: Don't condition includes on |
| CROSS_DIRECTORY_STRUCTURE. |
| (darwin_default_min_version): Make static. |
| (darwin_driver_init): New. Call darwin_default_min_version if not |
| CROSS_DIRECTORY_STRUCTURE. |
| * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove. |
| (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define. |
| (ASM_SPEC): Add %{static}. |
| (darwin_default_min_version): Don't declare. |
| (darwin_driver_init): Declare. |
| (GCC_DRIVER_HOST_INITIALIZATION): Define to call |
| darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE. |
| * config/darwin.opt (all_load, allowable_client, |
| arch_errors_fatal, bind_at_load, bundle, bundle_loader, |
| dead_strip, dependency-file, dylib_file, dynamic, dynamiclib, |
| exported_symbols_list, filelist, findirect-virtual-calls, |
| flat_namespace, force_cpusubtype_ALL, force_flat_namespace, |
| framework, fterminated-vtables, gfull, gused, image_base, init, |
| install_name, multi_module, multiply_defined, |
| multiply_defined_unused, no_dead_strip_inits_and_terms, |
| seg_addr_table, seg_addr_table_filename, segaddr, |
| segs_read_only_addr, segs_read_write_addr, single_module, |
| umbrella, unexported_symbols_list, weak_reference_mismatches, |
| Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle, |
| Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace, |
| Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module, |
| Zno_dead_strip_inits_and_terms, Zsingle_module): New. |
| * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC. |
| (ASM_SPEC): Add %{static}. |
| (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove. |
| * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove. |
| (DRIVER_SELF_SPECS): Handle options formerly in |
| TARGET_OPTION_TRANSLATE_TABLE. |
| * config/mep/mep.opt (mfar): New. |
| * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove. |
| (DRIVER_SELF_SPECS): Define. Handle options formerly in |
| TARGET_OPTION_TRANSLATE_TABLE. |
| * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec. |
| (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove. |
| * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec, |
| ffix-and-continue, findirect-data): New. |
| * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove. |
| * config/rx/rx.opt (nofpu): Make into alias of mnofpu. |
| (mnofpu): Define mask and use Report here. |
| |
| 2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_emit_prologue): Report the stack |
| size if -fstack-usage is used. |
| |
| 2010-11-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46398 |
| * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs. |
| |
| 2010-11-10 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/44760 |
| * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon. |
| (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to |
| GP_REG_OR_PSEUDO_STRICT_P. |
| * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for |
| unexpected alternative. |
| (*movsf_internal): Likewise. |
| (indirect_jump): Replace call to non-existant function with call to |
| internal_error. |
| (tablejump): Likewise. |
| * config/iq2000/iq2000.c: Include df.h . |
| (iq2000_function_arg_advance): Use CONST_CAST2. |
| (compute_frame_size, iq2000_expand_prologue): Remove unused variables. |
| (iq2000_can_eliminate): Call leaf_function_p instead of testing for |
| a non-zero function address. |
| (iq2000_initial_elimination_offset): Add gcc_unreachable for |
| unexpected value of FROM. |
| (symbolic_expression_p): Delete. |
| (iq2000_function_value): Constify func. |
| (expand_one_builtin): Use expand_normal. |
| (iq2000_print_operand): Don't print VALUE if calculating it failed. |
| |
| PR rtl-optimization/44764 |
| * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED. |
| |
| PR target/46407 |
| * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon. |
| * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp |
| with ATTRIBUTE_UNUSED. |
| (valid_psw_flag): Constify parameter which. |
| (rx_memory_move_cost): Change type of parameter regclass to reg_class_t. |
| |
| PR target/46415 |
| * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype. |
| (mmix_dbx_register_number): Likewise. |
| * config/mmix/mmix.c: Include df.h . |
| (mmix_local_alignment): Change argument basic_align and return type |
| to unsigned. |
| (mmix_dbx_register_number): Change argument and return type to |
| unsigned. |
| (mmix_expand_prologue): Use add_reg_note. |
| |
| PR target/46417 |
| * config/spu/spu.c (spu_expand_insv): Remove unused variables. |
| (spu_split_store): Use aform. |
| (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED. |
| |
| 2010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| PR/46268 |
| * doc/gty.texi (GTY Options): Clarify that variable_size produces |
| allocators taking size in bytes, compare with length option. Add |
| size calculation example. |
| (Invoking the garbage collector): Ensure that sentences are |
| followed by two spaces. Describe that pointer fields must be |
| initialized at ggc_collect call. |
| (Troubleshooting): New section. |
| |
| 2010-11-09 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/40436 |
| * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin. |
| * tree-inline.c (estimate_num_insns): Inexpensive builtins are like |
| normal instructions; be sure bultin is not implemented in this file; |
| compute non-zero return cost. |
| (init_inline_once): Reduce builtin_call_cost to 1; set return cost. |
| * tree-inline.h (eni_weights_d): Add return cost. |
| |
| 2010-11-09 Joseph Myers <joseph@codesourcery.com> |
| |
| * c-parser.c (c_parser_struct_declaration): Handle declaration |
| specifiers followed by CPP_CLOSE_BRACE. |
| |
| 2010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so |
| split occurs before reload, and we allocate memory at the time of |
| the split, not during expansion. Add attributes. |
| (floatsi<mode>2_lfiwax_mem): Ditto. |
| (floatunssi<mode>2_lfiwzx): Ditto. |
| (floatunssi<mode>2_lfiwzx_mem): Ditto. |
| (floatsidf2): Ditto. |
| (floatunssisf2): Ditto. |
| (floatunssidf2): Ditto. |
| (fix_trunc<mode>si2): Ditto. |
| (fix_trunc<mode>si2_stfiwx): Ditto. |
| (fix_trunc<mode>si2_internal): Ditto. |
| (fix_trunc<mode>si2): Ditto. |
| (fix_trunc<mode>di2): Ditto. |
| (fixuns_trunc<mode>si2_stfiwx): Ditto. |
| (floatsisf2): Ditto. |
| (floatdidf2_mem): Ditto. |
| (floatunsdidf2_mem): Ditto. |
| (floatunsdidf2): Ditto. |
| (floatdisf2_internal1): Ditto. |
| (floatdisf2_mem): Ditto. |
| (floatunsdisf2_mem): Ditto. |
| (floatsi<mode>2_lfiwax_mem2): Delete. |
| (floatunssi<mode>2_lfiwzx_mem2): Ditto. |
| (fix_trunc<mode>si2_mem): Ditto. |
| (fixuns_trunc<mode>si2_mem): Ditto. |
| (round32<mode>2_fprs): New combiner insn to combine (double)(int) |
| type operations to reduce copying the values to multiple memory slots. |
| (roundu32<mode>2_fprs): Ditto. |
| |
| * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle |
| PRE_INC, PRE_DEC, PRE_MODIFY. |
| (rs6000_expand_convert_si_to_sfdf): Delete, no longer used. |
| |
| * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf): |
| Delete prototype. |
| |
| 2010-11-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/43808 |
| * cfgexpand.c (partition_stack_vars): Call |
| update_alias_info_with_stack_vars unconditionally. |
| (update_alias_info_with_stack_vars): Allow unused |
| unreferenced vars when not optimizing. |
| |
| 2010-11-09 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/46036 |
| * tree-if-conv.c (predicate_bbs): Call unshare_expr before |
| add_to_dst_predicate_list. |
| |
| 2010-11-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46171 |
| * df-problems.c (struct dead_debug_use, struct dead_debug): Move |
| earlier. |
| (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG |
| argument, call dead_debug_reset when adding REG_UNUSED note. |
| (dead_debug_reset): New function. |
| (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and |
| df_create_unused_note callers. |
| |
| 2010-11-09 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/fr30/fr30.c: Include "df.h". |
| |
| 2010-11-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46355 |
| * tree-loop-distribution.c (tree_loop_distribution): Do not |
| distribute loops without a single exit. |
| |
| 2010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR rtl-optimization/46237 |
| * ira-conflicts.c (ira_build_conflicts): Record conflicts for call |
| saved hard regs if they might get partially clobbered. |
| |
| 2010-11-09 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement. |
| |
| 2010-11-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46177 |
| * tree-loop-distribution.c (prop_phis): Remove. |
| (generate_builtin): Re-use the old loop exit edge to avoid |
| needing to update PHI nodes. |
| |
| 2010-11-09 Joern Rennecke <amylaar@spamcop.net> |
| |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Change |
| type of args_size to unsigned HOST_WIDE_INT. |
| |
| PR target/44755 |
| * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file. |
| * config/t-pnt16-warn: New file. |
| * config/picochip/picochip.c (picochip_emit_stack_allocate): |
| Use add_reg_note. |
| (picochip_emit_save_register): Likewise. |
| (picochip_emit_restore_register): Remove variable insn. |
| (picochip_legitimize_address): Don't use C++ style comments. |
| (picochip_legitimize_reload_address): Likewise. |
| (reorder_var_tracking_notes): Remove variable vliw_start. |
| (picochip_reorg): Cast first arguemnt to emit_note_after to |
| enum insn_note. |
| (picochip_expand_builtin_2op): Use EXPAND_NORMAL. |
| (picochip_expand_builtin_3op): Likewise. |
| (picochip_expand_builtin_2opvoid): Likewise. |
| (picochip_expand_array_get, picochip_expand_array_put): Likewise. |
| (picochip_expand_array_testport): Likewise. |
| (picochip_init_builtins): Remove unused variables. |
| * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO |
| to unsigned long, and output it as such. |
| (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED. |
| * config/picochip/picochip.md (movhicc): Remove nonsense statement. |
| (schedType): Cast result of picochip_schedule_type to |
| enum attr_schedType. |
| |
| PR target/44759 |
| * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of |
| conditional to type of S. |
| (mn10300_function_arg): Remove unused variable align. |
| (mn10300_arg_partial_bytes): Likewise. |
| * config/mn10300/mn10300.md (attribute cpu): Cast value to |
| enum attr_cpu. |
| |
| 2010-11-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/46392 |
| * gengtype-parse.c (type): Call get_input_file_name to get file name. |
| |
| 2010-11-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.h (contains_placeholder_p): Fix comment. |
| (type_contains_placeholder_p): Adjust comment. |
| * tree.c (contains_placeholder_p): Fix comment. |
| (type_contains_placeholder_1): Do not recurse on pointed-to types and |
| adjust comment. |
| (type_contains_placeholder_p): Add comment. |
| |
| 2010-11-09 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for |
| output of byte values. |
| |
| 2010-11-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46360 |
| * tree-ssa-propagate.c (update_call_from_tree): Fix for use |
| not in SSA mode. |
| |
| 2010-11-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46221 |
| * varasm.c (compute_visible_aliases): New function. |
| (remove_unreachable_alias_pairs): Aliases make a target available |
| even though we reclaimed the cgraph node. |
| (finish_aliases_1): Likewise. |
| * Makefile.in (varasm.o): Add pointer-set.h dependency. |
| |
| 2010-11-09 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300-modes.def: New file. |
| |
| 2010-11-09 Basile Starynkevitch <basile@starynkevitch.net> |
| Jeremie Salvucci <jeremie.salvucci@free.fr> |
| |
| * gengtype.c (get_output_file_name): Declaration moved to gengtype.h. |
| (plugin_files, get_file_basename, get_file_realbasename) |
| (get_file_langdir, error_at_line, gt_files, this_file) |
| (system_h_file, read_input_list, create_field_all) |
| (get_file_srcdir_relative_path, get_file_basename) |
| (get_file_langdir, get_file_gtfilename) |
| (get_output_file_with_visibility, get_output_file_name) |
| (struct flist, put_mangled_filename, walk_type) |
| (put_mangled_filename, finish_root_table, write_roots): Use |
| input_file-s. |
| (lang_dir_names, num_lang_dirs): Remove static. |
| (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h. |
| (main): Use input_file-s. |
| |
| * gengtype.h: (struct input_file_st, input_file): New type. |
| (struct fileloc): Use it. |
| (gt_files, num_gt_files, this_file, system_h_file) |
| (input_file_by_name, get_file_srcdir_relative_path): Use input_file. |
| (get_input_file_name): New function. |
| (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and |
| use input_file. |
| (lang_dir_names, num_lang_dirs, get_output_file_with_visibility) |
| (get_output_file_name): Ditto. |
| |
| * gengtype-lex.l (yybegin): Use input_file. |
| |
| * gengtype-parse.c (parse_error): Use input_file. |
| |
| 2010-11-08 Xinliang David Li <davidxl@google.com> |
| |
| PR tree-optimization/46316 |
| * tree-vrp.c (adjust_range_with_scev): Check double_int overflow. |
| * double-int.h (double_int_mul_with_sign): New function. |
| * double-int.c (double_int_mul_with_sign): New function. |
| |
| 2010-11-08 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code. |
| |
| 2010-11-08 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (negsi2): Fix wrong code. |
| |
| 2010-11-08 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values |
| to 8 bits. |
| |
| 2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/46378 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| turn on ISA 2.04 rounding instructions for power5. |
| |
| * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton, |
| not ISA 2.02. |
| |
| PR target/45585 |
| * config/rs6000/darwin.md (movdi_low): Allow DImode values to be |
| in FPR registers. |
| (movdi_low_st): Ditto. |
| |
| 2010-11-08 Joern Rennecke <amylaar@spamcop.net> |
| Richard Henderson <rth@redhat.com> |
| |
| PR target/44758 |
| * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu. |
| (attribute acc_group): Cast value to enum attr_acc_group. |
| (*movdi_nodouble+6): Use gen_int_mode. |
| * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter |
| if RTX_CODE is defined or not. |
| * config/frv/frv.c (enum frv_io_type): New enum, broken out of |
| struct frv_io. |
| (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED. |
| (frv_frame_access, frv_expand_prologue): Remove unused variables. |
| (frv_expand_block_clear): Likewise. |
| (frv_trampoline_init): Use LCT_NORMAL. |
| (struct frv_packet_group): New struct, broken out of type of |
| frv_packet. |
| (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I, |
| use cast in loop counter increment. |
| (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before |
| assigning to io->type. |
| (bdesc_set): Use rtx_code UNKNOWN in initializer. |
| (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise. |
| (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise. |
| (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise. |
| (frv_read_argument): Use expand_normal. |
| |
| PR target/44757 |
| * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call |
| lm32_legitimate_constant_p. |
| * config/lm32/lm32.md (ashlsi3): Remove unused variable. |
| * config/lm32/lm32.c (gen_int_relational): Make new block for |
| LE / LT / LEU / LTU case. Declare variables at start of block. |
| (lm32_block_move_inline): Use XALLOCAVEC. |
| |
| 2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message. |
| |
| 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype (get_output_file_for_structure): Ensure type is union |
| or struct. |
| (write_splay_tree_allocator_def): Use |
| get_output_file_with_visibility. |
| |
| 2010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (s390_handle_arch_option): Set type and flags |
| to defined values in case of an error. |
| (s390_option_override): Skip further processing if the -march |
| parameter wasn't recognized. |
| |
| 2010-11-08 Joern Rennecke <amylaar@spamcop.net> |
| |
| * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails, |
| assert that REG is a hard register number before using it as an index. |
| |
| PR bootstrap/46358 |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): |
| Avoid warnings when HOST_WIDE_INT is 32 bit. |
| |
| 2010-11-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/46208 |
| * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete. |
| (sparc_promote_prototypes): Likewise. |
| (sparc_promote_function_mode): Promote in 32-bit mode as well. |
| (sparc_return_in_memory): Remove superfluous parentheses. |
| (sparc_struct_value_rtx): Fix long lines. |
| (sparc_function_value_1): Promote in 32-bit mode as well. |
| |
| 2010-11-08 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/45352 |
| * sel-sched.c (find_best_expr): Do not set pneed_stall when |
| the variable_issue hook is not implemented. |
| (fill_insns): Remove dead variable stall_iterations. |
| (init_seqno_1): Force EBB start for resetting sched cycles on any |
| successor blocks of the rescheduled region. |
| (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit. |
| (reset_sched_cycles_in_current_ebb): Add debug printing. |
| New variable issued_insns. Advance state when we have issued |
| issue_rate insns. |
| |
| 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype (main): Get here's position using POS_HERE macro for |
| do*typedef calls. |
| |
| 2010-11-07 Ian Lance Taylor <iant@google.com> |
| |
| PR target/46089 |
| * config/i386/i386.c (split_stack_fn_large): New static variable. |
| (ix86_expand_split_stack_prologue): Handle large model. |
| |
| 2010-11-07 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle |
| all possible addressing modes. |
| |
| 2010-11-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR tree-optimization/46346 |
| * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS. |
| |
| 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c: Revert previous patch. |
| * config/mips/mips.md: Likewise. |
| |
| 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_rtx_costs): Handle FMA. |
| * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>) |
| (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath) |
| (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete. |
| (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine |
| to use FMA. |
| (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns. |
| (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise. |
| (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise. |
| (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise. |
| |
| 2010-11-06 Simon Martin <simartin@users.sourceforge.net> |
| |
| PR c/43384 |
| * c-decl.c (lookup_label): Labels can only be referenced in a |
| function's scope. |
| (store_parm_decls_oldstyle): Skip erroneous parameters. |
| |
| 2010-11-06 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE, |
| LIBCALL_VALUE): Remove macros. |
| * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, |
| TARGET_FUNCTION_VALUE_REGNO_P): Define. |
| (fr30_function_value_regno_p, fr30_function_value, |
| fr30_libcall_value): New functions. |
| |
| 2010-11-06 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR middle-end/46314 |
| * target.def (generate_internal_label): New asm_out hook. |
| * output.h (default_generate_internal_label): Declare. |
| * varasm.c (default_generate_internal_label): Define. |
| |
| 2010-11-06 Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR target/44981 |
| * doc/extend.tex (format): Document NSString extension. |
| (format_arg): Likewise. |
| (Darwin Format Checks): New section. |
| * doc/tm.texi: Document string object hooks (generated). |
| * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename. |
| (TARGET_STRING_OBJECT_REF_TYPE_P): New. |
| (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New. |
| * target.def (objc_construct_string_object): Rename, amend |
| documentation. |
| (string_object_ref_type_p): New hook. |
| (check_string_object_format_arg): New hook. |
| * c-parser.c (c_parser_attributes): Allow objective-c class names as |
| attribute identifiers. |
| * config/darwin-c.c (darwin_cfstring_ref_p): New. |
| (darwin_check_cfstring_format_arg): New. |
| (darwin_additional_format_types): New. |
| * config/darwin-protos.h (darwin_cfstring_ref_p) New. |
| (darwin_check_cfstring_format_arg): New. |
| * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed. |
| (TARGET_STRING_OBJECT_REF_TYPE_P): New. |
| (TARGET_N_FORMAT_TYPES): New. |
| (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New. |
| |
| 2010-11-06 Eric Botcazou <ebotcazou@adacore.com> |
| Pascal Obry <obry@adacore.com> |
| |
| * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33 |
| in 64-bit mode and 17 otherwise. |
| |
| 2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| PR debug/45939 |
| * var-tracking.c (emit_note_insn_var_location): Make sure that |
| call related var location notes come before the normal ones. |
| |
| 2010-11-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46326 |
| * config/i386/i386.c (ix86_delegitimize_address): Fix a typo |
| in the last change. |
| |
| 2010-11-05 Ian Lance Taylor <iant@google.com> |
| |
| * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT. |
| |
| 2010-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/44772 |
| * c-decl.c (warn_cxx_compat_finish_struct): Don't call |
| pointer_set_contains if DECL_NAME is NULL. |
| |
| 2010-11-05 Ian Lance Taylor <iant@google.com> |
| |
| PR target/46084 |
| * explow.c (allocate_dynamic_stack_space): If flag_split_stack, |
| request enough additional space for alignment, and force alignment. |
| |
| 2010-11-05 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/i386.c (legitimate_pic_address_disp_p): |
| Handle UNSPEC_PCREL. |
| (ix86_legitimate_address_p): Likewise. |
| (legitimize_pic_address): Likewise. |
| (output_pic_addr_const): Likewise. |
| (ix86_delegitimize_address): Likewise. |
| (ix86_find_base_term): Likewise. |
| (memory_address_length): Likewise. |
| (x86_output_mi_thunk): Handle special case x64 |
| for non local binding. |
| * config/i386/i386.md (UNSPEC_PCREL): New. |
| * config/i386/winnt.c (i386_pe_binds_local_p): |
| Allow weak symbol for x64 windows with non-local binding. |
| |
| 2010-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45670 |
| * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM |
| instead of EXPAND_NORMAL for base expansion. |
| |
| 2010-11-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config.gcc: Support --with-fpmath=avx for x86. |
| * config/i386/avxmath.h: New. |
| * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx. |
| |
| 2010-11-05 Ian Lance Taylor <iant@google.com> |
| |
| * tree.h (struct tree_type): Don't use descbits in GTY annotation. |
| * gengtype.c (walk_type): Don't recognize descbits option. |
| |
| 2010-11-05 Joseph Myers <joseph@codesourcery.com> |
| |
| * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG, |
| WORD_SWITCH_TAKES_ARG): Remove. |
| * doc/options.texi (Args): Document. |
| * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove. |
| * doc/tm.texi: Regenerate. |
| * opt-functions.awk (switch_flags): Handle Args. |
| * opts-common.c: Update comment on tm.h include. |
| (decode_cmdline_option): Handle options with multiple arguments. |
| Don't check WORD_SWITCH_TAKES_ARG for unknown options. |
| * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define. |
| (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET, |
| CL_COMMON): Update values. |
| * system.h (WORD_SWITCH_TAKES_ARG): Poison. |
| * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove. |
| * config/darwin.opt (Zsegaddr, sectalign, sectcreate, |
| sectobjectsymbols, sectorder, segcreate, segprot): New. |
| |
| 2010-11-05 H.J. Lu <hongjiu.lu@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if |
| 256bit AVX register is used. |
| (ix86_expand_vector_move_misalign): Likewise. |
| (ix86_expand_vector_move): Replace use_avx256_p with |
| VALID_AVX256_REG_MODE. |
| |
| 2010-11-05 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR target/44750 |
| * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last |
| change. Set $@-warn.o to -Wno-error. |
| |
| PR bootstrap/44756 |
| * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before |
| comparing it to a signed value. |
| |
| PR middle-end/44766 |
| * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst. |
| PR bootstrap/44770 |
| * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED |
| to i. |
| |
| PR target/44754 |
| * config/m32c/m32c.c (m32_function_arg): Rename declaration to... |
| (m32c_function_arg). Add comma between arguments two and three. |
| (m32c_promote_prototypes): Remove declaration. |
| (current_function_special_page_vector): Likewise. |
| (m32c_regno_reg_class): Change return type to enum reg_class. |
| (m32c_pushm_popm): Use add_reg_note. |
| (m32c_push_rounding): Change return type to unsigned int. |
| (m32c_legitimize_reload_address): Cast argument 11 to push_reload to |
| enum reload_type. |
| (m32c_insert_attributes): Constify variable name. |
| (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl. |
| (m32c_prepare_shift): Remove variable lref. |
| (m32c_expand_movcc): Remove variable cmp. |
| (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE. |
| (m32c_compare_redundant): Remove variable op2. |
| * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include. |
| (m32c_pragma_memregs): Assign the number to target_memregs. |
| (m32c_pragma_address): Remove variable var_str. |
| * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to |
| enum reg_class. |
| (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise. |
| * config/m32c/bitops.md (andsi3): Add default case to switch. |
| (iorsi3, xorsi3): Likewise. |
| * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise. |
| * config/m32c/jump.md (call, call_value): Likewise. |
| * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype. |
| (m32c_regno_reg_class): Likewise. |
| (current_function_special_page_vector): Declare. |
| |
| 2010-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset. |
| |
| PR tree-optimization/46099 |
| * tree-parloops.c (take_address_of): Add GSI argument. Return NULL |
| if it is NULL and uid wasn't found in the hash table. Just fold the |
| result if it is NULL otherwise. Insert other potentially needed |
| stmts right before current stmt instead of on the entry edge. |
| (struct elv_data): Add gsi and reset fields. |
| (eliminate_local_variables_1): Adjust caller. If take_address_of |
| failed for debug stmt, set dta->reset and return. |
| (eliminate_local_variables_stmt): Change STMT argument for GSI, |
| pass GSI through to the callback, handle resetting of debug stmts. |
| (eliminate_local_variables): Adjust caller. Process debug stmts |
| in second phase. |
| |
| PR middle-end/43690 |
| * gimplify.c (gimplify_asm_expr): If a "m" input is a |
| {pre,post}{in,de}crement, fail. |
| |
| PR debug/46307 |
| * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR. |
| * tree-pretty-print.c (dump_generic_node): Likewise. |
| (op_code_prio): Likewise. |
| * cfgexpand.c (expand_debug_expr): Likewise. |
| |
| 2010-11-04 Paul Koning <ni1d@arrl.net> |
| |
| * doc/md.texi (Machine Constraints): Correct formatting in PDP-11 |
| constraints. |
| |
| 2010-11-04 Chao-ying Fu <fu@mips.com> |
| |
| * configure.ac: Test assembler support for DSP Rev1 mult. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/mips/mips.h (ISA_HAS_DSP_MULT): New define. |
| * config/mips/mips.c (CODE_FOR_mips_mult): New define. |
| (CODE_FOR_mips_multu): New define. |
| (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from |
| dspr2_32 to dsp_32. |
| (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP). |
| Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted. |
| * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>): |
| New define_expand patterns. |
| * config/mips/constraints.md (ka): Update the constraint to test |
| ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2. |
| * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult, |
| mips_multu): Delete. |
| * config/mips/mips.md (<u>mulsidi3_32bit): Add comments. |
| Change target constraint to "ka". |
| Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of |
| (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2). |
| Emit the accumulator destination when ISA_HAS_DSP_MULT. |
| (<u>msubsidi4): Add comments. Test ISA_HAS_DSP. |
| Emit the accumulator destination when ISA_HAS_DSP_MULT. |
| (<u>maddsidi4): Likewise. |
| * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu, |
| msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1. |
| |
| 2010-11-04 Paul Koning <ni1d@arrl.net> |
| |
| * doc/md.texi (Machine Constraints): Add PDP-11 constraints. |
| |
| 2010-11-04 Paul Koning <ni1d@arrl.net> |
| |
| * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split. |
| |
| 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Fixed using the Objective-C 2.0 dot-syntax with class names. |
| * c-parser.c (c_parser_next_token_starts_declspecs): In |
| Objective-C, detect Objective-C 2.0 dot-syntax with a class name. |
| (c_parser_next_token_starts_declaration): Same. |
| (c_parser_postfix_expression): Parse the Objective-C 2.0 |
| dot-syntax with a class name. |
| |
| 2010-11-04 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * final.c (compute_alignments): Compute/free loop info all the time. |
| * config/rs6000/rs6000.h (LOOP_ALIGN): Define. |
| * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare. |
| * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h. |
| * config/rs6000/rs6000.c (cfgloop.h): Include. |
| (can_override_loop_align): New. |
| (rs6000_option_override_internal): Set it. |
| (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook. |
| (rs6000_loop_align): New function. |
| (rs6000_loop_align_max_skip): Likewise. |
| |
| 2010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR driver/45703 |
| * collect2.c (main): Print --help output to stdout. Do not |
| exit right away, so ld --help is appended. Add empty lines |
| to separate output suitably. |
| |
| 2010-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46233 |
| * ipa-pure-const.c (local_pure_const): Do noreturn discovery |
| after calling analyze_function, not before. |
| |
| PR target/46234 |
| * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref |
| instead of build_va_arg_indirect_ref. |
| * config/spu/spu.c (spu_va_start): Likewise. |
| * config/s390/s390.c (s390_va_start): Likewise. |
| |
| 2010-11-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/46292 |
| * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements, |
| if the innermode is not vector mode, determine the mode of a subreg |
| by using mode_for_size of inner_size. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| |
| PR rtl-optimization/46183 |
| * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed. |
| (execute_rtl_pre): Likewise. |
| (execute_rtl_hoist): Likewise. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46068 |
| * ipa-split.c (consider_split): Remove gcc_unreachable. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree-nested.c (build_addr): Use build_fold_addr_expr. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45991 |
| * gimplify.c (force_gimple_operand_1): Use the provded test |
| function in the initial test. |
| |
| 2010-11-04 Jeff Law <law@redhat.com> |
| |
| * ira.c (validate_equiv_mem): Remove code to avoid invalidation |
| of readonly memory equivalances for const/pure calls. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45733 |
| * tree-vect-stmts.c (reverse_vec_elements): Honor the |
| permute builtins function return type. |
| |
| 2010-11-04 Joern Rennecke <amylaar@spamcop.net> |
| |
| PR middle-end/44765 |
| * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM |
| as an index, check it is not INVALID_REGNUM. |
| |
| PR bootstrap/44756 |
| * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and |
| unsignedp. |
| * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno. |
| |
| PR bootstrap/44756 |
| * function.c (thread_prologue_and_epilogue_insns): Add |
| ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge. |
| |
| PR bootstrap/44756 |
| * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function. |
| |
| PR target/44750 |
| * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static. |
| (pdp11_preferred_reload_class): Rename class to rclass. |
| (pdp11_preferred_output_reload_class): Likewise. |
| * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to |
| ALL_COMPILERFLAGS . |
| (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS. |
| |
| PR bootstrap/44756 |
| * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast |
| iteration variables to enum machine_mode. |
| |
| PR target/44751 |
| * config/h8300/h8300.c: Include df.h. |
| (push, pop): Use add_reg_note. |
| (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c. |
| (compute_a_shift_cc): Likewise. |
| (expand_a_shift): Argument code has type enum rtx_code. |
| (struct shift_insn): Member cc_valid has type enum attr_cc. |
| (struct shift_info) <cc_inline, cc_special>: Likewise. |
| enum attr_cc. |
| * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype. |
| (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise. |
| |
| 2010-11-04 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/46213 |
| * tree-vect-loop.c (vect_is_simple_reduction_1): Handle |
| MINUS_EXPR only if the first operand is reduction operand. |
| |
| 2010-11-04 Richard Guenther <rguenther@suse.de> |
| Richard Henderson <rth@redhat.com> |
| |
| * tree.def (FMA_EXPR): New tree code. |
| * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code. |
| * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS. |
| * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types. |
| * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR. |
| * gimple-pretty-print.c (dump_ternary_rhs): Likewise. |
| * tree-ssa-math-opts.c (convert_mult_to_fma): New function. |
| (execute_optimize_widening_mul): Call it. Reorganize to allow |
| dead stmt removal. Move TODO flags ... |
| (pass_optimize_widening_mul): ... here. |
| * flag-types.h (enum fp_contract_mode): New enum. |
| * common.opt (flag_fp_contract_mode): New variable. |
| (-ffp-contract): New option. |
| * opts.c (common_handle_option): Handle it. |
| * doc/invoke.texi (-ffp-contract): Document. |
| * tree.h (fold_fma): Declare. |
| * builtins.c (fold_fma): New function. |
| (fold_builtin_fma): Likewise. |
| (fold_builtin_3): Call it for fma. |
| * fold-const.c (fold_ternary_loc): Fold FMA_EXPR. |
| * optabs.c (optab_for_tree_code): Handle FMA_EXPR. |
| * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4): |
| New expanders. |
| * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new |
| named patterns. |
| * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab. |
| * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms. |
| (fms_optab, fnma_optab, fnms_optab): New defines. |
| * gimplify.c (gimplify_expr): Handle binary truth expressions |
| explicitly. Handle FMA_EXPR. |
| * tree-vect-stmts.c (vectorizable_operation): Handle ternary |
| operations. |
| |
| 2010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| * passes.c (init_optimization_passes): Move veclower after SSA. |
| * tree-vect-generic.c (uniform_vector_p): New function. |
| (expand_vector_operations_1): Handle conversion. |
| (pass_lower_vector): Update SSA form. |
| |
| 2010-11-04 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for |
| plugin capabilities. |
| * configure: Regenerate. |
| |
| 2010-11-03 Xinliang David Li <davidxl@google.com> |
| |
| PR target/46200 |
| * tree-ssa-loop-ivopts.c (get_computation_cost_at): |
| Adjust cbase if the use stmt is after iv update. |
| |
| 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets. |
| |
| 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_expand_prologue): Remove unnecessary |
| comment. Pass true to the last argument of output_stack_adjust. |
| |
| 2010-11-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46295 |
| * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p |
| if 256bit AVX register is used. |
| |
| 2010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use |
| xsmindp/xsmaxdp on VSX for single precision min/max. |
| * config/rs6000/vsx.md (vsx_smaxsf3): Ditto. |
| (vsx_sminsf3): Ditto. |
| |
| 2010-11-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * combine.c (try_combine): Fix formatting issues, improve comments and |
| fix a pasto. |
| |
| 2010-11-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-tailcall.c (find_tail_calls): Convert the operands to the type |
| of the result before building binary expressions. |
| |
| 2010-11-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR rtl-optimization/45865 |
| * Makefile.in (df-problems.o): Revert revision 164552. |
| * basic-block.h (enum bb_flags): Likewise. |
| * cfgcleanup.c (block_was_dirty): Likewise. |
| (try_forward_edges): Likewise. |
| (try_crossjump_bb): Likewise. |
| (try_head_merge_bb): Likewise. |
| (try_optimize_cfg): Likewise. |
| (cleanup_cfg): Likewise. |
| * df-core.c (df_set_bb_dirty): Likewise. |
| * df-problems.c: Likewise. |
| (df_simulate_find_uses): Likewise. |
| (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise. |
| (find_memory, find_memory_store): Likewise. |
| (can_move_insns_across): Likewise. |
| * df.h (can_move_insns_across): Likewise. |
| * ifcvt.c (find_memory): Likewise. |
| (dead_or_predicable): Likewise. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46288 |
| * predict.c (strip_predict_hints): Simply DCE builtin expect if |
| the result is unused. |
| |
| 2010-11-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46009 |
| * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call |
| cond_if_else_store_replacement if bb1 and bb2 have the same |
| single successor. |
| (cond_store_replacement): Use gimple_assign_single_p, don't |
| check if rhs is SSA_NAME or invariant. Call release_defs for |
| assign. |
| (cond_if_else_store_replacement): New function. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| * opts.c (finish_options): Properly check for all WHOPR |
| flags before complaining about -flto-partition. |
| |
| 2010-11-04 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static. |
| (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when |
| TARGET_SECURE_PLT. |
| * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare. |
| * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint |
| on input, "r" on output. |
| |
| 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Implemented -fobjc-std=objc1 flag. |
| * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1 |
| option. |
| * doc/standards.texi (Standards): Updated the section on |
| Objective-C; mention support for Objective-C 2.0 features and the |
| new -fstd-objc=objc1 flag to disable them. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46241 |
| * dwarf2out.c (scope_die_for): Properly detect global scope. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46190 |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): |
| Properly compute peel iterations. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46286 |
| * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing |
| re-allocated vector data. |
| |
| 2010-11-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46285 |
| * config/i386/i386.c (ix86_expand_call): Conditionally decorate |
| calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload |
| is completed. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46217 |
| * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile |
| flag matches. |
| (execute_update_addresses_taken): Likewise. |
| |
| 2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| PR bootstrap/44335 |
| * targhooks.c (targhook_words_big_endian): New function. |
| (targhook_float_words_big_endian): Likewise. |
| * targhooks.h (targhook_words_big_endian): Declare. |
| (targhook_float_words_big_endian): Likewise. |
| * target.def (words_big_endian, float_words_big_endian): New hooks. |
| |
| 2010-11-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46165 |
| * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing |
| a normal call into noreturn call. |
| |
| 2010-11-03 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46251 |
| * builtins.c (expand_builtin_sincos): Properly build MEM_REFs, |
| not INDIRECT_REFs. |
| |
| 2010-11-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46107 |
| * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags |
| if cfg_hook_duplicate_loop_to_header_edge failed. |
| |
| 2010-11-03 Ian Lance Taylor <iant@google.com> |
| |
| PR lto/46273 |
| * config.gcc: Don't set lto_binary_reader. |
| * doc/install.texi (Prerequisites): Remove libelf paragraphs. |
| (Configuration): Mention --disable-lto. Remove --with-libelf |
| paragraph. |
| |
| 2010-11-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46252 |
| * reload1.c (delete_dead_insn): Use prev_active_insn instead of |
| prev_real_insn. |
| * gcse.c (insert_insn_end_basic_block): Likewise. |
| |
| PR rtl-optimization/46034 |
| PR rtl-optimization/46212 |
| PR rtl-optimization/46248 |
| * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src |
| and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src |
| before i0dest -> i0src substitution and pass 1 instead of 0 as last |
| argument to subst on i2pat. |
| |
| 2010-11-02 Ian Lance Taylor <iant@google.com> |
| |
| * configure.ac: Use AC_SYS_LARGEFILE. |
| * configure: Rebuild. |
| * config.in: Rebuild. |
| |
| 2010-11-02 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of |
| fold_convert. |
| * c-typeck.c (build_function_call_vec): Likewise. |
| * cfgexpand.c (expand_debug_expr): Likewise. |
| * cgraphunit.c (assemble_thunk): Likewise. |
| * config/sparc/sparc.c (sparc_fold_builtin): Likewise. |
| * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise. |
| (fold_binary_loc, fold_ternary_loc): Likewise. |
| * gimple-fold.c (get_symbol_constant_value): Likewise. |
| * gimple-low.c (lower_builtin_setjmp): Likewise. |
| * gimple.c (gimple_cond_get_ops_from_tree): Likewise. |
| * gimplify.c (gimplify_init_constructor): Likewise. |
| * lambda.h (build_linear_expr): Likewise. |
| * omp-low.c (omp_reduction_init): Likewise. |
| * tree-inline.c (remap_ssa_name): Likewise. |
| * tree-object-size.c (compute_object_sizes): Likewise. |
| * tree-sra.c (init_subtree_with_zero): Likewise. |
| (sra_ipa_modify_assign): Likewise. |
| * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise. |
| * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise. |
| (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise. |
| (undistribute_ops_list): Likewise. |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise. |
| * tree-vect-stmts.c (vectorizable_call): Likewise. |
| * tree.c (build_vector_from_ctor, build_one_cst): Likewise. |
| (build_zero_cst): Handle more cases directly. Update comment. |
| |
| 2010-11-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed. |
| * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise. |
| |
| * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel |
| and call ix86_split_call_vzeroupper instead of |
| ix86_split_call_pop_vzeroupper. |
| (*call_pop_1_vzeroupper): Likewise. |
| (*sibcall_pop_1_vzeroupper): Likewise. |
| (*call_value_pop_0_vzeroupper): Likewise. |
| (*call_value_pop_1_vzeroupper): Likewise. |
| (*sibcall_value_pop_1_vzeroupper): Likewise. |
| |
| 2010-11-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo. |
| |
| 2010-11-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * basic-block.h (insert_insn_end_bb_new): Delete. |
| * cfgrtl.c (insert_insn_end_bb_new): Likewise. |
| |
| 2010-11-02 Uros Bizjak <ubizjak@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New. |
| (ix86_split_call_pop_vzeroupper): Likewise. |
| |
| * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop. |
| (ix86_expand_call): Conditionally decorate calls with |
| UNSPEC_CALL_NEEDS_VZEROUPPER unspec. |
| (ix86_split_call_vzeroupper): New. |
| (ix86_split_call_pop_vzeroupper): Likewise. |
| |
| * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New. |
| (*call_pop_0_vzeroupper): New insn_and_split pattern. |
| (*call_pop_1_vzeroupper): Likewise. |
| (*sibcall_pop_1_vzeroupper): Likewise. |
| (*call_0_vzeroupper): Likewise. |
| (*call_1_vzeroupper): Likewise. |
| (*sibcall_1_vzeroupper): Likewise. |
| (*call_1_rex64_vzeroupper): Likewise. |
| (*call_1_rex64_ms_sysv_vzeroupper): Likewise. |
| (*call_1_rex64_large_vzeroupper): Likewise. |
| (*sibcall_1_rex64_vzeroupper): Likewise. |
| (*call_value_pop_0_vzeroupper): Likewise. |
| (*call_value_pop_1_vzeroupper): Likewise. |
| (*sibcall_value_pop_1_vzeroupper): Likewise. |
| (*call_value_0_vzeroupper): Likewise. |
| (*call_value_0_rex64_vzeroupper): Likewise. |
| (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise. |
| (*call_value_1_vzeroupper): Likewise. |
| (*sibcall_value_1_vzeroupper): Likewise. |
| (*call_value_1_rex64_vzeroupper): Likewise. |
| (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise. |
| (*call_value_1_rex64_large_vzeroupper): Likewise. |
| (*sibcall_value_1_rex64_vzeroupper): Likewise. |
| |
| 2010-11-02 Ian Lance Taylor <iant@google.com> |
| |
| PR lto/46273 |
| * config.gcc: Revert last patch: set lto_binary_reader. |
| |
| 2010-11-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46149 |
| * tree-ssa-structalias.c (get_constraint_fop_1): Properly handle |
| non-indirect MEM_REF variants. |
| |
| 2010-11-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46216 |
| * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): |
| Check if we can propagate from a POINTER_PLUS_EXPR before doing so. |
| |
| 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (*-*-irix6*): Disable set_have_as_tls. |
| (*-*-osf*): Likewise. |
| * configure: Regenerate. |
| |
| 2010-11-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Updated |
| for Intel Core 2 and Core i7. |
| |
| 2010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Model decoder of Core 2/i7 for multipass scheduling. |
| |
| * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_): |
| New type to hold target-specific data for multipass scheduling. |
| (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define. |
| * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for |
| Core 2/i7. |
| (core2i7_secondary_decoder_max_insn_size,) |
| (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns): |
| New static variables. |
| ([const_]ix86_first_cycle_multipass_data_t): New typedefs. |
| ([_]ix86_first_cycle_multipass_data): New static variable. |
| (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle): |
| Implement targetm.sched hooks. |
| (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine |
| of ... |
| (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}): |
| Implement new targetm.sched hooks. |
| (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define |
| targetm.sched hook to install multipass scheduling hooks on demand. |
| |
| * doc/tm.texi.in: Document new targetm.sched hooks. |
| * doc/tm.texi: Regenerate. |
| |
| * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define. |
| (first_cycle_multipass_data_t): New typedef. |
| (struct choice_entry: target_data): New field. |
| (max_issue): Add first_cycle_insn_p parameter. Call new target hooks |
| to allow target model restrictions not represented in DFA. |
| (choose_ready, schedule_block): Update. |
| (sched_extend_ready_list, sched_finish_ready_list): Call new target |
| hooks to initialize target-specific data for multipass scheduling. |
| * sched-int.h (max_issue): Update declaration. |
| * sel-sched.c (choose_best_insn): Update. |
| * target.def (first_cycle_multipass_{begin, issue, backtrack},) |
| (first_cycle_multipass_{init, fini}): Define and document new |
| targetm.sched hooks. |
| |
| 2010-11-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46184 |
| * tree-vect-loop.c (vectorizable_reduction): Try to obtain the |
| input vector type from the reduction operand as well. |
| |
| 2010-11-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46177 |
| * tree-loop-distribution.c (prop_phis): Use |
| mark_virtual_phi_result_for_renaming. |
| |
| 2010-11-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/46120 |
| * tree.c (get_binfo_at_offset): Bail out on artificial |
| fields. Identify primary bases according to their offsets. |
| |
| 2010-11-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/45875 |
| * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed. |
| (gimple_get_relevant_ref_binfo): Detect primary bases according to |
| their field offset. |
| |
| 2010-11-02 Ian Lance Taylor <iant@google.com> |
| |
| * doc/install.texi (Configuration): Note in two places that Java |
| is not enabled by default. |
| |
| 2010-11-02 Ian Lance Taylor <iant@google.com> |
| |
| * doc/install.texi (Prerequisites): Remove libelf paragraphs. |
| (Configuration): Mention --disable-lto. Remove --with-libelf |
| paragraph. |
| |
| 2010-11-02 Ian Lance Taylor <iant@google.com> |
| |
| * configure.ac: Remove elf_getshdrstrndx test. Don't substitute |
| LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and |
| LIBELFINC. Remove HAVE_libelf. |
| * config.gcc: Don't set lto_binary_reader. |
| * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables. |
| (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables. |
| (LIBS): Remove $(LIBELFLIBS). |
| (INCLUDES): Remove $(LIBELFINC). |
| * configure: Rebuild. |
| * config.in: Rebuild. |
| |
| 2010-11-02 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/microblaze/microblaze-protos.h (function_arg): Delete. |
| (function_arg_advance): Delete. |
| * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete. |
| (FUNCTION_ARG): Delete. |
| * config/microblaze/microblaze.c (function_arg_advance): Rename to... |
| (microblaze_function_arg_advance): ...this. Make static. Take a |
| const_tree and a bool. |
| (function-arg): Rename to... |
| (microblaze_function_arg): ...this. Make static. Take a const_tree |
| and a bool. |
| (microblaze_expand_prologue): Call targetm.calls.function_arg and |
| targetm.calls.function_arg_advance. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-11-02 Iain Sandoe <iains@gcc.gnu.org> |
| |
| Merge from FSF "apple/trunk" branch. |
| |
| * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ... |
| * config/darwin.opt: .. to here. |
| (matt-stubs): New option. |
| * config/i386/darwin.opt: Delete. |
| * config/i386/i386.h (MACHOPIC_ATT_STUB): New. |
| (MACHO_DYNAMIC_NO_PIC_P): New. |
| (MACHOPIC_INDIRECT): New. |
| (MACHOPIC_PURE): New. |
| * config/i386/darwin.h (DARWIN_X86) Define to 1. |
| (MACHOPIC_ATT_STUB): New. |
| (CC1_SPEC): Do not remove mdynamic-no-pic. |
| Move HOT_TEXT_SECTION_NAME: move to config/darwin.h |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise. |
| (FUNCTION_PROFILER): Correct over-length line. |
| (SUBTARGET_OVERRIDE_OPTIONS): New. |
| (MACHOPIC_NL_SYMBOL_PTR_SECTION): New. |
| * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT. |
| (legitimate_constant_p): Handle mdynamic-no-pic. |
| (ix86_legitimate_address_p): Likewise. |
| (ix86_legitimize_address): Likewise. |
| (ix86_expand_move): Likewise. |
| (machopic_output_stub): Update for ATT-style stubs and |
| mdynamic-no-pic. |
| * config/darwin-protos.h (machopic_symbol_defined_p): New. |
| * config/rs6000/darwin.h (DARWIN_PPC): Define to 1. |
| TARGET_DYNAMIC_NO_PIC: Remove. |
| Move HOT_TEXT_SECTION_NAME: move to config/darwin.h |
| UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise. |
| * config/rs6000/rs6000.c (darwin_rs6000_override_options): |
| Remove handling of mdynamic-no-pic. |
| * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low): |
| Define if required. |
| (machopic_symbol_defined_p): Do not try to use current_function_decl |
| when generating _get_pc thunks within stubs. |
| (machopic_indirect_data_reference): Rework for direct conditionals |
| rather than #ifdefs, add x86 mdynamic-no-pic |
| (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a |
| defined value. |
| (darwin_override_options): Handle mdynamic-no-pic here. |
| * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New. |
| (machopic_lazy_symbol_ptr3_section): New. |
| (machopic_picsymbol_stub2_section): New. |
| (machopic_picsymbol_stub3_section): New. |
| * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0. |
| (MACHOPIC_NL_SYMBOL_PTR_SECTION): New. |
| (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): |
| Moved common definition from x86 and rs6000. |
| (MACHO_DYNAMIC_NO_PIC_P): Override value. |
| (MACHOPIC_INDIRECT): Likewise. |
| (MACHOPIC_PURE): Likewise. |
| * config.gcc (x86-darwin-*): Remove darwin.opt. |
| |
| 2010-11-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/46255 |
| * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb |
| instead of gsi_last_bb. |
| |
| 2010-11-02 Bernd Schmidt <bernds@codesourcery.com> |
| Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config/i386/i386.c (cpu_names): Add "corei7". |
| * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7. |
| |
| 2010-11-02 Bernd Schmidt <bernds@codesourcery.com> |
| Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Tune alignment for Intel Core i7 |
| |
| * config/i386.h (TARGET_COREI7{_32,_64,}): New macros. |
| (enum processor_type): Update comment. Add entries for Core i7. |
| * config/i386-c.c (ix86_target_macros_internal): Update. |
| * config/i386.c (m_COREI7{_32,_64}): New macros. |
| (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7. |
| (processor_target_table): Tune alignment for Core i7. |
| (ix86_option_override_internal): Use PROCESSOR_COREI7_*. |
| |
| * doc/invoke.texi: Document "corei7" option value. |
| |
| 2010-11-02 Bernd Schmidt <bernds@codesourcery.com> |
| Maxim Kuvyrkov <maxim@codesourcery.com> |
| H.J. Lu <hjl.tools@gmail.com> |
| |
| Basic support for Intel Core i7 |
| |
| * i386.c (ix86_option_override_internal): Add entry for corei7, use |
| generic tuning. Use generic32 when compiling for 32-bit ABI. |
| |
| 2010-11-02 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.c (darwin_asm_named_section): Check for __DWARF |
| sections and call darwin_asm_dwarf_section() to handle them. |
| (darwin_asm_dwarf_section): New. |
| (darwin_file_start): Remove code emitting dwarf section symbols. |
| |
| 2010-11-02 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to |
| explicitly disable stack protection when building libgcc. |
| (CRTSTUFF_CFLAGS): Same, for crtbegin/end. |
| |
| 2010-11-01 Jason Merrill <jason@redhat.com> |
| |
| * fold-const.c (fold_indirect_ref_1): Handle folding |
| POINTER_PLUS_EXPR to ARRAY_REF. |
| |
| 2010-11-01 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. |
| (sh_delegitimize_address): New function. |
| |
| 2010-11-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove. |
| * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove. |
| (CC1_SPEC): Don't handle -target. |
| * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument |
| options. |
| * config/darwin.opt (Zallowable_client, Zbundle_loader, |
| Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename, |
| Zimage_base, Zinit, Zinstall_name, Zmultiply_defined, |
| Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr, |
| Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list, |
| Zweak_reference_mismatches, client_name, compatibility_version, |
| current_version, dylinker_install_name, pagezero_size, |
| read_only_relocs, seg1addr, segs_read_only_addr, |
| segs_read_write_addr, sub_library, sub_umbrella): New. |
| * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove. |
| * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove. |
| * config/freebsd.opt: New. |
| * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove. |
| * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove. |
| * config/rpath.opt: New. |
| * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt. |
| (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*): |
| Use rpath.opt. |
| |
| 2010-11-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New. |
| * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove. |
| (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0. |
| * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove. |
| (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG. |
| Document that options in .opt files do not need to be included. |
| * doc/tm.texi: Regenerate. |
| * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}. |
| * opts-common.c: Update comment on tm.h include. |
| (decode_cmdline_option): Don't use SWITCH_TAKES_ARG. |
| * system.h (SWITCH_TAKES_ARG): Poison. |
| * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove. |
| * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included |
| in darwin.opt. |
| (LINK_COMMAND_SPEC_A): Don't include %{x}. |
| * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. |
| * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove. |
| * config/freebsd.h (SWITCH_TAKES_ARG): Remove. |
| * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. |
| * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}. |
| * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove. |
| * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options. |
| * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove. |
| * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. |
| * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove. |
| * config/mips/mips.h (SWITCH_TAKES_ARG): Remove. |
| * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove. |
| * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove. |
| * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove. |
| * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove. |
| * config/openbsd.h (SWITCH_TAKES_ARG): Remove. |
| * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove. |
| * config/score/score.h (SWITCH_TAKES_ARG): Remove. |
| * config/sol2.h (SWITCH_TAKES_ARG): Remove. |
| * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove. |
| * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove. |
| * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}. |
| * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. |
| |
| 2010-11-01 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md: Use iterators. |
| (addqi3, subqi3, iorsi3, xorsi3): Delete. |
| |
| 2010-11-01 Steve Ellcey <sje@cup.hp.com> |
| |
| * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef |
| GCC_INSN_FLAGS_H. |
| * libgcov.c (__gcov_indirect_call_profiler): Set |
| VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is |
| defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS. |
| |
| 2010-11-01 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR tree-optimization/46259 |
| |
| Revert: |
| 2010-10-30 Nathan Froyd <froydnj@codesourcery.com> |
| * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use |
| build_vector_from_val. |
| |
| 2010-11-01 DJ Delorie <dj@redhat.com> |
| |
| * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610 |
| as well as an assertion. |
| |
| 2010-11-01 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and |
| complex modes in memory. |
| |
| 2010-11-01 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.c (build_vector_from_val): Use useless_type_conversion_p. |
| |
| 2010-11-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45250 |
| * var-tracking.c (cfa_base_rtx): Move definition earlier in the file. |
| (cfa_base_offset): New variable. |
| (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset. |
| (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx |
| is NULL. |
| (vt_init_cfa_base): Initialize cfa_base_offset. |
| |
| 2010-11-01 Alan Modra <amodra@gmail.com> |
| |
| PR target/46030 |
| * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed |
| and savres_strategy. |
| (stack_info): New file scope var. |
| (rs6000_init_machine_status): Init stack_info. |
| (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS, |
| SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR, |
| SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with.. |
| (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS, |
| SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR |
| REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs. |
| (rs6000_savres_strategy): Rewrite. |
| (rs6000_stack_info): Use "stack_info" in place of local "info". |
| Return cached stack info when reload_completed unless ENABLE_CHECKING |
| in which case confirm newly calculated stack info matches old info. |
| Delay calculation of lr_save_p, set it for out of line gp save/restore |
| as well as fp. Call rs6000_savres_strategy from here.. |
| (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here. |
| (rs6000_output_function_prologue): Use info->savres_strategy to |
| determine whether fp save/restore externs need to be emitted. |
| |
| 2010-10-31 Jason Merrill <jason@redhat.com> |
| |
| * tree.h (EXPR_LOC_OR_HERE): New macro. |
| * builtins.c (c_strlen): Use it. |
| * c-decl.c (build_enumerator): Likewise. |
| * gimplify.c (internal_get_tmp_var): Likewise. |
| (shortcut_cond_expr): Likewise. |
| (gimplify_one_sizepos): Likewise. |
| |
| 2010-10-31 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/cygming.h (TARGET_SEH): New. |
| (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH. |
| (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN, |
| TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New. |
| (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed. |
| (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function. |
| (ASM_DECLARE_FUNCTION_SIZE): New. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.c (ix86_option_override_internal): Enable |
| flag_unwind_tables with flag_asynchronous_unwind_tables immediately; |
| restrict -mpreferred-stack-boundary for SEH; enable flag_fentry. |
| (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT. |
| (ix86_compute_frame_layout): For SEH, disable |
| use_fast_prologue_epilogue, move frame pointer to the end of |
| the frame. Initialize hfp_save_offset. |
| (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage |
| at end of prologue for SEH. |
| (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed, |
| emit blockage at beginning of epilogue. |
| (ix86_expand_binary_operator): After reload, emit LEA if needed. |
| (ix86_output_call_insn): New. |
| * config/i386/i386.h (TARGET_SEH): New. |
| (struct machine_function): Add member seh. |
| * config/i386/i386.md (all call patterns): Use ix86_output_call_insn. |
| * config/i386/winnt.c (struct seh_frame_state): New. |
| (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini, |
| seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa, |
| seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit, |
| i386_pe_start_function, i386_pe_end_function): New. |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well |
| as CFA_STORE in rules 12 and 13. |
| |
| 2010-10-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR tree-optimization/46142 |
| * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to |
| accommodate third function argument. |
| |
| 2010-10-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst. |
| |
| 2010-10-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * fold-const.c (build_zero_vector): Use build_vector_from_val. |
| * tree-vect-loop.c (get_initial_def_for_induction): Likewise. |
| (get_initial_def_for_reduction): Likewise. |
| * tree-vect-slp.c (vect_get_constant_vectors): Likewise. |
| * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise. |
| * tree.c (build_one_cst): Likewise. |
| (build_vector_from_val): Use types_compatible_p for assert. |
| |
| 2010-10-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * emit-rtl.c (mark_used_flags): New function. |
| (set_used_flags, reset_used_flags): Call it. |
| |
| 2010-10-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/44569 |
| * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, |
| determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. |
| |
| 2010-10-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46195 |
| * config/i386/i386.c (contains_aligned_value_p): Renamed to ... |
| (ix86_compat_aligned_value_p): This. |
| (ix86_old_function_arg_boundary): Renamed to ... |
| (ix86_compat_function_arg_boundary): This. Updated. |
| (ix86_contains_aligned_value_p): New. |
| (ix86_function_arg_boundary): Align long double parameters on |
| stack to 4byte in 32bit. |
| |
| 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Implemented Objective-C 2.0 @property, @synthesize and @dynamic. |
| * c-parser.c (c_parser_objc_at_property_declaration): Removed |
| parsing of RID_COPIES and RID_IVAR. Updated call to |
| objc_add_property_declaration. |
| * c-typecheck.c (build_component_ref): Call |
| objc_maybe_build_component_ref instead of objc_build_setter_call. |
| Use objc_is_property_ref to improve Objective-C checks. |
| (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead |
| of objc_build_getter_call. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P, |
| REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P, |
| REGNO_OK_FOR_INDEX_P): Delete non-strict variant. |
| (REG_OK_STRICT): Move description. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| PR/41822 |
| * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error. |
| |
| 2010-10-29 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/46226 |
| * stmt.c (expand_asm_operands): Call do_pending_stack_adjust |
| for asm goto. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU |
| register to register move. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (print_operand_address): Correct handling |
| of integer constant addresses, delete vax-only logic. |
| |
| 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (picochip_is_short_branch): Simplify |
| a conditional expression. |
| |
| 2010-10-29 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct |
| instruction encoding. |
| |
| 2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> |
| Andrew Pinski <pinskia@gmail.com> |
| |
| * tree.h (build_vector_from_val): Declare. |
| * tree.c (build_vector_from_val): New function. |
| * c-typeck.c (build_binary_op): Handle vector shifting. |
| * doc/extend.texi: Description of the vector shifting operation. |
| |
| 2010-10-29 Paul Koning <pkoning@equallogic.com> |
| |
| * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class, |
| pdp11_secondary_memory_needed): Declare. |
| * config/pdp11/predicates.md (float_operand): New predicate. |
| * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant. |
| (cbranchdf4, movdf): Change predicate. |
| (movsf): Handle FPU register case. |
| (truncdfsf2, extendsfdf2): Add FPU register case. |
| * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD, |
| TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS, |
| TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. |
| (pdp11_register_move_cost): Update cost matrix. |
| (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class, |
| pdp11_preferred_output_reload_class, pdp11_secondary_reload, |
| pdp11_secondary_memory_needed): New function. |
| (pdp11_return_in_memory): Add other float types. |
| * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types. |
| (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define. |
| (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS, |
| REGISTER_MOVE_COST): Delete. |
| (BASE_RETURN_VALUE_REG): Add other float types. |
| |
| 2010-10-29 Nick Clifton <nickc@redhat.com> |
| |
| * doc/invoke.texi: Document -mam34 and -mtune options. |
| * config/mn10300/mn10300.c (mn10300_tune_string): New variable. |
| (mn10300_tune_cpu): New variable. |
| (mn10300_handle_option): Handle -mam34 and -mtune options. |
| (mn10300_option_override): Convert tune string into tune cpu variable. |
| (mn10300_legitimate_constant_p): Delete unused local variable. |
| (is_load_insn): New function. |
| (is_store_insn): New function. |
| (mn10300_adjust_schedule_cost): New function. |
| (TARGET_SCHED_ADJUST_COST): Define. |
| * config/mn10300/mn10300.opt (mam34): New option. |
| (mtune): New option. |
| * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support. |
| (enum processor_type): Add AM34. |
| (TARGET_AM34): Define. |
| * config/mn10300/mn10300.md (attr cpu): Add am34. |
| Add pipeline description. |
| (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates. |
| Remove unneeded alternatives. Add timing attribute. |
| (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3, |
| mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3, |
| mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3, |
| mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3, |
| mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2, |
| bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield, |
| bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3, |
| float_conditional_branch, jump, indirect_jump, tablejump, |
| call_internal, call_value_internal, zero_extendqisi2_am33, |
| zero_extendqisi2_mn10300, zero_extendhisi2_am33, |
| zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300, |
| extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3, |
| mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3, |
| mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2, |
| addsf3_internal, subsf3_internal, mulsf3_internal, divsf3, |
| fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal, |
| return_internal_regs, store_movm, return, call_next_insn): |
| Add timing attribute. |
| (am33_subsi3): Add missing clobber of CC_REG. |
| (am33_andsi3, mn10300_andsi3): Fix compile time warnings. |
| (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield, |
| subreg_bit_test, zero_extendqisi2, zero_extendhisi2, |
| extendqisi2): Fix predicates. |
| (call_internal, call_internal_value): Separate alternatives. |
| * config/mn10300/t-mn10300: Add AM34 multilib. |
| |
| 2010-10-29 Paolo Bonzini <bonzini@gnu.org> |
| |
| * config/sh/sh.c (sh_promote_function_mode): Use |
| default_promote_function_mode if !sh_promote_prototypes. |
| |
| 2010-10-28 Paolo Bonzini <bonzini@gnu.org> |
| |
| * recog.c (split_all_insns): Remove dead code. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New |
| functions. |
| (cris_function_incoming_arg, cris_function_arg_advance): New functions. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. |
| (TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/lm32/lm32-protos.h (lm32_function_arg): Delete. |
| * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/mcore/mcore.c (mcore_function_arg): Declare. Make static. |
| Take a const_tree and a bool. |
| (mcore_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mcore/mcore-protos.h (mcore_function_arg): Delete. |
| * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/mcore/mcore.c (mcore_function_arg): Declare. Make static. |
| Take a const_tree and a bool. |
| (mcore_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/h8300/h8300-protos.h (function_arg): Delete. |
| * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/h8300/h8300.c (function_arg): Rename to... |
| (h8300_function_arg): ...this. Make static. Take a const_tree and |
| a bool. |
| (h8300_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code |
| to... |
| * config/arc/arc.c (arc_function_arg): ...here and... |
| (arc_function_arg_advance): ...here. New functions. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/crx/crx-protos.h (crx_function_arg): Delete. |
| (crx_function_arg_advance): Delete. |
| * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/crx/crx.c (crx_function_arg): Make static. Take a |
| const_tree and a bool. |
| (crx_function_arg_advance): Make static. Take a const_tree and a bool. |
| (enough_regs_for_param): Take a const_tree. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete. |
| (m68hc11_function_arg_advance): Delete. |
| * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static. |
| Take a const_tree and a bool. |
| (m68hc11_function_arg_advance): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete. |
| (xstormy16_function_arg_advance): Delete. |
| * config/stormy16/stormy16.h (FUNCTION_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/stormy16/stormy16.c (xstormy16_function_arg): Make static. |
| Take a const_tree and a bool. |
| (xstormy16_function_arg_advance): Likewise. Return void, updating |
| the CUM parameter instead. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/moxie/moxie-protos.h (moxie_function_arg): Delete. |
| * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| (MOXIE_FUNCTION_ARG_SIZE): Move to... |
| * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here. |
| (moxie_function_arg): Make static. Take a const_tree and a bool. |
| (moxie_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mn10300/mn10300-protos.h (function_arg): Delete. |
| * config/mn10300/mn10300.h (FUNCTION_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/mn10300/mn10300.c (function_arg): Rename to... |
| (mn10300_function_arg): ...this. Make static. Take a const_tree |
| and a bool. |
| (mn10300_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/iq2000/iq2000-protos.h (function_arg): Delete. |
| (function_arg_advance): Delete. |
| * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/iq2000/iq2000.c (function_arg): Rename to... |
| (iq2000_function_arg): ...this. Make static. Take a const_tree and |
| a bool. |
| (function_arg_advance): Rename to... |
| (iq2000_function_arg_advance): ...this. Make static. Take a |
| const_tree and a bool. |
| (iq2000_expand_prologue): Call iq2000_function_arg_advance and |
| iq2000_function_arg. |
| (iq2000_pass_by_reference): Call iq2000_function_arg). |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete. |
| * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a |
| const_tree. |
| (fr30_function_arg): New function. |
| (fr30_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/frv/frv-protos.h (frv_function_arg): Delete. |
| (frv_function_arg_advance): Delete. |
| * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/frv/frv.c (frv_function_arg): Rename to... |
| (frv_function_arg_1): Make static. Take const_tree and bool arguments. |
| (frv_function_arg, frv_function_incoming_arg): New functions. |
| (frv_function_arg_advance): Make static. Take a const_tree and a bool. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. |
| (TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46153 |
| * config/i386/sse.md (sse_movhlps_exp): Use destination |
| returned from ix86_fixup_binary_operands to expand insn. |
| (sse_movlhps_exp): Ditto. |
| (sse_loadhps_exp): Ditto. |
| (sse_loadlps_exp): Ditto. |
| (sse2_loadhpd_exp): Ditto. |
| (sse2_loadlpd_exp): Ditto. |
| |
| 2010-10-28 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern |
| constants in thumb2. |
| |
| 2010-10-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned |
| arithmetics in masking operations. |
| (contains_muldiv): Likewise. |
| (try_combine): Likewise. |
| (find_split_point): Likewise. |
| (combine_simplify_rtx): Likewise. |
| (simplify_if_then_else): Likewise. |
| (simplify_set): Likewise. |
| (expand_compound_operation): Likewise. |
| (expand_field_assignment): Likewise. |
| (make_extraction): Likewise. |
| (extract_left_shift): Likewise. |
| (make_compound_operation): Likewise. |
| (force_to_mode): Likewise. |
| (make_field_assignment): Likewise. |
| (reg_nonzero_bits_for_combine): Likewise. |
| (simplify_shift_const_1): Likewise. |
| (simplify_comparison): Likewise. |
| |
| 2010-10-27 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/ia64/ia64-protos.h (ia64_function_arg): Delete. |
| (ia64_function_arg_advance): Delete. |
| * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/ia64/ia64.c (ia64_function_arg): Rename to... |
| (ia64_function_arg_1): ...this. Make static. Take const_tree and |
| bool arguments. |
| (ia64_function_arg, ia64_function_incoming_arg): New functions. |
| (ia64_function_arg_advance): Make static. Take a const_tree and |
| a bool. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. |
| (TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-27 Steve Ellcey <sje@cup.hp.com> |
| |
| * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New. |
| (TARGET_GET_RAW_ARG_MODE): New. |
| * doc/tm.texi: Regenerate. |
| * target.def (get_raw_result_mode): New. |
| (get_raw_arg_mode): New. |
| * targhooks.c (default_get_reg_raw_mode): New. |
| * targhooks.h (default_get_reg_raw_mode): New. |
| * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode. |
| (apply_result_size): Ditto. |
| * config/ia64/ia64.c (ia64_get_reg_raw_mode): New. |
| (TARGET_GET_RAW_RESULT_MODE): Define. |
| (TARGET_GET_RAW_ARG_MODE): Ditto. |
| |
| 2010-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust |
| for newer Solaris 10 release. |
| (sparc_fallback_frame_state): Likewise. |
| |
| 2010-10-27 Jason Merrill <jason@redhat.com> |
| |
| * gimplify.c (gimplify_decl_expr): Handle anonymous artificial |
| variables sooner. |
| |
| 2010-10-27 Jie Zhang <jie@codesourcery.com> |
| Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * haifa-sched.c (ISSUE_POINTS): Remove. |
| (max_issue): Don't issue more than issue_rate instructions. |
| |
| 2010-10-27 Ian Lance Taylor <iant@google.com> |
| |
| PR target/46197 |
| * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New. |
| (split_stack_return): Replace UNSPEC_STACK_CHECK with |
| UNSPECV_SPLIT_STACK_RETURN. |
| |
| 2010-10-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (init_cumulative_args): Add an int. |
| |
| * config/i386/i386.c (block_info): New. |
| (BLOCK_INFO): Likewise. |
| (call_avx256_state): Likewise. |
| (check_avx256_stores): Likewise. |
| (move_or_delete_vzeroupper_2): Likewise. |
| (move_or_delete_vzeroupper_1): Likewise. |
| (move_or_delete_vzeroupper): Likewise. |
| (use_avx256_p): Likewise. |
| (function_pass_avx256_p): Likewise. |
| (flag_opts): Add -mvzeroupper. |
| (ix86_option_override_internal): Turn on MASK_VZEROUPPER by |
| default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX |
| is disabled. |
| (ix86_function_ok_for_sibcall): Disable sibcall if we need to |
| generate vzeroupper. |
| (init_cumulative_args): Add an int to indicate caller. Set |
| use_avx256_p, callee_return_avx256_p and caller_use_avx256_p |
| based on return type. |
| (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and |
| caller_pass_avx256_p based on argument type. |
| (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register |
| is used, but not returned by caller. |
| (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used. |
| (ix86_local_alignment): Set use_avx256_p if 256bit AVX register |
| is used. |
| (ix86_minimum_alignment): Likewise. |
| (ix86_expand_special_args_builtin): Set target to |
| GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper. |
| (ix86_reorg): Run the vzeroupper optimization if needed. |
| |
| * config/i386/i386.h (ix86_args): Add caller. |
| (INIT_CUMULATIVE_ARGS): Updated. |
| (machine_function): Add use_vzeroupper_p, use_avx256_p, |
| caller_pass_avx256_p, caller_return_avx256_p, |
| callee_pass_avx256_p and callee_return_avx256_p. |
| |
| * config/i386/i386.opt (-mvzeroupper): New. |
| |
| * config/i386/predicates.md (vzeroupper_operation): Removed. |
| |
| * config/i386/sse.md (avx_vzeroupper): Removed. |
| (*avx_vzeroupper): Removed. |
| (avx_vzeroupper): New. |
| |
| * doc/invoke.texi: Document -mvzeroupper. |
| |
| 2010-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd. |
| * config/i386/t-mingw-w32 (SHLIB_LC): Likewise. |
| * config/i386/t-mingw-w64 (SHLIB_LC): Likewise. |
| |
| 2010-10-27 Eric Botcazou <ebotcazou@adacore.com> |
| Olivier Hainque <hainque@adacore.com> |
| |
| * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum |
| of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set |
| fs->signal_frame instead. |
| |
| 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (cp_parser_objc_at_property_declaration): Removed |
| parsing of RID_COPIES and RID_IVAR. |
| |
| 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_at_property_declaration): Recognize |
| RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC. |
| Do not use objc_set_property_attr, but use local variables |
| instead. Detect repeated usage of setter, getter and ivar |
| attributes. Improved error processing when a setter name does not |
| end in ':'. Do not check for CPP_CLOSE_PAREN after we determined |
| that the token is a keyword. Updated call to |
| objc_add_property_declaration. |
| |
| 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_at_property): Renamed to |
| c_parser_objc_at_property_declaration. Updated calls to |
| objc_add_property_variable, now objc_add_property_declaration. |
| Code rewritten to be much more robust in recovering from syntax |
| errors. Added comments. |
| (c_parser_objc_property_attrlist): Removed. |
| (c_parser_external_declaration): Updated calls to |
| c_parser_objc_at_property, now |
| c_parser_objc_at_property_declaration. |
| (c_parser_objc_methodprotolist): Same change. |
| |
| 2010-10-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (split_stack_return): Put back unspec_volatile. |
| |
| 2010-10-26 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (process_references): Enqueue all referenced nodes; |
| mark as reachable only non-external nodes. |
| (cgraph_remove_unreachable_nodes): All referenced nodes should |
| be enqueued; remove bogues node->needed check. |
| |
| 2010-10-26 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphbuild.c (build_cgraph_edges): Use ipa-reference |
| to represent OMP. |
| |
| 2010-10-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (split_stack_return): Replace |
| unspec_volatile with unspec. |
| |
| 2010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com> |
| |
| * doc/install.texi: Fix typo in --with-sysroot description. |
| |
| 2010-10-26 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): |
| Use info provided by linker plugin. |
| |
| 2010-10-26 Jason Merrill <jason@redhat.com> |
| |
| * varasm.c (constructor_static_from_elts_p): Don't require a |
| CONSTRUCTOR to have elements to be suitable for static |
| initialization. Allow ARRAY_TYPE as well. |
| |
| 2010-10-26 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/45736 |
| * cgraph.c (cgraph_set_readonly_flag): Rename to... |
| (cgraph_set_const_flags) ... this one; get also looping argument; |
| clear constructor/destructor flags. |
| (cgraph_set_pure_flag): Likewise. |
| (cgraph_set_looping_const_or_pure_flag): Remove. |
| (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try |
| to optimize away static ctors/dtors; it does not work on inline clones; |
| external functions can always be rmeoved. |
| (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on |
| inline clones; in LTO external functions always can go. |
| (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly. |
| (cgraph_mark_address_taken_node): Assert that we are not taking |
| address of inline clone. |
| (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove |
| external functions. |
| * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with |
| address taken. |
| (ipcp_initialize_node_lattices): Only local functions can be |
| handled without cloning. |
| * cgraph.h (cgraph_set_readonly_flag, |
| cgraph_set_looping_const_or_pure_flag): Remove. |
| (cgraph_set_const_flag): Declare. |
| (cgraph_set_pure_flag): Update. |
| * ipa-pure-const (propagate_pure_const, local_pure_const): Update |
| flags setting code. |
| * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not |
| look at inline clones; fix handling of external definitions. |
| (cgraph_postorder): Do not look at inline clones in the first pass. |
| (function_and_variable_visibility): Drop constructors/destructor |
| flags at pure and const functions. |
| * tree-profile.c (tree_profiling): Update. |
| * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with |
| address taken; external functions do not account to whole program size. |
| (cgraph_decide_inlining): Likewise; do not try to inline |
| functions already inlined. |
| |
| 2010-10-26 Jie Zhang <jie@codesourcery.com> |
| |
| * doc/invoke.texi: Improve documentation of |
| -fstrict-volatile-bitfields. |
| |
| 2010-10-26 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/46167 |
| * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there |
| is basic block for the statement. |
| |
| 2010-10-26 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to |
| current definition of struct_real_format. |
| |
| 2010-10-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/44948 |
| * config/i386/i386.c (ix86_old_function_arg_boundary): New. |
| (ix86_function_arg_boundary): Always align parameters on stack |
| in 64bit and align parameters with alignment >= 16byte on stack |
| in 32bit. Warn alignment change. |
| |
| 2010-10-26 Ian Lance Taylor <iant@google.com> |
| |
| PR middle-end/45687 |
| * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF |
| offset. |
| |
| 2010-10-25 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> |
| |
| Implement opaque-enum-specifiesr for C++0x |
| * tree.h (ENUM_IS_OPAQUE): New. |
| * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE. |
| |
| 2010-10-26 Jie Zhang <jie@codesourcery.com> |
| |
| * stor-layout.c (layout_decl): Use the field's type to |
| determine the mode and keep DECL_BIT_FIELD for a volatile bit-field. |
| * config/arm/arm.c (arm_override_options): Default to |
| -fstrict-volatile-bitfields. |
| |
| 2010-10-25 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md: Add define_constants for register |
| numbers, branch offset limits. |
| * config/pdp11/pdp11.c: Use named constants instead of numbers. |
| * config/pdp11.pdp11.h: Ditto. |
| |
| 2010-10-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * configure.ac: Use $cpu_type instead of $target to define the nop. |
| * configure: Regenerate. |
| |
| 2010-10-25 Jie Zhang <jie@codesourcery.com> |
| |
| * combine.c (try_combine): If insns need to be kept around, check that |
| they can be copied in the merged instruction. |
| |
| 2010-10-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG |
| has been modified. |
| (convert_regs_2): Likewise. Adjust calls to convert_regs_1. |
| (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if |
| it has been modified. |
| |
| 2010-10-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case. |
| |
| 2010-10-24 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md: Change length attribute to be in bytes. |
| * config/pdp11/pdp11.c (output_jump): Ditto. |
| |
| 2010-10-24 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/i386.c (ix86_va_start): Remove extraneous blank line. |
| |
| 2010-10-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cfglayout.c (fixup_reorder_chain): When ensuring that there is at |
| least one insn with a locus corresponding to an edge's goto_locus, |
| disregard non-fallthru edges to the exit block and merge the blocks |
| created for the same goto_locus. |
| |
| 2010-10-23 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c (n_switches_alloc_debug_check): New. |
| (set_option_handlers): New. |
| (process_command): Use set_option_handlers. |
| (do_self_spec): Pass spec-generated options through option handlers. |
| (main): Also save and restore n_switches_alloc when swapping |
| switch arrays. |
| |
| 2010-10-23 Richard Henderson <rth@redhat.com> |
| |
| PR target/46144 |
| * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New. |
| (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2. |
| Honor matching operands when splitting to XOR. |
| |
| 2010-10-23 Ian Lance Taylor <iant@google.com> |
| |
| * tree-vrp.c (extract_range_from_binary_expr): If |
| flag_non_call_exceptions don't eliminate division by zero. |
| * simplify-rtx.c (simplify_binary_operation_1): Likewise. |
| |
| 2010-10-23 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define |
| __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and |
| __ORDER_PDP_ENDIAN__. |
| * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| (struct DWstruct): Define based on __BYTE_ORDER__. |
| * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| (struct INTstruct): Define based on __BYTE_ORDER__. |
| * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__. |
| * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier. |
| * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete. |
| * doc/tm.texi: Regenerate. |
| * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document. |
| (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise. |
| |
| 2010-10-23 Jie Zhang <jie@codesourcery.com> |
| |
| PR rtl-optimization/37360 |
| * config/mips/mips.c (cached_can_issue_more): New local variable. |
| (mips_sched_reorder_1): New. |
| (mips_sched_reorder): Use mips_sched_reorder_1. |
| (mips_sched_reorder2): New. |
| (mips_variable_issue): Set cached_can_issue_more. |
| (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2 |
| instead of mips_sched_reorder. |
| |
| Revert: |
| 2008-09-09 Andrey Belevantsev <abel@ispras.ru> |
| PR rtl-optimization/37360 |
| * haifa-sched.c (max_issue): Do not assert that we never issue more |
| insns than issue_rate. Add comment. |
| |
| 2010-10-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_variable_sized_compare): Preserve the source |
| location info of the expression. |
| |
| 2010-10-22 DJ Delorie <dj@redhat.com> |
| |
| * doc/extend.texi (Named Address Spaces): Document the M32C named |
| address space. |
| |
| * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the |
| __far address space. |
| * config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for |
| "__far" address space for R8C and M16C processor variants. |
| * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New. |
| (far_addr_space_p): New. |
| (encode_pattern_1): Add sign and zero extend support. |
| (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode. |
| (m32c_extra_constraint_p2): Add SF constraint. |
| (m32c_legitimate_address_p): Support __far addresses. |
| (m32c_addr_space_pointer_mode): New. |
| (m32c_addr_space_address_mode): New. |
| (m32c_addr_space_legitimate_address_p): New. |
| (m32c_addr_space_legitimize_address): New. |
| (m32c_addr_space_subset_p): New. |
| (m32c_addr_space_convert): New. |
| (conversions): Add __far operand patterns. |
| (m32c_prepare_move): Force constants into registers for __far moves. |
| (m32c_split_move): __far moves are always split. |
| * config/m32c/addsub.md (addsi3_1): Support SImode symbols. |
| * config/m32c/mov.md (mov<mode>_far_op1): New. |
| (mov<mode>_far_op2): New. |
| (movqi_op): Add __far (SF) support. |
| (movhi_op): Likewise. |
| (movsi_splittable): Split A1A0 also. |
| |
| 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> |
| Andrew Pinski <pinskia@gmail.com> |
| |
| * c-typeck.c (build_array_ref): Handle subscripting of vectors. |
| * doc/extend.texi: New paragraph |
| |
| 2010-10-22 Paul Koning <ni1d@arrl.net> |
| |
| * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define. |
| |
| 2010-10-22 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant. |
| |
| 2010-10-22 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define. |
| |
| 2010-10-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_builtin_vectorized_function): Add |
| cases for __builtin_fma and __builtin_fmaf. |
| |
| 2010-10-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce |
| NEG+USE for vectors as well. |
| * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern |
| and splitter. |
| |
| 2010-10-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION, |
| SWITCH_CURTAILS_COMPILATION): Remove. |
| * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation. |
| * doc/tm.texi: Regenerate. |
| * system.h (SWITCH_CURTAILS_COMPILATION): Poison. |
| |
| 2010-10-22 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * config/i386/bdver1.md: New file. |
| * config/i386/i386.md (include "bdver1.md"): Invoke the |
| pipeline description for bdver1. |
| (x86_sahf_1): Add "bdver1_decode" attribute. |
| (*cmpfp_i_mixed): Likewise. |
| (*cmpfp_i_sse): Likewise. |
| (*cmpfp_i_i387): Likewise. |
| (*cmpfp_iu_mixed): Likewise. |
| (*cmpfp_iu_sse): Likewise. |
| (*cmpfp_iu_387): Likewise. |
| (*swap<mode>,*swap<mode>_1): Likewise. |
| (fixuns_trunc<mode>hi2): Likewise. |
| (fix_trunc<mode>si_sse): Likewise. |
| (x86_fnstcw_1): Likewise. |
| (x86_fldcw_1): Likewise. |
| (*floatsi<mode>2_vector_mixed_with_temp): Likewise. |
| (*floatsi<mode>2_vector_mixed): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise. |
| (*floatsi<mode>2_vector_sse_with_temp): Likewise. |
| (*floatsi<mode>2_vector_sse): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise. |
| (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise. |
| (*mul<mode>3_1): Likewise. |
| (*mulsi3_1_zext): Likewise. |
| (*mulhi3_1): Likewise. |
| (*mulqi3_1): Likewise. |
| (*<u>mul<mode><dwi>3_1): Likewise. |
| (*<u>mulqihi3_1): Likewise. |
| (*<s>muldi3_highpart_1): Likewise. |
| (*<s>mulsi3_highpart_1): Likewise. |
| (*<s>mulsi3_highpart_zext): Likewise. |
| (x86_64_shld): Likewise. |
| (x86_shld): Likewise. |
| (x86_64_shrd): Likewise. |
| (x86_shrd): Likewise. |
| (sqrtxf2): Likewise. |
| (sqrt_extend<mode>xf2_i387): Likewise. |
| (*sqrt<mode>2_sse): Likewise. |
| * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute. |
| (sse_cvtsi2ssq): Likewise. |
| (sse_cvtss2si): Likewise. |
| (sse_cvtss2si_2): Likewise. |
| (sse_cvtss2siq): Likewise. |
| (sse_cvtss2siq_2): Likewise. |
| (sse_cvttss2si): Likewise. |
| (sse_cvttss2siq): Likewise. |
| (sse2_cvtpi2pd): Likewise. |
| (sse2_cvttpd2pi): Likewise. |
| (sse2_cvtsi2sd): Likewise. |
| (sse2_cvtsi2sdq): Likewise. |
| (sse2_cvtsd2si): Likewise. |
| (sse2_cvtsd2si_2): Likewise. |
| (sse2_cvtsd2siq): Likewise. |
| (sse2_cvtsd2siq_2): Likewise. |
| (sse2_cvttsd2si): Likewise. |
| (sse2_cvttsd2siq): Likewise. |
| (*sse2_cvtpd2dq): Likewise. |
| (*sse2_cvttpd2dq): Likewise. |
| (sse2_cvtsd2ss): Likewise. |
| (sse2_cvtss2sd): Likewise. |
| (*sse2_cvtpd2ps): Likewise. |
| (sse2_cvtps2pd): Likewise. |
| |
| 2010-10-22 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/46137 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Properly |
| remove the virtual operands if they are not needed. |
| |
| 2010-10-22 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * config/i386/i386.c (processor_costs bdver1_cost): Update |
| insn costs and architectural parameters for bdver1. |
| |
| 2010-10-22 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.h (gimple_register_canonical_type): Declare. |
| * gimple.c (gimple_canonical_types): New global hashtable. |
| (struct gimple_type_leader_entry_s): New type. |
| (gimple_type_leader): New global cache. |
| (gimple_lookup_type_leader): New function. |
| (gtc_visit): Query the proper cache. |
| (gimple_types_compatible_p): Likewise. |
| (gimple_register_type): Use the new cache instead of TYPE_CANONICAL. |
| (gimple_canonical_type_eq): New function. |
| (gimple_register_canonical_type): Likewise. |
| (print_gimple_types_stats): Adjust for gimple_canonical_types. |
| (free_gimple_type_tables): Likewise. Free gimple_type_leader. |
| * tree-ssa.c (useless_type_conversion_p): Do not dispatch to |
| gimple_types_compatible_p for LTO. |
| |
| 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. |
| |
| 2010-10-22 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45720 |
| * tree-vect-data-refs.c (vect_update_misalignment_for_peel): |
| Handle negative step. |
| (vect_enhance_data_refs_alignment): Likewise. |
| * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise. |
| (vect_create_cond_for_align_checks): Likewise. |
| (vect_create_cond_for_alias_checks): Likewise. |
| |
| 2010-10-22 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/46126 |
| * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to |
| vectorizable_shift in case of basic block vectorization. |
| |
| 2010-10-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * target.h (enum opt_levels, struct default_options): New. |
| * target.def (handle_ofast): Remove hook. |
| (target_option.optimization): Change to |
| target_option.optimization_table. |
| * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| (CAN_DEBUG_WITHOUT_FP): Remove. |
| * doc/tm.texi: Regenerate. |
| * opts.c (maybe_default_option, maybe_default_options, |
| default_options_table): New. |
| (default_options_optimization): Take extra parameters. Don't |
| assert that global_options and global_options_set are in use. Use |
| maybe_default_options. |
| (decode_options): Pass extra parameters to |
| default_options_optimization. |
| * common.opt (falign-loops): Use value 0 with Var. |
| (frerun-cse-after-loop, ftree-ter): Remove Init. |
| * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST, |
| TARGET_OPTION_OPTIMIZATION): Remove. |
| * targhooks.c (empty_optimization_table): New. |
| * targhooks.h (empty_optimization_table): Declare. |
| * toplev.c (process_options): Don't set flag_rerun_cse_after_loop. |
| * config/alpha/alpha.c (alpha_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/arm/arm.c (arm_option_optimization: Change to |
| arm_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/avr/avr.c (avr_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/cris/cris.c (cris_option_optimization): Change to |
| cris_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/crx/crx.c (crx_option_optimization): Change to |
| crx_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/fr30/fr30.c (fr30_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/frv/frv.c (frv_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/h8300/h8300.c (h8300_option_optimization): Change to |
| h8300_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/i386/i386.c (ix86_option_optimization): Change to |
| ix86_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define |
| as initializer. |
| * config/ia64/ia64.c (ia64_option_optimization): Change to |
| ia64_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as |
| initializer. |
| * config/iq2000/iq2000.c (iq2000_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/lm32/lm32.c (lm32_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/m32r/m32r.c (m32r_option_optimization): Change to |
| m32r_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS, |
| CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/mcore/mcore.c (mcore_option_optimization): Change to |
| mcore_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/mep/mep.c (mep_option_optimization): Change to |
| mep_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/microblaze/microblaze.c |
| (microblaze_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/mips/mips.c (mips_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/mmix/mmix.c (mmix_option_optimization): Change to |
| mmix_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/mn10300/mn10300.c (mn10300_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/pa/pa.c (pa_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/pdp11/pdp11.c (pdp11_option_optimization): Change to |
| pdp11_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/picochip/picochip.c (picochip_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/rs6000/rs6000.c (rs6000_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/rx/rx.c (rx_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/s390/s390.c (s390_option_optimization): Change to |
| s390_option_optimization_table. |
| (s390_option_override): Update comment. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/score/score.c (score_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/sh/sh.c (sh_option_optimization): Change to |
| sh_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here. |
| (sh_option_override, expand_block_move, multcosts, find_barrier, |
| barrier_align): Use optimize_size instead of TARGET_SMALLCODE. |
| * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P, |
| STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size |
| instead of TARGET_SMALLCODE. |
| * config/sh/sh.opt (mspace): Make into an alias for -Os. |
| * config/sparc/sparc.c (sparc_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/stormy16/stormy16.c (xstorym16_option_optimization_table, |
| TARGET_OPTION_OPTIMIZATION_TABLE): New. |
| * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/v850/v850.c (v850_option_optimization): Change to |
| v850_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| * config/xtensa/xtensa.c (xtensa_option_optimization): Change to |
| xtensa_option_optimization_table. |
| (TARGET_OPTION_OPTIMIZATION): Change to |
| TARGET_OPTION_OPTIMIZATION_TABLE. |
| * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove. |
| |
| 2010-10-21 Iain Sandoe <iains@gcc.gnu.org> |
| |
| Based on the CFString implementation in FSF apple/trunk branch. |
| |
| * target.def (objc_construct_string): New Hook. |
| * doc/tm.texi (objc_construct_string): Document. |
| * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New. |
| * config/t-darwin: Amend build rules for darwin.o. |
| * config/darwin.opt: Add cfstrings flags. |
| * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__. |
| (darwin_objc_construct_string): New. |
| * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define. |
| * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS. |
| * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype. |
| (darwin_fold_builtin): Likewise. |
| (darwin_build_constant_cfstring): Likewise. |
| (darwin_objc_construct_string): Likewise. |
| (darwin_cfstring_p): Likewise. |
| (darwin_enter_string_into_cfstring_table): Likewise. |
| * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString. |
| * config/darwin.c (darwin_running_cxx): New var. |
| (machopic_select_section): Return cfstring_constant_object_section. |
| (darwin_override_options): Set darwin_running_cxx. |
| (add_builtin_field_decl): New. |
| (darwin_init_cfstring_builtins): New. |
| (darwin_build_constant_cfstring): New. |
| (darwin_fold_builtin): New. |
| (cfstring_hash): New. |
| (cfstring_eq): New. |
| (darwin_enter_string_into_cfstring_table): New. |
| * config/darwin-sections.def (cfstring_constant_object_section): New. |
| * config/darwin.h (TARGET_FOLD_BUILTIN): Define. |
| (TARGET_OBJC_CONSTRUCT_STRING): Define. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/alpha/alpha.c (alpha_build_builtin_va_list): Use |
| TYPE_STUB_DECL instead of TREE_CHAIN. |
| * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise. |
| * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise. |
| * config/s390/s390.c (s390_build_builtin_va_list): Likewise. |
| * config/sh/sh.c (sh_build_builtin_va_list): Likewise. |
| * config/spu/spu.c (spu_build_builtin_va_list): Likewise. |
| * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list): |
| Likewise. |
| * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise. |
| |
| 2010-10-22 Jie Zhang <jie@codesourcery.com> |
| |
| * expr.c (emit_group_load_1): Update calls to extract_bit_field. |
| (copy_blkmode_from_reg): Likewise. |
| (read_complex_part): Likewise. |
| (expand_expr_real_1): Calculate packedp and pass it to |
| extract_bit_field. |
| * expr.h (extract_bit_field): Update declaration. |
| * calls.c (store_unaligned_arguments_into_pseudos): Update call |
| to extract_bit_field. |
| * expmed.c (extract_fixed_bit_field): Update calls to |
| extract_fixed_bit_field. |
| (store_split_bit_field): Likewise. |
| (extract_bit_field_1): Add new argument packedp. |
| (extract_bit_field): Add new argument packedp. |
| (extract_fixed_bit_field): Add new argument packedp and let |
| packed attribute override volatile. |
| * stmt.c (expand_return): Update call to extract_bit_field. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/spu/spu.c (spu_function_arg): Dereference CUM parameter. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead |
| of gcc_checking_assert. |
| * sel-sched.c (code_motion_process_successors): Likewise. |
| |
| 2010-10-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cfgcleanup.c (try_forward_edges): Do not throw away previous steps |
| when stopping because of a different locus on edge or insn. |
| (try_optimize_cfg): Add comment. |
| * cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination |
| block is a forwarder block, propagate locus on the edge. |
| (cfg_layout_merge_blocks): Likewise. |
| |
| 2010-10-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45946 |
| * config/i386/i386.md (*pushti2): New insn pattern. |
| (pushti2 splitter): New insn splitter. |
| (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using |
| DWI mode iterator. |
| |
| 2010-10-21 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11-protos.md (arith_operand, |
| const_immediate_operand, expand_shift_operand, |
| immediate15_operand): Delete |
| * config/pdp11/pdp11.c: Ditto. |
| * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER, |
| CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, |
| EXTRA_CONSTRAINT): Delete. |
| * config/pdp11/pdp11.md (various): Use standard constraints |
| instead of removed ones. |
| * config/pdp11/constraints.md: New file. |
| * config/pdp11/predicates.md: New file. |
| |
| 2010-10-21 Bingfeng Mei <bmei@broadcom.com> |
| |
| PR c/45834 |
| * alias.c (true_dependence_1): Remove obsolete check for QImode. |
| (may_alias_p): Ditto. |
| |
| 2010-10-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/45875 |
| * tree.c (get_binfo_at_offset): Remove initial zero offset test. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree-into-ssa.c (rewrite_update_enter_block): Remove unused |
| variables. |
| (create_new_def_for): Likewise. |
| |
| 2010-10-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.c: Fold code to 80-character width. |
| Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for |
| MEM, CONST_INT and CONST_DOUBLE. |
| (targetm): Move initialization to end of file. |
| (print_operand): Rename to mn10300_print_operand. |
| (print_operand_address): Rename to mn10300_print_operand_address. |
| (can_use_return_insn): Rename to mn10300_can_use_return_insn. |
| (expand_prologue): Rename to mn10300_expand_prologue. |
| (expand_epilogue): Rename to mn10300_expand_epilogue. |
| (initial_offset): Rename to mn10300_initial_offset. |
| (function_arg): Rename to mn10300_function_arg. |
| (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst. |
| (symbolic_operand): Rename to mn10300_symbolic_operand. |
| (legitimize_pic_address): Rename to mn10300_legitimize_pic_address. |
| (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p. |
| * config/mn10300/mn10300-protos.h: Update prototypes. |
| * config/mn10300/mn10300.h: Fold code to 80-character width. |
| Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for |
| MEM, CONST_INT and CONST_DOUBLE. |
| (CPP_SPEC): Move to... |
| (TARGET_CPU_CPP_BUILTINS): ... here. |
| * config/mn10300/mn10300.md: Fold code to 80-character width. |
| Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for |
| MEM, CONST_INT and CONST_DOUBLE. |
| |
| 2010-10-21 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/46049 |
| PR tree-optimization/46052 |
| * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift. |
| (vect_get_slp_defs): Add arguments. |
| * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar |
| operands to vect_get_slp_defs. |
| (vectorizable_reduction): Fix comment, pass scalar operands to |
| vect_get_slp_defs. |
| * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's |
| type to determine number of units in the created vector. |
| (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs. |
| (vectorizable_conversion): Fix comment. |
| (vectorizable_shift): New function. |
| (vectorizable_operation): Move code that handles shifts to |
| vectorizable_shift. |
| (vectorizable_type_demotion): Fix comment, pass scalar operands to |
| vect_get_slp_defs. |
| (vectorizable_type_promotion, vectorizable_store): Likewise. |
| (vectorizable_condition): Fix comment. |
| (vect_analyze_stmt): Call vectorizable_shift. |
| (vect_transform_stmt): Likewise. |
| * tree-vect-slp.c (vect_get_constant_vectors): Add new argument. |
| Use it as the operand to create vectors for, except reduction |
| initial definition and store. Use operands type. |
| (vect_get_slp_defs): Add new arguments. Pass them to |
| vect_get_constant_vectors. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * basic-block.h (single_succ_edge): Use gcc_checking_assert. |
| (single_pred_edge, ei_container, ei_next, ei_prev): Likewise. |
| * cfghooks.c (fixup_reorder_chain): Likewise. |
| * cfgrtl.c (cfg_layout_merge_blocks): Likewise. |
| * cgraph.c (cgraph_add_thunk): Likewise. |
| (cgraph_create_edge_1): Likewise. |
| (cgraph_create_virtual_clone): Likewise. |
| * ddg.c (add_cross_iteration_register_deps): Likewise. |
| * dwarf2out.c (modified_type_die): Likewise. |
| * emit-rtl.c (set_mem_alias_set): Likewise. |
| * ggc-zone.c (zone_allocate_marks): Likewise. |
| * gimple-iterator.c (gsi_move_to_bb_end): Likewise. |
| * gimple.c (iterative_hash_gimple_type): Likewise. |
| * graphite-scop-detection.c (create_single_entry_edge): Likewise. |
| (create_single_exit_edge): Likewise. |
| * haifa-sched.c (choose_ready): Likewise. |
| * lto-streamer-in.c (input_gimple_stmt): Likewise. |
| * passes.c (execute_todo): Likewise. |
| * sched-ebb.c (begin_schedule_ready): Likewise. |
| * sel-sched.c (code_motion_process_successors): Likewise. |
| * tree-call-cdce.c (gen_conditions_for_pow): Likewise. |
| * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise. |
| * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise. |
| (phi_arg_index_from_use, phi_ssa_name_p): Likewise. |
| * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise. |
| * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise. |
| (ssa_conflicts_add): Likewise. |
| * tree-ssa-copy.c (replace_exp): Likewise. |
| * tree-ssa-dom.c (eliminate_redundant_computations): Likewise. |
| * tree-ssa-forwprop.c (simple_gimple_switch): Likewise. |
| * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise. |
| * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise. |
| (compute_antic): Likewise. |
| * tree-ssa-ter.c (add_to_partition_kill_list): Likewise. |
| (add_dependence): Likewise. |
| (process_replaceable, kill_expr, find_replaceable_exprs): Likewise. |
| * tree-vrp.c (supports_overflow_infinity): Likewise. |
| (make_overflow_infinity, negative_overflow_infinity): Likewise. |
| (avoid_overflow_infinity, register_new_assert_for): Likewise. |
| (process_assert_insertions_for): Likewise. |
| * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise. |
| (dv_from_value, variable_union, find_loc_in_1pdv): Likewise. |
| (intersect_loc_chains, variable_merge_over_cur): Likewise. |
| |
| 2010-10-21 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred. |
| * reload1.c (has_nonexceptional_receiver): Likewise. |
| * tree-into-ssa.c (rewrite_update_enter_block): Likewise. |
| (create_new_def_for): Likewise. |
| * tree-cfgcleanup.c (remove_forwarder_block): Likewise. |
| (merge_phi_nodes): Likewise. |
| (has_abnormal_incoming_edge_p): Delete. |
| |
| 2010-10-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI. |
| |
| 2010-10-21 Richard Guenther <rguenther@suse.de> |
| Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/45764 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): |
| Adjust initial misalignment for negative DR_STEP. |
| (vect_find_same_alignment_drs): Two DRs with different DR_STEP |
| do not have the same alignment over the whole iteration domain. |
| |
| 2010-10-21 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/46111 |
| * tree-parloops.c (take_address_of): Re-organize for MEM_REF. |
| |
| 2010-10-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only. |
| |
| 2010-10-21 Tristan Gingold <gingold@adacore.com> |
| |
| * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations. |
| * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto. |
| |
| 2010-10-21 Tristan Gingold <gingold@adacore.com> |
| |
| * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set |
| signal_frame. |
| * config/alpha/alpha.c (alpha_function_arg): Adjust call. |
| |
| 2010-10-21 Tristan Gingold <gingold@adacore.com> |
| |
| * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD. |
| * config/ia64/vms.h (TARGET_DEFAULT): Ditto. |
| |
| 2010-10-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * basic-block.h (find_fallthru_edge): Define. |
| * cfgcleanup.c (merge_blocks_move): Use it. |
| (try_crossjump_bb): Likewise. |
| * cfglayout.c (fixup_reorder_chains): Likewise. |
| (fixup_fallthru_exit_predecessor): Likewise. |
| * cfgrtl.c (rtl_split_edge): Likewise. |
| (rtl_verify_flow_info): Likewise. |
| * function.c (thread_prologue_and_epilogue_insns): Likewise. |
| * gimple-pretty-print.c (dump_implicit_edges): Likewise. |
| * ifcvt.c (block_fallthru): Likewise. |
| * reload1.c (fixup_abnormal_edges): Likewise. |
| * sched-ebb.c (being_schedule_ready): Likewise. |
| (schedule_ebb): Likwise. |
| * sched-rgn.c (find_single_block_region): Likewise. |
| * sel-sched-ir.c (bb_ends_ebb_p): Likewise. |
| * tree-complex.c (expand_complex_move): Likewise. |
| * sched-int.h (find_fallthru_edge): Rename to... |
| (find_fallthru_edge_from): ...this. |
| * haifa-sched.c (find_fallthru_edge): Rename to... |
| (find_fallthru_edge_from): ...this. Use new find_fallthru_edge. |
| (init_before_recovery): Call find_fallthru_edge_from. |
| * sel-sched-ir.c (merge_fences): Likewise. |
| * sel-sched.c (in_fallthru_bb_p): Likewise. |
| (move_cond_jump): Likewise. |
| |
| 2010-10-20 Paul Koning <ni1d@arrl.net> |
| |
| * config/pdp11/pdp11.md (various): Fix conditions on a number of |
| insn to check for target 11/40 or higher. |
| |
| 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * parser.c (c_parser_objc_method_type): Mark inline. Return a |
| bool instead of a tree. |
| (c_parser_objc_method_decl): Added bool argument. Updated call to |
| objc_build_method_signature. |
| (c_parser_objc_method_definition): Do not call |
| objc_set_method_type. Updated calls to c_parser_objc_method_type, |
| c_parser_objc_method_decl and objc_start_method_definition. |
| (c_parser_objc_methodproto): Do not call objc_set_method_type. |
| Updated calls to c_parser_objc_method_type, |
| c_parser_objc_method_decl and objc_add_method_declaration. |
| |
| 2010-10-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/45919 |
| * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible |
| array members. |
| |
| PR tree-optimization/46066 |
| * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb |
| instead of gsi_last_bb. |
| |
| 2010-10-20 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_option_override): Always disable |
| function-cse in 16-bit mode. Indirect calls are always worse than |
| direct calls as there is no 16-bit indirect call opcode. |
| (m32c_override_options_after_change): New, likewise. |
| |
| 2010-10-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try |
| emitting the conditional move in the inner mode of the SUBREG. |
| |
| 2010-10-20 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros. |
| * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove. |
| * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define. |
| (ia64_preferred_reload_class): Make static. Change rclass argument |
| and result types from enum reg_class to reg_class_t. |
| |
| 2010-10-20 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over |
| call for single operand expression. |
| |
| 2010-10-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges |
| if there is a call statement to pure or const function in the block. |
| |
| 2010-10-20 Paul Koning <pkoning@equallogic.com> |
| |
| Fix several build errors for pdp11 target. |
| * config/pdp11/pdp11.md (*cmpdf): Fix tstd operands. |
| (cbranchdf4): Conditional on TARGET_FPU. |
| (movdf): Ditto; correct alternatives check. |
| (movmemhi): Fix predicate and constraint. |
| * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode. |
| |
| 2010-10-20 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45667 |
| * lto-streamer-out.c (output_gimple_stmt): Fix typo. |
| * tree-cfg.c (verify_gimple_call): Properly get the call fndecl. |
| (verify_gimple_assign_single): Disable ADDR_EXPR type check |
| when in LTO. |
| |
| 2010-10-20 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR fortran/42169 |
| * ira-emit.c (store_can_be_removed_p): Return false instead of |
| gcc_unreachable. |
| |
| 2010-10-20 Dmitry Melnik <dm@ispras.ru> |
| |
| * fold-const.c (fold_binary_loc): New transformation. |
| |
| 2010-10-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/46085 |
| * config/i386/sse.md (reduc_splus_v8sf): Updated. |
| (reduc_splus_v4df): Likewise. |
| |
| 2010-10-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45860 |
| * tree-ssa-phiopt.c (cond_store_replacement): Do not do |
| conditional store replacement for non-register type stores. |
| |
| 2010-10-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * stor-layout.c (skip_simple_constant_arithmetic): New function. |
| (self_referential_size): Use it instead of skip_simple_arithmetic. |
| |
| 2010-10-20 Olivier Hainque <hainque@adacore.com> |
| |
| * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): |
| If the current function calls eh_return, claim live all registers |
| that we need to check for liveness otherwise. |
| |
| 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-decl.c (c_write_global_declarations): Call |
| objc_write_global_declarations when compiling Objective-C. |
| * c-lang.c (finish_file): Removed. |
| |
| 2010-10-19 DJ Delorie <dj@redhat.com> |
| |
| * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New. |
| (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook. |
| (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise. |
| (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise. |
| * doc/tm.texi: Regenerate. |
| * targhooks.h (default_label_align_after_barrier_max_skip, |
| default_loop_align_max_skip, default_label_align_max_skip, |
| default_jump_align_max_skip): Declare. |
| * target.def (label_align_after_barrier_max_skip): New. |
| (loop_align_max_skip): New. |
| (label_align_max_skip): New. |
| (jump_align_max_skip): New. |
| * system.h (poison): Add those macros to the list. |
| * final.c (LABEL_ALIGN_MAX_SKIP): Remove. |
| (LOOP_ALIGN_MAX_SKIP): Remove. |
| (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove. |
| (JUMP_ALIGN_MAX_SKIP): Remove. |
| (default_label_align_after_barrier_max_skip): New. |
| (default_loop_align_max_skip): New. |
| (default_label_align_max_skip): New. |
| (default_jump_align_max_skip): New. |
| (compute_alignments): Use the new hooks. |
| (shorten_branches): Likewise. |
| |
| 2010-10-19 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>. |
| * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH. |
| (fma4i_fmadd_<mode>): New. |
| (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from |
| fma4_fm*_<mode> and adjust to be pre-reload splitters to the |
| standard fma patterns. |
| (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and |
| enable for FMA. |
| (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New. |
| (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New. |
| (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New. |
| |
| 2010-10-19 Paul Koning <pkoning@equallogic.com> |
| |
| * lower-subreg.c (resolve_shift_zext): Delete conditional code for |
| WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN. |
| |
| 2010-10-19 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New. |
| (fmadf4, *fmsdf4, *nfmadf4): New. |
| (fmaxf4, *fmsxf4, *nfmaxf4): New. |
| |
| 2010-10-19 Michael Eager <eager@eagercon.com> |
| |
| * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO): |
| Use sjlj unwind info for exceptions. |
| |
| 2010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org> |
| |
| PR fortran/43414 |
| * dwarf2out.c (add_calling_convention_attribute): Flag main |
| Fortran subroutine with DW_AT_main_subprogram. |
| |
| 2010-10-19 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_function_value): Small integer types are |
| promoted to SImode. |
| (rx_promote_function_mode): New function. |
| (TARGET_PROMOTE_FUNCTION_MODE): Define. |
| |
| 2010-10-19 Nick Clifton <nickc@redhat.com> |
| |
| * config/mep/mep.c (mep_print_operand): Use |
| targetm.strip_name_encoding. |
| (mep_output_aligned_common): Likewise. |
| |
| 2010-10-19 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c (new_structure): Remove ad-hoc "location_s" processing. |
| |
| 2010-10-18 Richard Henderson <rth@redhat.com> |
| |
| * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify |
| (fma (neg a) (neg b) c) and (fma a (neg b) c). |
| |
| 2010-10-18 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD, |
| IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD, |
| IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD, |
| IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD, |
| IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD, |
| IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD, |
| IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD, |
| IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256, |
| IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256, |
| IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove. |
| (bdesc_multi_arg): Remove the corresponding builtins. |
| * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove. |
| (UNSPEC_FMA4_FMSUBADD): Remove. |
| (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB. |
| * config/i386/sse.md (FMA4MODEF4): Remove. |
| (FMAMODE): Add. |
| (fma<mode>4): New expander. |
| (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns, |
| and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC. |
| (*fma4i_fmsub_<mode>): Similarly. |
| (*fma4i_fnmadd_<mode>): Similarly. |
| (*fma4i_fnmsub_<mode>): Similarly. |
| (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge |
| with the first operand. |
| (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead |
| of explicit arithmetic. Macroize with AVXMODEF2P. |
| (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG. |
| (xop_frcz<mode>2): Macroize with FMAMODE. |
| (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with |
| the first operand. |
| * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with |
| extra negations. |
| (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise. |
| (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise. |
| (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise. |
| (_mm256_msub_ps, _mm256_msub_pd): Likewise. |
| (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise. |
| (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise. |
| (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation. |
| (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise. |
| |
| 2010-10-18 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/45966 |
| * combine.c (try_combine): If added_sets_2, deal with the case |
| where i0 feeds i1 and i1 feeds i2. |
| |
| 2010-10-18 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (cgraph_externally_visible_p): Handle externally visible and |
| preserve flags before trying to guess on visibility. |
| (varpool_externally_visible_p): New function. |
| (function_and_variable_visibility): Use it. |
| |
| 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Implemented parsing @synthesize and @dynamic for Objective-C. |
| * c-parser.c (c_parser_external_declaration): Recognize |
| RID_AT_SYNTHESIZE and RID_AT_DYNAMIC. |
| (c_parser_objc_at_synthesize_declaration): New. |
| (c_parser_objc_at_dynamic_declaration): New. |
| |
| 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_class_declaration): After finding an |
| error, parse the whole declaration then reset parser->error. |
| |
| 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/46041 |
| * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c. |
| * builtins.c (mode_has_fma): Ditto. |
| |
| 2010-10-18 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/36898 |
| PR middle-end/43760 |
| * config/ia64/ia64.c (rws_access_regno): Remove predicate check. |
| |
| 2010-10-18 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/i386/i386.c (ix86_option_override_internal): Define and |
| use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer |
| default. |
| * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. |
| (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define. |
| |
| 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Merge from 'apple/trunk' branch on FSF servers. |
| * c-parser.c (c_parser_objc_type_name): Adapted to new parser the |
| following Objective-C change: |
| |
| 2005-10-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4301047 |
| * c-parse.in (objc_quals): Build objc qualifier list same way |
| as gcc-3.3 |
| |
| 2010-10-18 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p, |
| function_and_variable_visibility): Revert accidental commit. |
| |
| 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Merge from 'apple/trunk' branch on FSF servers. |
| * c-parser.c (c_parser_typeof_specifier): Adapted to new parser |
| the following Objective-C change: |
| |
| 2005-10-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4204796 |
| * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from |
| 'volatilized' type used in a typeof operator. |
| |
| 2010-10-18 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare. |
| * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and |
| rewrite modelled on gimple_purge_dead_eh_edges. |
| (gimple_purge_all_dead_abnormal_call_edges): New function. |
| * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges |
| directly instead of through gimple_purge_dead_abnormal_call_edges. |
| * tree-ssa-pre.c (need_ab_cleanup): New static variable. |
| (eliminate): Set bit in need_ab_cleanup for the basic block if we have |
| removed AB side-effects from one of its statements. |
| (init_pre): Initialize need_ab_cleanup. |
| (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits |
| are set in need_ab_cleanup. Free need_ab_cleanup afterward. |
| |
| 2010-10-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/46015 |
| * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read |
| on computed goto argument. |
| |
| 2010-10-18 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45967 |
| * tree-ssa-structalias.c (type_could_have_pointers): Remove. |
| (could_have_pointers): Likewise. |
| (handle_rhs_call, handle_const_call, handle_pure_call, |
| find_func_aliases, intra_create_variable_infos): Remove calls to them. |
| (struct fieldoff): Add must_have_pointers field. |
| (type_must_have_pointers): New function. |
| (field_must_have_pointers): Likewise. |
| (push_fields_onto_fieldstack): Remove must_have_pointers_p argument. |
| Adjust field merging. |
| (create_function_info_for): May-have-pointers of varinfo is |
| almost always true. |
| (create_variable_info_for_1): Likewise. |
| |
| 2010-10-18 Tejas Belagod <tejas.belagod@arm.com> |
| |
| * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order |
| of operands to vec_concat. |
| |
| 2010-10-18 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44950 |
| * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS |
| also clear references to entries of it. |
| |
| 2010-10-18 Andi Kleen <ak@linux.intel.com> |
| |
| PR other/43448 |
| * gccbug.in: Remove. |
| * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove |
| (doc, distclean, install-common): Remove reference to gccbug. |
| * configure: Regenerate. |
| * configure.ac (all_outputs): Remove gccbug. |
| * doc/configfiles.texi: Remove references to gccbug. |
| * doc/sourcebuild.texi: Dito. |
| |
| 2010-10-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/46019 |
| * fold-const.c (fold_binary_loc): If integer_pow2p has |
| TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH. |
| |
| 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net> |
| Jeremie Salvucci <jeremie.salvucci@free.fr> |
| |
| * gengtype.c (verbosity_level): Add variable. |
| (set_gc_used): Count variables for verbosity. |
| (close_output_files): Backing up files, counting written ones |
| verbosily. |
| (write_types): Count emitted functions for verbosity. Added |
| debug messages. |
| (write_enum_defn): Count structures for verbosity. Added debug |
| messages. |
| (gengtype_long_options): Add "verbose" & "backupdir". |
| (print_usage): Ditto. |
| (main): Verbose display of parsed files. |
| |
| * gengtype.h (verbosity_level): Add declaration. |
| |
| 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c (parse_program_options): Add allocation of |
| plugin_files, and correct test on nb_plugin_files. |
| |
| 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Merge from 'apple/trunk' branch on FSF servers. |
| |
| 2006-03-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4133425 |
| * c-decl.c (undeclared_variable): Issue diagnostic on |
| private 'ivar' access. |
| |
| 2010-10-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/46051 |
| * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of |
| generated sequence to match *avx_vperm2f128<mode>_nozero. |
| (vec_interleave_lowv4df): Ditto. |
| (vec_interleave_highv8sf): Ditto. |
| (vec_interleave_lowv8sf): Ditto. |
| |
| 2010-10-17 Kai Tietz <kai.tietz@onevision.com> |
| |
| * libgcov.c (create_file_directory): Enable it for win32 case. |
| (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP. |
| * doc/gcov.texi (GCOV_PREFIX): Adjusted. |
| (GCOV_PREFIX_SKIP): Likewise. |
| |
| 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/objc.texi (GNU Objective-C runtime API): New section. |
| (Modern GNU Objective-C runtime API): New section. |
| (Traditional GNU Objective-C runtime API): New section. |
| (Executing code before main): Mention that this section is |
| specific to the GNU Objective-C runtime. |
| (Garbage Collection): Same. |
| |
| 2010-10-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * c-parser.c (c_parser_for_statement): Move initialization of |
| cond and incr before if. |
| |
| 2010-10-17 Anatoly Sokolov <aesok@post.ru> |
| |
| * target.def (preferred_output_reload_class): New hook. |
| * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_preferred_output_reload_class): New function. |
| * targhooks.h (default_preferred_output_reload_class): Declare. |
| * reload.c (find_dummy_reload): Change rclass argument type from |
| enum reg_class to reg_class_t. Change this_alternative array type |
| from enum reg_class to reg_class_t. |
| Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook. |
| (push_reload): Change preferred_class variable type to reg_class_t. |
| Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook. |
| * recog.c (reg_fits_class_p): Change result type to bool. Change cl |
| argument type from enum reg_class to reg_class_t. Use |
| HARD_REGISTER_NUM_P predicate. |
| * recog.h (reg_fits_class_p): Update prototype. |
| |
| * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove. |
| * config/i386/i386-protos.h (ix86_preferred_output_reload_class): |
| Remove. |
| * config/i386/i386.c (ix86_preferred_output_reload_class): Make |
| static. Change regclass argument and result types from enum reg_class |
| to reg_class_t. |
| (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. |
| |
| 2010-10-17 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * c-parser.c (c_parser_objc_class_instance_variables): Update to use |
| visibility enum, and handle @package. |
| |
| 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/objc.texi (What you can and what you cannot do in +load): |
| Document that sending messages to constant string objects in +load |
| is not guaranteed to work. |
| |
| 2010-10-16 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/44206 |
| * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check |
| existence of refrences before removing the function. |
| |
| 2010-10-16 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c (dump_cgraph_node): Dump same_comdat_group, |
| only_called_at_startup and only_called_at_exit. |
| (cgraph_propagate_frequency): Compute only_called_at_startup and |
| only_called_at_exit. |
| * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and |
| only_called_at_exit. |
| * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new |
| flags. |
| * predict.c (compute_function_frequency): Initialize the new flags. |
| |
| 2010-10-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be |
| ignored for debug info purposes, do not clear the DECL_IGNORED_P flag |
| on the bounds of its domain. |
| * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically. |
| |
| 2010-10-16 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/avr/avr-protos.h (preferred_reload_class): Remove. |
| * config/avr/avr.c (preferred_reload_class): Remove. |
| * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/pa/pa.c (emit_move_sequence): Update comment |
| * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove. |
| |
| 2010-10-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.c (set_fast_math_flags, |
| set_unsafe_math_optimizations_flags): Make static. |
| * toplev.h (set_fast_math_flags, |
| set_unsafe_math_optimizations_flags): Remove prototypes. |
| |
| 2010-10-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/arm/arm.c (arm_option_optimization): Set |
| flag_section_anchors to 1 not 2. |
| * config/i386/i386.c (ix86_option_override_internal): Check |
| global_options_set.x_flag_zee and |
| global_options_set.x_flag_omit_frame_pointer. |
| (ix86_option_optimization): Don't set flag_omit_frame_pointer and |
| flag_zee to 2. |
| * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check |
| global_options_set.x_flag_omit_frame_pointer. |
| * config/rs6000/rs6000.c (rs6000_option_init_struct): Set |
| opts->x_flag_section_anchors to 1 not 2. |
| * config/sh/sh.c (sh_option_optimization): Don't set |
| flag_schedule_insns to 2. |
| (sh_option_override): Check |
| global_options_set.x_flag_schedule_insns. |
| * opts.c (finish_options): Check opts_set->x_flag_section_anchors. |
| |
| 2010-10-16 Kai Tietz <kai.tietz@onevision.com> |
| |
| * configure.ac: Make sure inhibit_libc remains false for mingw targets |
| as cross. |
| * configure: Regenerated. |
| |
| 2010-10-15 Xinliang David Li <davidxl@google.com> |
| |
| * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New |
| function. |
| (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning |
| into a recursive function. |
| |
| 2010-10-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute. |
| (*movdfcc_1): ditto. |
| |
| 2010-10-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * target.def (target_option.init_struct): New hook. |
| * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook. |
| * doc/tm.texi: Regenerate. |
| * hooks.c (hook_void_gcc_optionsp): New. |
| * hooks.h (hook_void_gcc_optionsp): Declare. |
| * langhooks-def.h (lhd_init_options_struct): Remove. |
| (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp. |
| * langhooks.c (lhd_init_options_struct): Remove. |
| * opts.c (init_options_struct): Also call |
| targetm.target_option.init_struct. |
| * config/i386/i386.c (ix86_option_init_struct, |
| TARGET_OPTION_INIT_STRUCT): New. |
| (ix86_option_optimization): Move some settings to |
| ix86_option_init_struct. |
| * config/pdp11/pdp11.c (pdp11_option_init_struct, |
| TARGET_OPTION_INIT_STRUCT): New. |
| (pdp11_option_optimization): Move some settings to |
| pdp11_option_init_struct. |
| * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by |
| rs6000_option_init_struct. Use options structure pointer. |
| (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT. |
| * config/s390/s390.c (s390_option_init_struct, |
| TARGET_OPTION_INIT_STRUCT): New. |
| (s390_option_optimization): Don't set |
| flag_asynchronous_unwind_tables here. |
| * config/sh/sh.c (sh_option_init_struct, |
| TARGET_OPTION_INIT_STRUCT): New. |
| (sh_option_optimization): Don't set flag_finite_math_only here. |
| * config/spu/spu.c (spu_option_optimization): Replace by |
| spu_option_optimization. Use options structure pointer. |
| (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT. |
| |
| 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * doc/md.texi (Standard Names): Add fma@var{m}4 documentation. |
| |
| * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add |
| SIGN_EXTRACT and ZERO_EXTRACT which were missing. |
| (Standard names): Document fma. |
| |
| * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA, |
| __FP_FAST_FMAF, __FP_FAST_FMAL. |
| |
| * builitns.c (expand_builtin_mathfn_ternary): New function for |
| expanding ternary math functions, like fma. |
| (expand_builtin): Call it for the fma builtins. |
| |
| * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA |
| ops at present. |
| |
| * tree-vect-stmts.c (vectorizable_call): Allow 3 argument |
| vectorizable functions to support vectorizing fma. |
| |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): |
| Handle fma builtins. |
| |
| * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete. |
| (UNSPEC_VSX_MSUB): Ditto. |
| (UNSPEC_VSX_NMADD): Ditto. |
| (UNSPEC_VSX_NMSUB): Ditto. |
| (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead |
| of UNSPEC. Renumber combiner patterns. |
| (vsx_fmsub<mode>4*): Ditto. |
| (vsx_fnmadd<mode>4*): Ditto. |
| (vsx_fnmsub<mode>4*): Ditto. |
| |
| * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete. |
| (altivec_vmaddfp): Rewrite to use FMA rtl if no fused |
| multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test. |
| (altivec_vmaddfp_1): Ditto. |
| (altivec_vmaddfp_2): Ditto. |
| (atlivec_mulv4sf3): Ditto. |
| (altivec_vnmsubfp): Ditto. |
| (altivec_vnmsubfp_1): Ditto. |
| (altivec_vnmsubfp_2): Ditto. |
| (altivec_vnmsubfp_3): Delete. |
| |
| * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support. |
| (fmasf4_fpr): Ditto. |
| (fmssf4_fpr): Ditto. |
| (fnmasf4_fpr): Ditto. |
| (fnmssf4_fpr): Ditto. |
| (fmadf4): Ditto. |
| (fmadf4_fpr): Ditto. |
| (fmsdf4_fpr): Ditto. |
| (fnmadf4_fpr): Ditto. |
| (fnmsdf4_fpr): Ditto. |
| |
| * optabs.h (OTI_fma): Add fma optab. |
| (fma_optab): Ditto. |
| |
| * genopinit.c (optabs): Set fma optab. |
| |
| * rtl.def (FMA): Add FMA rtl. |
| |
| * tree.h (mode_has_fma): New function to return if MODE supports a |
| fast multiply and add instruction. |
| * builtins.c (mode_has_fma): Ditto. |
| |
| 2010-10-15 Jan Hubicka <jh@suse.cz> |
| |
| * lto-streamer-out.c (write_symbol): Use pointer set of seen |
| objects instead of bitmap. |
| (produce_symtab): Likewise; output defined symbols first. |
| |
| 2010-10-15 Jie Zhang <jie@codesourcery.com> |
| |
| * doc/invoke.texi: Add -fstrict-volatile-bitfields to |
| Option Summary and Index. |
| |
| 2010-10-15 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL |
| for automatic variables again. |
| |
| 2010-10-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/extend.texi (Variable Length): Don't refer to VLAs not |
| conforming to C99. |
| |
| 2010-10-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rx/rx.c (rx_option_optimization): Change to |
| rx_override_options_after_change. Don't change |
| flag_lto_compression_level. Don't check for changes to whether |
| FPU instructions can be used. Check and set only |
| flag_finite_math_only, not other fast-math flags. |
| (rx_option_override): Call rx_override_options_after_change. |
| (TARGET_OPTION_OPTIMIZATION): Remove. |
| (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. |
| |
| 2010-10-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_optimization): Don't |
| disable section anchors for lang_hooks.name[4] != 'O'. |
| |
| 2010-10-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/frv/frv.c (frv_option_optimization, |
| TARGET_OPTION_OPTIMIZATION): Remove. |
| * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove. |
| |
| 2010-10-15 Michael Matz <matz@suse.de> |
| |
| * cgraphunit.c (clone_of_p): Define unconditionally. |
| |
| 2010-10-15 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45957 |
| * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars. |
| |
| 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * ifcvt.c (find_active_insn_before): New function. |
| (find_active_insn_after): New function. |
| (cond_exec_process_if_block): Use new functions to replace |
| prev_active_insn() and next_active_insn(). |
| |
| 2010-10-14 Yao Qi <yao@codesourcery.com> |
| |
| PR target/45447 |
| * config/arm/arm.c (arm_build_builtin_va_list): Assign |
| va_list_name to TYPE_STUB_DECL (va_list_type). |
| |
| 2010-10-14 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/45621 |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is |
| redirected to clone, be happy. |
| * cgraph.h (cgraph node): Enable former_clone_of unconditinally. |
| * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle |
| former_clone_of unconditionally. |
| |
| 2010-10-14 Iain Sandoe <iains@gcc.gnu.org> |
| |
| Merge from FSF apple 'trunk' branch. |
| 2006 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radars 4436866, 4505126, 4506903, 4517826 |
| * c-parser.c (c_parser, objc_property_attr_context) New flag. |
| (c_lex_one_token): Handle property attributes. |
| (c_parser_external_declaration): Handle @property. |
| (c_parser_declaration_or_fndef): Warn on invalid attributes before |
| @alias, @class, @end and @property objc keywords. |
| (c_parser_objc_methodprotolist): Handle @property. |
| (c_parser_objc_property_attrlist): New. |
| (c_parser_objc_at_property): New. |
| * c-typeck.c (build_component_ref): Handle CLASS.property syntax. |
| (build_modify_expr): Likewise. |
| |
| 2010-10-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/46008 |
| * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible. |
| |
| 2010-10-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44913 |
| * tree-data-ref.c (disjoint_objects_p): Remove. |
| (dr_may_alias_p): Simplify. Only hand the base object to |
| the alias-oracle. |
| * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle |
| some more trees, bail out instead of asserting. |
| (ptr_derefs_may_alias_p): Likewise. Export. |
| (refs_may_alias_p_1): Handle STRING_CSTs. |
| * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare. |
| |
| 2010-10-14 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/45969 |
| * c-typeck.c (build_binary_op): Don't try to compute a semantic |
| type with excess precision for boolean operations. |
| |
| 2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr> |
| Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c: Include getopt.h and version.h. |
| |
| (lang_bitmap, struct outf, outf_p) |
| (get_output_file_with_visibility, oprintf): Definitions moved to |
| gengtype.h |
| (output_files, header_file, srcdir, srcdir_len, this_file) |
| (do_dump): No more static variables. |
| (do_debug): New. |
| (dbgprint_count_type_at): Added new function. |
| (gengtype_long_options): New. |
| (print_usage, print_version, parse_program_options): New. |
| (main): Call parse_program_options, and removed old option |
| handling code. Added some debug output. |
| |
| * gengtype.h: Updated copyright year. |
| (lang_bitmap, struct outf, outf_p, header_file, oprintf) |
| (get_output_file_with_visibility, srcdir, srcdir_len, do_dump): |
| Moved from gengtype.c to here. |
| (do_debug, read_state_filename, write_state_filename): New variables. |
| (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros. |
| |
| * Makefile.in: |
| (REVISION): Always defined. |
| (version.o): Removed ifdef REVISION_c. |
| (s-gtype): Pass arguments to build/gengtype program. |
| (build/version.o): Added building rule. |
| (build/gengtype$(build_exeext)): Added build/version.o. |
| |
| 2010-10-14 Iain Sandoe <iains@gcc.gnu.org> |
| |
| Partial merge of 'ObjC GC' from FSF apple 'trunk' branch. |
| * config/darwin-c.c (darwin_cpp_builtins): Define __weak and |
| __strong macros. |
| |
| 2010-10-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke |
| may_trap_or_fault_p instead of may_trap_p predicate. |
| * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag. |
| (substitute_placeholder_in_expr): Likewise. |
| * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP |
| flag on MEM_REF nodes. |
| (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP |
| flags on INDIRECT_REF nodes. |
| |
| 2010-10-14 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc. |
| (arm*-*-uclinux*eabi) <tm_file>: Likewise. |
| (arm*-*-eabi*) <tm_file>: Likewise. |
| (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc. |
| (frv-*-*linux*) <tm_file>: Likewise. |
| * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas |
| and associated helper macros. |
| * config/frv/frv-abi.h: Delete. |
| |
| 2010-10-14 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44561 |
| * tree.def (NULLPTR_TYPE): New tree code. |
| * dbxout.c (dbxout_type): Handle NULLPTR_TYPE. |
| * dwarf2out.c (is_base_type): Likewise. |
| (gen_type_die_with_usage): Likewise. |
| * sdbout.c (plain_type_1): Likewise. |
| * tree.c (build_int_cst_wide): Likewise. |
| * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal. |
| |
| 2010-10-14 Joseph Myers <joseph@codesourcery.com> |
| |
| * params.c (params_finished): New. |
| (add_params): Assert !params_finished. |
| (finish_params): New. |
| (set_param_value_internal): Take params and params_set |
| parameters. Assert params_finished. |
| (set_param_value, maybe_set_param_value): Take params and |
| params_set parameters. Update calls to set_param_value_internal. |
| (set_default_param_value): Assert !params_finished. Don't use |
| set_param_value_internal. |
| (default_param_value, init_param_values): New. |
| * params.h (struct param_info): Change value to default_value. |
| Remove set. |
| (set_param_value, maybe_set_param_value): Add params and |
| params_set parameters. |
| (PARAM_VALUE): Get parameters from global_options. |
| (PARAM_SET_P): Remove. |
| (finish_params, default_param_value, init_param_values): New. |
| * common.opt (param_values): New Variable. |
| * config/arm/arm.c (arm_option_override): Pass extra arguments to |
| maybe_set_param_value. |
| * config/i386/i386.c (ix86_option_override_internal): Pass extra |
| arguments to maybe_set_param_value. |
| * config/picochip/picochip.c (picochip_option_override): Pass |
| extra arguments to maybe_set_param_value. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass |
| extra arguments to maybe_set_param_value. |
| * config/s390/s390.c (s390_option_override): Use |
| maybe_set_param_value instead of set_param_value. Pass extra |
| arguments to maybe_set_param_value. |
| * config/sparc/sparc.c (sparc_option_override): Pass extra |
| arguments to maybe_set_param_value. |
| * config/spu/spu.c (spu_option_override): Pass extra arguments to |
| maybe_set_param_value. |
| * opts.c (handle_param): Take opts and opts_set parameters. |
| Update call to set_param_value. |
| (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive, |
| initial_loop_invariant_max_bbs_in_loop): Remove. |
| (init_options_once): Don't set them. |
| (init_options_struct): Initialize parameters structures. |
| (default_options_optimization): Use default_param_value when |
| restoring defaults. Update calls to maybe_set_param_value. |
| (finish_options): Update calls to maybe_set_param_value. |
| (common_handle_option): Update calls to handle_param and |
| set_param_value. |
| * toplev.c (DEFPARAM): Update definition for changes to param_info. |
| (general_init): Call finish_params. |
| |
| 2010-10-14 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define. |
| (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define. |
| (FIRST_PSEUDO_REGISTER): Increase by one. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG. |
| (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok. |
| (MODES_TIEABLE): Call mn10300_modes_tieable. |
| (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS. |
| (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p. |
| (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC) |
| (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete. |
| (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register. |
| (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete. |
| (mn10300_cc_status_mdep): Delete. |
| (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete. |
| * config/mn10300/mn10300 (mn10300_option_override): Stop disabling |
| the combine-stack-adjust pass. |
| (print_operand): Use the mode of the comparison operation to |
| select the comparison suffix. |
| (notice_update_cc): Delete. |
| (mn10300_secondary_reload_class): Remove test for stack pointer |
| based arithmetic. |
| (output_tst): Rename to mn10300_output_cmp. |
| (impossible_plus_operand): Move into predicates.md. |
| (mn10300_legitimize_address): Make static. |
| (mn10300_legitimate_address_p): Make static. Only allow SI sized |
| constant pic operands. |
| (mn10300_legitimate_constant_p): New function. |
| (mn10300_case_values_threshold): Make static. |
| (mn10300_hard_regno_mode_ok): New function. |
| (mn10300_modes_tieable): New function. |
| (mn10300_select_cc_mode): New function. |
| * config/mn10300/predicates.md (impossible_plus_operand): Define. |
| * config/mn10300/mn10300-protos.h: Tidy. |
| (mn10300_legitimate_constant_p, mn10300_modes_tieable) |
| (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype. |
| * config/mn10300/mn10300.md (cc attribute): Delete. Replace |
| with clobbers or sets of CC_REG. |
| (CC_REG): Define. |
| (mov*): Remove use of CLR instruction. |
| (cbranch_si4_<code>): New pattern/split. |
| (integer_conditional_branch): New pattern. |
| (cbranch_sf4_<code>): New pattern/split. |
| (float_conditional_branch): New pattern. |
| (casesi): Use addsi3 pattern instead of movsi pattern to add and |
| move a value at the same time. |
| (cc0 peepholes): Remove. |
| |
| 2010-10-14 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE |
| on RTX_FRAME_RELATED_P insns and the insn to which |
| NOTE_INSN_EPILOGUE_BEG is attached. |
| * sched-vis.c (print_value): Allow NULL value. |
| |
| 2010-10-14 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/45570 |
| * sel-sched-ir.c (cfg_preds_1): When walking out of the region, |
| assert that we are pipelining outer loops. Allow returning |
| zero predecessors. |
| |
| 2010-10-14 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment. |
| (tidy_control_flow): Tidy vertical space. |
| (sel_remove_bb): New variable idx. Use it to remember the basic |
| block index before deleting the block. |
| (sel_remove_empty_bb): Remove dead code, simplify and insert to ... |
| (sel_merge_blocks): ... here. |
| * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype. |
| |
| 2010-10-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * cse.c (is_dead_reg): Change into inline function that is not |
| called through for_each_rtx. |
| (set_live_p): Adjust caller. |
| (insn_live_p): Don't reset DEBUG_INSNs here. |
| (struct dead_debug_insn_data): New data. |
| (count_stores, is_dead_debug_insn, replace_dead_reg): New functions. |
| (delete_trivially_dead_insns): If there is just one setter for the |
| dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR |
| and add DEBUG_INSN for it right before the removed setter and |
| use the DEBUG_EXPR instead of the dead pseudo. |
| |
| 2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz> |
| |
| * et-forest.c (et_nca): Return NULL immediately when |
| the dominance forest has disjoint components. |
| |
| 2010-10-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira.c (setup_class_hard_regs): Fix typo in indexing |
| ira_non_ordered_class_hard_regs and ira_class_hard_reg_index. |
| |
| 2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com> |
| |
| * graph.c (inbb): New variable. |
| (start_bb): Set inbb to 1 if output is inside of a building block. |
| (end_bb): Check if output is inside of a building block. |
| |
| 2010-10-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/45912 |
| * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the |
| regno of registers instead of their index to compute the alignment. |
| |
| 2010-10-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_build_const_vector): Check vector |
| mode instead of scalar mode. |
| (ix86_build_signbit_mask): Likewise. |
| (ix86_expand_fp_absneg_operator): Updated. |
| (ix86_expand_copysign): Likewise. |
| (ix86_expand_int_vcond): Likewise. |
| (ix86_emit_swdivsf): Likewise. |
| (ix86_sse_copysign_to_positive): Likewise. |
| (ix86_expand_sse_fabs): Likewise. |
| * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise. |
| * config/i386/sse.md (copysign<mode>3): Likewise. |
| (sse2_cvtudq2ps): Likewise. |
| (vec_unpacku_float_hi_v4si): Likewise. |
| (vec_unpacku_float_lo_v4si): Likewise. |
| |
| * config/i386/i386.c (ix86_builtins): Add |
| IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256. |
| (bdesc_args): Likewise. |
| (ix86_builtin_vectorized_function): Support |
| IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256, |
| IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256, |
| and IX86_BUILTIN_CVTPS2DQ256. |
| (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256. |
| |
| * config/i386/sse.md (STORENT_MODE): New. |
| (VEC_FLOAT_MODE): Likewise. |
| (VEC_EXTRACT_MODE): Likewise. |
| (*avx_cvtdq2pd256_2): Likewise. |
| (vec_pack_trunc_v4df): Likewise. |
| (vec_interleave_highv8sf): Likewise. |
| (vec_interleave_lowv8sf): Likewise. |
| (storent<mode>): Macroized. |
| (<code><mode>2: absneg): Likewise. |
| (copysign<mode>3): Likewise. |
| (vec_extract<mode>): Likewise. |
| |
| PR target/44180 |
| * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten |
| for V8SFmode. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (reduc_splus_v8sf): Add. |
| (reduc_splus_v4df): Likewise. |
| (vec_unpacks_hi_v8sf): Likewise. |
| (vec_unpacks_lo_v8sf): Likewise. |
| (*avx_cvtps2pd256_2): Likewise. |
| (vec_unpacks_float_hi_v8si): Likewise. |
| (vec_unpacks_float_lo_v8si): Likewise. |
| (vec_interleave_highv4df): Likewise. |
| (vec_interleave_lowv4df): Likewise. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR objc/45878 |
| * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs |
| alone if there are no virtual methods. |
| |
| 2010-10-13 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (build_personality_function): Take parameter LANG instead |
| of parameter NAME. Build the name based on the lang prefix and the |
| unwind method in use. |
| * tree.c (lhd_gcc_personality): Update call to |
| build_personality_function. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR objc/45878 |
| * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref. |
| |
| 2010-10-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns. |
| Canonicalize input operands of ASM_OPERANDS insns. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45788 |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay |
| EH update until fixup-cfg. |
| |
| 2010-10-13 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer |
| from CORE_REGS and GENERAL_REGS classes. |
| * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of |
| final constraint for register preferencing. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45970 |
| * tree-ssa-alias.h (stmt_kills_ref_p): Declare. |
| * tree-ssa-alias.c (stmt_kills_ref_p_1): New function. |
| (stmt_kills_ref_p): Likewise. |
| * tree-ssa-dse.c (dse_optimize_stmt): Use it. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45982 |
| * tree-ssa-structalias.c (make_constraints_to): New function. |
| (make_constraint_to): Implement in terms of make_constraints_to. |
| (find_func_aliases): Properly make return values of pure/const |
| functions escape if they assign to sth that is not a pointer. |
| |
| 2010-10-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45874 |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): |
| Fixup the CFG when EH was fixed up. |
| |
| 2010-10-13 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vect-slp.c (vect_get_constant_vectors): Fix comment. |
| Use operand's type for POINTER_PLUS_EXPR. |
| |
| 2010-10-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-parser.c (c_parser_for_statement): Initialize incr. |
| |
| 2010-10-12 Xinliang David Li <davidxl@google.com> |
| |
| PR tree-optimization/45972 |
| * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis |
| with too many arguments. |
| |
| 2010-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/45636 |
| * tree-ssa-forwprop.c: Include expr.h. |
| (constant_pointer_difference, simplify_builtin_call): New functions. |
| (tree_ssa_forward_propagate_single_use_vars): Call |
| simplify_builtin_call on builtin calls. |
| |
| 2010-10-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.md (*adddi3_insn_sp32): Rename. |
| (*adddi3_extend_sp32): Likewise. |
| (*subdi3_insn_sp32): Likewise. |
| (*subdi3_extend_sp32): Likewise. |
| (*negdi2_sp32): Use negative test for consistency. |
| |
| 2010-10-12 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE. |
| (LIBGCC2_DOUBLE_TYPE_SIZE): Delete. |
| * config/fixed-bit.h: Likewise. |
| * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete. |
| * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete. |
| * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison. |
| * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE. |
| (DF_SIZE): Likewise. |
| * doc/tm.texi: Regenerate. |
| |
| 2010-10-12 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/predicates.md (scc_rev_comparison_operator): New. |
| * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New. |
| (*isel_reversed_unsigned_<mode>): New. |
| * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE |
| as valid comparisons and adjust operands and output appropriately. |
| (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code. |
| |
| 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from |
| DATA_ALIGNMENT and add COND parameter. Update comments above. |
| (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size. |
| (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack. |
| |
| 2010-10-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/45958 |
| * exec-tool.in: Support '-plugin' as the second option to the linker. |
| |
| 2010-10-12 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/45962 |
| * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte. |
| (expand_stack_vars): Assert large base allocated when used. |
| |
| 2010-10-12 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (get_constraint_for_1): Constants |
| only point to nonlocal, not anything. |
| |
| 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj |
| unwind info for exceptions. |
| |
| 2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR testsuite/45851 |
| * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options): |
| Document optional target selector. |
| |
| 2010-10-12 Joseph Myers <joseph@codesourcery.com> |
| |
| * flag-types.h: New. |
| * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H). |
| (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of |
| options.h. |
| (OPTIONS_H): Define. |
| (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead |
| of options.h. |
| * configure.ac (tm_include_list): Include options.h not flags.h. |
| * configure: Regenerate. |
| * flags.h: Include flag-types.h. Include options.h at top of file |
| again. |
| (enum debug_info_type, enum debug_info_level, enum |
| debug_info_usage, enum symbol_visibility, struct visibility_flags, |
| enum ira_algorithm, enum ira_region, enum excess_precision, enum |
| graph_dump_types, enum stack_check_type, |
| enum warn_strict_overflow_code): Move to flag-types.h |
| * opth-gen.awk: Include flag-types.h in options.h. |
| |
| 2010-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (store_expr): Share code for STRING_CST and |
| MEM_REF of &STRING_CST cases. Don't require BLKmode, instead |
| check if target is a MEM. |
| |
| * rtl.h: Include hashtab.h. |
| (iterative_hash_rtx): New prototype. |
| * rtl.c (iterative_hash_rtx): New function. |
| * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields. |
| (output_loc_list): Return immediately if emitted is set, set it. |
| (hash_loc_operands, hash_locs, hash_loc_list, |
| compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq, |
| optimize_location_lists_1, optimize_location_lists): New function. |
| (dwarf2out_finish): Call optimize_location_lists. |
| * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H). |
| |
| 2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR testsuite/45974 |
| Revert: |
| * Makefile.in ($(lang_checks_parallel)) |
| ($(lang_checks_parallelized)): Use single quotes for |
| $(RUNTESTFLAGS), to allow passing quoted content. |
| |
| 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return |
| actual_oldval. Use __builtin_expect. |
| (SUBWORD_VAL_CAS): Likewise. |
| |
| 2010-10-11 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * recog.c (nonmemory_operand): Call immediate_operand for |
| CONSTANT_P operands. |
| |
| 2010-10-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (movmem<mode>): Macroize expander from |
| movmem{si,di} using SWI48 mode iterator. |
| (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and |
| *strmovsi_rex_1 using P mode iterator. |
| (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1. |
| (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1. |
| (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64. |
| (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64. |
| (setmem<mode>): Macroize expander from setmem{si,di} using |
| SWI48 mode iterator. |
| (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and |
| *strsetsi_rex_1 using P mode iterator. |
| (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1. |
| (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1. |
| (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64. |
| (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64. |
| (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1. |
| (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1. |
| (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x |
| mode iterator. |
| (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and |
| *strlenqi_rex_1 using P mode iterator. |
| |
| 2010-10-11 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR bootstrap/45445 |
| * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New |
| static functions. |
| (mark_ref_live, mark_ref_dead): Use them. |
| (make_pseudo_conflict): New arg ORIG_DREG. All callers changed. |
| Save the original reg, and use the new functions. |
| (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers |
| changed. |
| (check_and_make_def_conflict): Save the original reg. |
| |
| 2010-10-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/45699 |
| * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among |
| thunks. |
| |
| 2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * Makefile.in ($(lang_checks_parallel)) |
| ($(lang_checks_parallelized)): Use single quotes for |
| $(RUNTESTFLAGS), to allow passing quoted content. |
| |
| PR bootstrap/35855 |
| * opt-functions.awk (BEGIN): New section. |
| (lower, upper, digit, alnum): New variables. |
| (static_var, opt_sanitized_name): Use alnum instead of character |
| classes, for non-C locale. |
| * optc-gen.awk: Likewise. |
| * opth-gen.awk: Likewise. |
| |
| 2010-10-11 Anatoly Sokolov <aesok@post.ru> |
| |
| * target.def (preferred_reload_class): New hook. |
| * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_preferred_reload_class): New function. |
| * targhooks.h (default_preferred_reload_class): Declare. |
| * reload.c (find_dummy_reload): Change preferred_class variable type |
| from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS |
| target hook. |
| (find_reloads): Change goal_alternative array type from int to |
| reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook. |
| (push_reload, find_reloads_address_part): Use |
| TARGET_PREFERRED_RELOAD_CLASS target hook. |
| * reload1.c (emit_input_reload_insns): Ditto. |
| * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target |
| hook. Change rclass argument and secondary_class variable types from |
| 'enum reg_class' to reg_class_t. |
| |
| * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove. |
| * config/i386/i386-protos (ix86_preferred_reload_class): Remove. |
| * config/i386/i386.c (ix86_preferred_reload_class): Make static. |
| Change regclass argument and result types from enum reg_class to |
| reg_class_t. |
| (TARGET_PREFERRED_RELOAD_CLASS): Define. |
| |
| 2010-10-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics |
| in masking operations. |
| (simplify_const_unary_operation): Likewise. |
| (simplify_binary_operation_1): Likewise. |
| (simplify_const_binary_operation): Likewise. |
| (simplify_const_relational_operation): Likewise. |
| (simplify_ternary_operation): Likewise. |
| (simplify_immed_subreg): Likewise. |
| |
| 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/45862 |
| * doc/tm.texi.in (SUPPORTS_WEAK): Update. |
| (TARGET_SUPPORTS_WEAK): New. |
| * doc/tm.texi: Regenerate. |
| * defaults.h (SUPPORTS_WEAK): Update comment. |
| (TARGET_SUPPORTS_WEAK): New. |
| * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define. |
| * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of |
| SUPPORTS_WEAK. |
| (merge_weak, declare_weak, do_assemble_alias, supports_one_only, |
| make_decl_one_only): Likewise. |
| * config/pa/som.h (SUPPORTS_WEAK): Rename defines to |
| TARGET_SUPPORTS_WEAK. |
| (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK |
| instead of SUPPORTS_WEAK. |
| |
| 2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h. |
| |
| 2010-10-11 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * vec.h (VEC_qsort): Define. |
| * dbxout.c (output_used_types): Use it. |
| * df-scan.c (df_sort_and_compress_refs): Likewise. |
| (df_sort_and_compress_mws): Likewise. |
| * genautomata.c (uniq_sort_alt_states): Likewise. |
| (evaluate_equiv_classes): Likewise. |
| (output_trans_table): Likewise. |
| (output_state): Likewise. |
| * gimplify.c (compare_case_labels): Likewise. |
| * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise. |
| * ipa.c (build_cdtor_fns): Likewise. |
| * lto.c (lto_wpa_write_files): Likewise. |
| * sel-sched.c (fill_vec_av_set): Likewise. |
| * tree-predcom.c (determine_roots_comp): Likewise. |
| * tree-sra.c (sort_and_spliace_var_accesses): Likewise. |
| (splice_param_accesses): Likewise. |
| * tree-ssa-live.c (dump_enumerated_decls): Likewise. |
| * tree-ssa-reassoc.c (undistribute_ops_list): Likewise. |
| (reassociate_bb): Likewise. |
| * tree-ssa-sccvn.c (sort_scc): Likewise. |
| * tree-ssa-structalias.c (sort_fieldstack): Likewise. |
| |
| 2010-10-11 Ian Lance Taylor <iant@google.com> |
| |
| * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check |
| TREE_THIS_NOTRAP when appropriate. |
| (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL. |
| * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to |
| newly created MEM_REF. |
| |
| 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| Nathan Froyds patch to hooks FUNCTION_ARG etc. |
| * config/picochip/picochip-protos.h (picochip_function_arg): Delete. |
| (picochip_incoming_function_arg): Delete. |
| (picochip_arg_advance): Delete. |
| * config/picochip/picochip.h (FUNCTION_ARG): Delete. |
| (FUNCTION_INCOMING_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Delete. |
| * config/picochip/picochip.c (picochip_function_arg): Take a |
| const_tree and a bool. |
| (picochip_incoming_function_arg): Likewise. |
| (picochip_arg_advance): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. |
| (TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/45955 |
| * ipa.c (build_cdtor): Delete endless loop. |
| |
| 2010-10-07 Andi Kleen <ak@linux.intel.com> |
| |
| * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add |
| checksum-options. |
| (checksum-options): Add. |
| (cc1-dummy): Remove. |
| (cc1-checksum): Change to run checksum over object files |
| and options only. |
| * dummy-checksum.c: Remove. |
| * genchecksum.c: Update copyright. |
| (usage): Allow multiple arguments. |
| (BLOCKSIZE): Add. |
| (dosum): Change for incremental checksum. Remove C output. |
| (main): Iterate over all argument files. Add C output. |
| |
| 2010-10-11 Joseph Myers <joseph@codesourcery.com> |
| |
| * params.c (set_param_value_internal): New. |
| (set_param_value): Use set_param_value_internal. |
| (maybe_set_param_value, set_default_param_value): New. |
| * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues. |
| (maybe_set_param_value, set_default_param_value): Declare. |
| * config/arm/arm.c (arm_option_override): Use maybe_set_param_value. |
| * config/i386/i386.c (ix86_option_override_internal): Use |
| maybe_set_param_value. |
| * config/ia64/ia64.c (ia64_option_default_params, |
| TARGET_OPTION_DEFAULT_PARAMS): New. |
| (ia64_option_optimization): Move some code to |
| ia64_option_default_params. |
| * config/picochip/picochip.c (picochip_option_override): Use |
| maybe_set_param_value. |
| * config/rs6000/rs6000.c (rs6000_option_default_params, |
| TARGET_OPTION_DEFAULT_PARAMS): New. |
| (rs6000_option_override_internal): Use maybe_set_param_value. |
| (rs6000_option_optimization): Move some code to |
| rs6000_option_default_params. |
| * config/s390/s390.c (s390_option_override): Use maybe_set_param_value. |
| * config/sh/sh.c (sh_option_default_params, |
| TARGET_OPTION_DEFAULT_PARAMS): New. |
| (sh_option_optimization): Move some code to sh_option_default_params. |
| * config/sparc/sparc.c (sparc_option_override): Use |
| maybe_set_param_value. |
| * config/spu/spu.c (spu_option_default_params, |
| TARGET_OPTION_DEFAULT_PARAMS): New. |
| (spu_option_optimization): Move some code to spu_option_default_params. |
| (spu_option_override): Use maybe_set_param_value. |
| * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook. |
| * doc/tm.texi: Regenerate. |
| * ggc-common.c (init_ggc_heuristics): Use set_default_param_value. |
| * opts.c (init_options_once): Use PARAM_VALUE not direct access to |
| compiler_params. |
| (default_options_optimization): Use maybe_set_param_value. |
| (finish_options): Use maybe_set_param_value. |
| * target.def (target_option.default_params): New hook. |
| * toplev.c (general_init): Call targetm.target_option.default_params. |
| |
| 2010-10-11 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/45902 |
| * tree-vect-slp.c (vect_get_constant_vectors): Use statement's |
| vector type for constants, unless it's a pointer. |
| |
| 2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg. |
| |
| 2010-10-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45870 |
| * config/i386/i386.c (ix86_delegitimize_tls_address): New function. |
| (ix86_delegitimize_address): Use it. |
| |
| 2010-10-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling. |
| |
| 2010-10-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer |
| to cum struct in the call to function_arg_advance. |
| (alpha_function_arg_advance): Mark named as unused. |
| |
| 2010-10-10 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_handle_option): Make "value" with |
| ATTRIBUTE_UNUSED. |
| |
| 2010-10-09 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/33721 |
| * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm, |
| remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor |
| required_align, tidy the code a bit. Emit split_stack code in the |
| right place. Mark the return value with the alignment properly. |
| * expr.h (allocate_dynamic_stack_space): Update decl. |
| * builtins.c (expand_builtin_apply): Update call to |
| allocate_dynamic_stack_space. |
| (expand_builtin_alloca): Likewise. Remove TARGET parameter. |
| * calls.c (initialize_argument_information): Update call to |
| allocate_dynamic_stack_space. |
| (expand_call): Likewise. |
| |
| * cfgexpand.c (get_decl_align_unit): Don't limit alignment. |
| Don't update_stack_alignment here. |
| (alloc_stack_frame_space): Make ALIGN unsigned. |
| (stack_var_cmp): Sort by alignment too. |
| (partition_stack_vars): Don't merge large and small alignment vars. |
| (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters. |
| Take care when BASE is not virtual_stack_vars_rtx. |
| (expand_stack_vars): Allocate dynamic stack space for large |
| alignment variables. |
| (expand_one_stack_var): Update all to expand_one_stack_var_at. |
| (defer_stack_allocation): True for large alignment vars. |
| (update_stack_alignment): Merge into ... |
| (expand_one_var): ... here. |
| (gimple_expand_cfg): Place code from expand_stack_vars. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/pdp11/pdp11.c (pdp11_function_arg): New function. |
| (pdp11_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE. |
| * libgcc2.c: Likewise. |
| |
| 2010-10-09 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45956 |
| * lto-streamer-in.c (lto_register_var_decl_in_symtab): |
| Properly check if a decl is an automatic var. |
| |
| 2010-10-09 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45947 |
| * tree.c (free_lang_data_in_cgraph): Properly walk the varpool. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mmix/mmix-protos.h (mmix_function_arg): Delete. |
| * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/mmix/mmix.c (mmix_function_arg): Rename to... |
| (mmix_function_arg_1): ...this. Make static. Take a const_tree and |
| bool arguments. |
| (mmix_function_arg): New function. |
| (mmix_function_incoming_arg): New function. |
| (mmix_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define. |
| (TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/vax/vax.c (vax_function_arg): New function. |
| (vax_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/pa/pa-protos.h (function_arg): Delete. |
| * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/pa/pa.c (function_arg): Rename to... |
| (pa_function_arg): ...this. Make static. Take a const_tree and |
| a bool. |
| (pa_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/m68k/m68k.c (m68k_function_arg): New function. |
| (m68k_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/avr/avr-protos.h (function_arg): Delete. |
| (function_arg_advance): Delete. |
| * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/avr/avr.c (function_arg): Rename to... |
| (avr_function_arg): ...this. Make static. Take a const_tree and |
| a bool. |
| (function_arg_advance): Rename to... |
| (avr_function_arg_advance): ...this. Make static. Take a |
| const_tree and a bool. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/alpha/alpha-protos.h (function_arg): Delete. |
| * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete. |
| * config/alpha/alpha.c (function_arg): Rename to... |
| (alpha_function_arg): ...this. Make static. Take a const_tree and |
| a bool. Delete TARGET_ABI_UNICOSMK code. |
| (alpha_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mep/mep-protos.h (mep_function_arg): Delete. |
| (mep_function_arg_advance): Delete. |
| * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/mep/mep.c (mep_function_arg): Make static. Take a |
| const_tree and a bool. |
| (mep_function_arg_advance): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45945 |
| * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning. |
| |
| 2010-10-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/45612 |
| * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. |
| Test LABEL_DECLs as well. Fix formatting issues. |
| (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement |
| whose label is present in NON_SSA_VARS. |
| (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs |
| as well. Fix formatting issues. |
| (visit_bb): Fix typos and formatting issue. |
| |
| 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR tree-optimization/45950 |
| * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length |
| before initializing vno->op. |
| |
| 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (bfin*-rtems*): Add newlib-stdint.h. |
| * config.gcc (lm32*-rtems*): Add newlib-stdint.h. |
| |
| 2010-10-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/45913 |
| * config/i386/i386.c (ix86_binary_operator_ok): Support |
| "andhi/andsi/anddi" as a zero-extending move. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.c (fold_call_stmt): Don't copy gimple call arguments |
| into a temporary array. |
| |
| 2010-10-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/45903 |
| * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG |
| of {A,L}SHIFTRT of MEM. |
| |
| 2010-10-08 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers): |
| Re-construct BLOCK_VARS. |
| (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS. |
| * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise. |
| * tree.c (free_lang_data_in_block): Remove. |
| (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs. |
| Do not touch the BLOCK tree. |
| * expr.c (expand_expr_real_1): Allow externals. |
| |
| 2010-10-08 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-out.c (lto_output_ts_block_tree_pointers): |
| Do not output BLOCK_SUBBLOCKS. |
| * lto-streamer-in.c (lto_input_ts_block_tree_pointers): |
| Reserve exact space needed for BLOCK_NONLOCALIZED_VARS. |
| Re-construct BLOCK_SUBBLOCKS of parent block. |
| (lto_input_ts_binfo_tree_pointers): Reserve exact space needed |
| for BINFO_BASE_ACCESSES. |
| |
| 2010-10-08 Joseph Myers <joseph@codesourcery.com> |
| |
| * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h. |
| (TREE_H): Include $(FLAGS_H) instead of options.h. |
| (opts-common.o): Depend on $(FLAGS_H) instead of options.h. |
| * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. |
| * common.opt (flag_complex_method, flag_evaluation_order, |
| flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New |
| Variable declarations. |
| * configure.ac (tm_include_list): Include flags.h instead of options.h. |
| * configure: Regenerate. |
| * flags.h: Condition out contents for target libraries. Include |
| options.h at end of file. |
| (flag_complex_method, flag_ira_algorithm, flag_ira_region, |
| flag_evaluation_order, flag_warn_unused_result): Remove. |
| * gcc.c (main): Intialize global_options with global_options_init. |
| * langhooks-def.h (lhd_init_options_struct): Declare. |
| (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. |
| (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT. |
| * langhooks.c (lhd_init_options_struct): New. |
| * langhooks.h (struct lang_hooks): Add init_options_struct. |
| Update comment on init_options. |
| * optc-gen.awk: Generate initializer for global_options_init, not |
| global_options. |
| * opth-gen.awk: Condition out structure declarations for target |
| libraries. Declare global_options_init. |
| * opts-common.c: Include flags.h instead of options.h. |
| * opts.c (flag_warn_unused_result): Remove. |
| (read_cmdline_options): Take gcc_options parameters. Pass them to |
| read_cmdline_option. |
| (initial_lang_mask, initial_min_crossjump_insns, |
| initial_max_fields_for_field_sensitive, |
| initial_loop_invariant_max_bbs_in_loop): Define at file scope. |
| (init_options_once): New. Split out of decode_options. |
| (init_options_struct): New. Split out of decode_options. |
| (decode_cmdline_options_to_array_default_mask): New. |
| (default_options_optimization): New. Split out of decode_options. |
| (decode_options): Move most code to other functions. Update call |
| to read_cmdline_options. |
| (finish_options): New. Split out of decode_options. |
| * opts.h (decode_options): Add gcc_options parameters. |
| (init_options_once, init_options_struct, |
| decode_cmdline_options_to_array_default_mask): New. |
| * toplev.c (flag_complex_method, flag_ira_algorithm, |
| flag_ira_region, flag_evaluation_order): Remove. |
| (general_init): Use global_options_init for initial flag values |
| for global_dc. |
| (toplev_main): Call init_options_once, init_options_struct, |
| lang_hooks.init_options_struct, |
| decode_cmdline_options_to_array_default_mask and |
| lang_hooks.init_option before decode_options. Update arguments to |
| decode_options. |
| * tree.h: Include flags.h instead of options.h. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/sparc/sparc-protos.h (function_arg_advance, function-arg): |
| Delete. |
| * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete. |
| (FUNCTION_INCOMING_ARG): Delete. |
| * config/sparc/sparc.c (scan_record_type): Const-ify tree argument. |
| (function_arg_slotno): Likewise. Take bool arguments. |
| (sparc_arg_partial_bytes): Update call to it. |
| (function_arg): Rename to... |
| (sparc_function_arg_1): ...this. Take bool arguments. |
| (sparc_function_arg, sparc_function_incoming_arg): New functions. |
| (function_arg_advance): Rename to... |
| (sparc_function_arg_advance): ...this. Take bool argument. |
| (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define. |
| (TARGET_FUNCTION_INCOMING_ARG): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/bfin/bfin-protos.h (function_arg, function_arg_advance): |
| Delete. |
| * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/bfin/bfin.c (function_arg_advance): Rename to... |
| (bfin_function_arg_advance): ...this. Make static. Take const_tree |
| and bool arguments. |
| (function_arg): Rename to... |
| (bfin_function_arg): ...this. Make static. Take const_tree and bool |
| arguments. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/score/score-protos.h (score_function_arg): Delete. |
| (score_function_arg_advance): Delete. |
| * config/score/score3.h (score3_function_arg_advance): Take a |
| const_tree and a bool. |
| (score3_function_arg): Likewise. |
| * config/score/score7.h (score7_function_arg_advance): Likewise. |
| (score7_function_arg): Likewise. |
| * config/score/score3.c (score3_classify_arg): Likewise. |
| (score3_function_arg_advance, score3_function_arg): Likewise. |
| * config/score/score7.c (score7_classify_arg): Likewise. |
| (score7_function_arg_advance, score7_function_arg): Likewise. |
| * config/score/score.c (score_function_arg_advance): Likewise. |
| (score_function_arg): Likewise. De-const-ify `cum' argument. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/s390/s390-protos.h (s390_function_arg_advance): Delete. |
| (s390_function_arg): Delete. |
| * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/s390/s390.c (s390_function_arg_float): Take a const_tree. |
| (s390_function_arg_integer): Likewise. |
| (s390_function_arg_advance): Make static. Take a const_tree and |
| a bool. |
| (s390_function_arg): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/spu/spu-protos.h (spu_function_arg): Delete. |
| * config/spu/spu.h (FUNCTION_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Move code to ... |
| * config/spu/spu.c (spu_function_arg_advance): New function. |
| (spu_function_arg): Make static. Take a const_tree and a bool. |
| (spu_setup_incoming_varargs): Call spu_function_arg_advance. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function. |
| (init_vn_nary_op_from_op): New function. |
| (init_vn_nary_op_from_stmt): New function. |
| (vn_nary_op_lookup_1): New function. |
| (sizeof_vn_nary_op): New function. |
| (alloc_vn_nary_op_noinit): New function. |
| (alloc_vn_nary_op): New function. |
| (vn_nary_op_insert_into): New function. |
| (vn_nary_op_lookup_pieces): Rewrite to use new helper functions. |
| (vn_nary_op_lookup): Likewise. |
| (vn_nary_op_lookup_stmt): Likewise. |
| (vn_nary_op_insert_pieces): Likewise. |
| (vn_nary_op_insert): Likewise. |
| (vn_nary_op_insert_stmt): Likewise. |
| (copy_nary): Likewise. |
| (set_value_id_for_result): New function. |
| (set_hashtable_value_ids): Call it. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| * config/fr30/fr30.md (leave_func): Rewrite without post_inc. |
| |
| 2010-10-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define. |
| * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| |
| 2010-10-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/45656 |
| * cse.c (cse_extended_basic_block): Preserve cc0 info across |
| debug isnsn. Skip them when searching for cc0 setter. |
| (set_live_p): Skip debug insns when searching for cc0 user. |
| |
| 2010-10-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/45673 |
| PR debug/45604 |
| PR debug/45419 |
| PR debug/45408 |
| * tree-pretty-print.c (dump_generic_node): Explicitly dump the |
| type of MEM_REFs to INTEGER_CSTs. |
| |
| 2010-10-07 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call |
| m68hc11_print_operand_address. |
| |
| 2010-10-07 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.c (rewrite_call_expr): Move code to... |
| (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array. |
| (rewrite_call_expr_array): New function. |
| (fold_builtin_sprintf_chk_1): New function. |
| (fold_builtin_sprintf_chk): Call it. |
| (gimple_fold_builtin_sprintf_chk): Likewise. |
| (fold_builtin_snprintf_chk_1): New function. |
| (fold_builtin_snprintf_chk): Call it. |
| (gimple_fold_builtin_snprintf_chk): Likewise. |
| (gimple_rewrite_call_expr): Delete. |
| |
| 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config.host: Update copyright year. |
| |
| 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config.host (host_lto_plugin_soname): New shell variable. |
| * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of |
| LTO plugin shared library. |
| |
| 2010-10-07 Richard Henderson <rth@redhat.com> |
| |
| * target.h (enum unwind_info_type): Move ... |
| * coretypes.h: ... here. |
| |
| 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/objc.texi (Fast enumeration protocol): Mention that |
| 'unsigned int' can also be used instead of 'unsigned long' in |
| countByEnumeratingWithState:objects:count:. |
| |
| 2010-10-07 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (struct access): New field grp_assignment_write. |
| (dump_access): Dump grp_assignment_write. |
| (build_accesses_from_assign): Set grp_assignment_write. |
| (sort_and_splice_var_accesses): Aggregate grp_assignment_write. |
| (mark_read_status): Renamed to mark_rw_status, individual values |
| renamed too. |
| (analyze_access_subtree): Changed type of mark_write to |
| mark_read_status. Fixed propagating of mark_read and |
| mark_write. Changed benefit estimate. Updated comment. |
| |
| 2010-10-07 Tejas Belagod <tejas.belagod@arm.com> |
| |
| PR Tree-Vect/45847 |
| * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL |
| check for vectype_out returned by get_vectype_for_scalar_type(). |
| |
| 2010-10-07 Tejas Belagod <tejas.belagod@arm.com> |
| |
| PR target/45805 |
| * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to |
| constraint, add register specifier in instruction template. |
| (neon_vec_pack_trunc_<mode>): Likewise. |
| (neon_vec_<US>mult_<mode>): Add register specifier to |
| instruction template. |
| |
| 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add |
| cygwin2.o. |
| (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise. |
| (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o. |
| * config/i386/t-cygwin (cygwin1.o): Delete build rule. |
| (cygwin2.o): Likewise. |
| * config/i386/cygwin1.c: Delete file. |
| * config/i386/cygwin2.c: Likewise. |
| * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and |
| make all {%!mno-cygwin} ones unconditional. |
| (STARTFILE_SPEC): Likewise. |
| (REAL_LIBGCC_SPEC): Likewise. |
| (LIB_SPEC): Likewise. |
| (CXX_WRAP_SPEC): Likewise. |
| (LINK_SPEC): Likewise. |
| (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition. |
| (CYGWIN_MINGW_SUBDIR_LEN): Likewise. |
| (cygwin_gplusplus_include_dir): Delete now-unused array. |
| (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_gplusplus_tool_include_dir): Delete now-unused array. |
| (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_gplusplus_backward_include_dir): Delete now-unused array. |
| (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_local_include_dir): Delete now-unused array. |
| (LOCAL_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_cross_include_dir): Delete now-unused array. |
| (CROSS_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_tool_include_dir): Delete now-unused array. |
| (TOOL_INCLUDE_DIR): Don't redefine to point to it. |
| (cygwin_standard_include_dir): Delete now-unused array. |
| (STANDARD_INCLUDE_DIR): Don't redefine to point to it. |
| (GEN_CVT_ARRAY): Delete now-unused macro definition. |
| (cvt_to_mingw): Delete now-unused array. |
| (mingw_scan): Remove prototype of deleted function. |
| (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro. |
| * config/i386/cygming.opt (mcygwin): Delete target-specific option. |
| * doc/invoke.texi (-mcygwin): Don't document removed option. |
| (-mno-cygwin): Likewise. |
| |
| 2010-10-07 Richard Guenther <rguenther@suse.de> |
| |
| * machmode.h (mode_for_vector): Declare. |
| * stor-layout.c (mode_for_vector): New function, split out from ... |
| (layout_type): ... here. |
| * tree-vectorizer.h (current_vector_size): Declare. |
| * tree-vect-stmts.c (perm_mask_for_reverse): Check if the |
| mask vector type is available. |
| (get_vectype_for_scalar_type): Rename to ... |
| (get_vectype_for_scalar_type_and_size): ... this. Get a vector |
| size argument. |
| (get_vectype_for_scalar_type): New wrapper around |
| get_vectype_for_scalar_type_and_size using current_vector_size. |
| (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size. |
| * tree-vect-loop.c (vect_analyze_loop_2): Split out core part |
| of vect_analyze_loop here. |
| (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3. |
| * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size |
| to autodetect. |
| * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix |
| V8SF to V8SI conversion builtin. |
| |
| 2010-10-07 Richard Guenther <rguenther@suse.de> |
| |
| * target.def (autovectorize_vector_sizes): New target hook. |
| * targhooks.c (default_autovectorize_vector_sizes): New function. |
| * targhooks.h (default_autovectorize_vector_sizes): Declare. |
| * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): |
| Document. |
| * doc/tm.texi: Update. |
| * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function. |
| (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define. |
| |
| 2010-10-07 Richard Guenther <rguenther@suse.de> |
| |
| * target.def (units_per_simd_word): Rename to ... |
| (preferred_simd_mode): ... this. Return mode instead of size. |
| * targhooks.c (default_units_per_simd_word): Rename to ... |
| (default_preferred_simd_mode): ... this. Return word_mode. |
| * targhooks.h (default_preferred_simd_mode): Declare. |
| * config/arm/arm.c (arm_units_per_simd_word): Rename to ... |
| (arm_preferred_simd_mode): ... this. Re-implement. |
| * config/i386/i386.c (ix86_units_per_simd_word): Rename to ... |
| (ix86_preferred_simd_mode): ... this. Re-implement. |
| * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ... |
| (sparc_preferred_simd_mode): ... this. Re-implement. |
| * config/mips/mips.c (mips_units_per_simd_word): Rename to ... |
| (mips_preferred_simd_mode): ... this. Re-implement. |
| * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ... |
| (rs6000_preferred_simd_mode): ... this. Re-implement. |
| * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust. |
| * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove. |
| (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document. |
| * doc/tm.texi: Update. |
| |
| 2010-10-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45869 |
| * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts |
| of pointers. |
| |
| 2010-10-07 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode |
| rather than sign extension by hand. |
| |
| 2010-10-07 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/45926 |
| * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch. |
| |
| 2010-10-07 Richard Guenther <rguenther@suse.de> |
| |
| PR bootstrap/45914 |
| * configure.ac: Fix typo. |
| * configure: Regenerated. |
| |
| 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use |
| define_builtin_std where it's unnecessary. |
| * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise. |
| |
| 2010-10-06 Anatoly Sokolov <aesok@post.ru> |
| |
| * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation. |
| * doc/tm.texi.in: Regenerate. |
| * system.h (CLASS_LIKELY_SPILLED_P): Poison. |
| * targhooks.c (default_class_likely_spilled_p): Don't use the |
| CLASS_LIKELY_SPILLED_P macro. |
| |
| * config/arm/arm.md: Update comment. |
| |
| 2010-10-06 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (cgraph_remove_unreachable_nodes): External references can |
| always be removed. |
| (cgraph_externally_visible_p): We can not bring local comdats that |
| are known to linker; fix handling of internal visibility. |
| (function_and_variable_visibility): Likewise. |
| |
| 2010-10-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/45394 |
| * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust. |
| (struct rtx_subst_pair): Remove AFTER field. |
| (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec. |
| (propagate_for_debug): Remove MOVE parameter and adjust. |
| (try_combine): In the special case where I2 is a PARALLEL, combine only |
| destinations of SETs and set I2SRC to the I2 source. |
| Adjust calls to propagate_for_debug throughout. |
| * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug |
| insns. |
| |
| 2010-10-06 Olivier Hainque <hainque@adacore.com> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite |
| switch on insn codes as sequence of ifs. |
| |
| 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to |
| be UI_NONE for picochip. |
| (picochip_option_override): Do not disable exception flags. |
| * config/picochip/picochip-protos.h (picochip_except_unwind_info): |
| Declare. |
| |
| 2010-10-06 Richard Guenther <rguenther@suse.de> |
| |
| * Makefile.in (regmove.o): Depend on $(TARGET_H). |
| |
| 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Implemented fast enumeration for Objective-C. |
| * c-parser.c (objc_could_be_foreach_context): New. |
| (c_lex_one_token): Recognize RID_IN keyword in a potential |
| Objective-C foreach context. |
| (c_parser_declaration_or_fndef): Added parameter. Accept |
| Objective-C RID_IN keyword as terminating a declaration; in that |
| case, return the declaration in the new parameter. |
| (c_parser_extenral_declaration): Updated calls to |
| c_parser_declaration_or_fndef. |
| (c_parser_declaration_or_fndef): Same change. |
| (c_parser_compound_statement_nostart): Same change. |
| (c_parser_label): Same change. |
| (c_parser_objc_methodprotolist): Same change. |
| (c_parser_omp_for_loop): Same change. |
| (c_parser_for_statement): Detect and parse Objective-C foreach |
| statements. |
| (c_parser_omp_for_loop): Updated call to check_for_loop_decls(). |
| * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC |
| fast enumeration parsing code to turn off the c99 error but still |
| perform checks on the loop declarations. |
| * c-tree.h (check_for_loop_decls): Updated declaration. |
| * doc/objc.texi: Document fast enumeration. |
| |
| 2010-10-06 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one. |
| (MDR_REGNUM): Define. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register. |
| (REG_CLASS_CONTENTS): Add MDR to ALL_REGS. |
| (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR. |
| (REGISTER_NAMES): Add MDR. |
| (DWARF2_DEBUGGING_INFO): Define to 1. |
| * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define. |
| (F): New function. Sets RTX_FRAME_RELATED_P. |
| (mn10300_gen_multiple_store): Use F. |
| (expand_prologue): Use F. Use gen_movsf() to push floating |
| point registers. |
| (expand_epilogue): Use gen_movsf() to pop floating point registers. |
| (mn10300_option_override): Disable combine stack adjust pass. |
| |
| 2010-10-06 Thomas Schwinge <thomas@schwinge.name> |
| |
| PR target/45901 |
| * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to |
| LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS. |
| |
| 2010-10-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC, |
| BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII, |
| BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT, |
| BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT, |
| BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER, |
| BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER, |
| BUILT_IN_TOUPPER): Mark as leaf. |
| |
| PR middle-end/45838 |
| * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, |
| BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, |
| BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, |
| BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, |
| BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK, |
| BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use |
| Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST. |
| |
| 2010-10-05 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| (m68hc11_class_likely_spilled_p): New function. |
| |
| 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_parser_objc_method_definition): Updated comment. |
| |
| 2010-10-05 Jan Hubicka <jh@suse.cz> |
| |
| * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition): |
| Document. |
| * opts.c (decode_options): Handle lto partitions. |
| * common.opt (flto-partition=1to1, flto-partition=balanced): New. |
| * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New. |
| |
| 2010-10-05 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphunit.c (assemble_function): Output thunks and aliases before |
| the function itself. |
| |
| 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (picochip_option_override): Disable |
| exception flags for picochip. |
| |
| 2010-10-05 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts-common.c (handle_option, handle_generated_option, |
| read_cmdline_option, set_option): Add diagnostic_context |
| parameter. Update calls among these functions. |
| (set_option): Don't use global_dc. |
| * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option. |
| (decode_options): Pass global_dc to enable_warning_as_error. |
| (common_handle_option): Pass global_dc to enable_warning_as_error. |
| (enable_warning_as_error): Add diagnostic_context parameter. |
| Document parameters. Don't use global_dc. Pass |
| diagnostic_context parameter to handle_generated_option. |
| * opts.h (set_option, handle_option, handle_generated_option, |
| read_cmdline_option, enable_warning_as_error): Add |
| diagnostic_context parameter. |
| * Makefile.in (lto-opts.o): Update dependencies. |
| * coretypes.h (struct diagnostic_context, diagnostic_context): |
| Declare here. |
| * diagnostic.h (diagnostic_context): Don't declare typedef here. |
| * gcc.c (process_command): Pass global_dc to read_cmdline_option. |
| * langhooks-def.h (struct diagnostic_context): Don't declare here. |
| (lhd_print_error_function, lhd_initialize_diagnostics): Declare |
| using diagnostic_context typedef. |
| * langhooks.c (lhd_initialize_diagnostics): Declare using |
| diagnostic_context typedef. |
| * langhooks.h (struct diagnostic_context): Don't declare here. |
| (initialize_diagnostics, print_error_function): Declare using |
| diagnostic_context typedef. |
| * lto-opts.c: Include diagnostic.h. |
| (lto_reissue_options): Pass global_dc to set_option. Pass |
| DK_UNSPECIFIED not 0. |
| * plugin.c (plugins_internal_error_function): Declare using |
| diagnostic_context typedef. |
| * plugin.h (struct diagnostic_context): Don't declare here. |
| (plugins_internal_error_function): Declare using |
| diagnostic_context typedef. |
| |
| 2010-10-05 Olivier Hainque <hainque@adacore.com> |
| Nicolas Roche <roche@adacore.com> |
| |
| * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS. |
| * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions. |
| |
| 2010-10-05 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/45752 |
| * tree-vect-slp.c (vect_get_mask_element): Remove static |
| variables, make them function arguments. |
| (vect_transform_slp_perm_load): Pass new arguments to |
| vect_get_mask_element. |
| |
| 2010-10-05 Richard Guenther <rguenther@suse.de> |
| |
| * value-prof.c (gimple_divmod_fixed_value): Work on SSA form. |
| (gimple_mod_pow2): Likewise. |
| (gimple_mod_subtract): Likewise. |
| (gimple_ic): Likewise. |
| (gimple_stringop_fixed_value): Likewise. |
| * tree-profile.c (tree_init_edge_profiler): Mark profile |
| functions nothrow and leaf. |
| (add_abnormal_goto_call_edges): Remove. |
| (tree_gen_edge_profiler): Work on SSA form. |
| (tree_gen_ic_profiler): Likewise. Simplify. |
| (do_tree_profiling): Update SSA form. |
| (pass_tree_profile): Remove. |
| (do_tree_profiling): Likewise. |
| (gate_tree_profile_ipa): New function. |
| (pass_ipa_tree_profile): New. |
| (tree_profiling): Re-write as IPA pass. Properly drop const/pure |
| state of instrumented functions. |
| * passes.c (init_optimization_passes): Remove early non-SSA |
| inlining. Move profiling after early optimizations. |
| * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove. |
| (pass_ipa_early_inline): Likewise. |
| * tree-pass.h (pass_ipa_early_inline): Remove. |
| (pass_tree_profile): Likewise. |
| (pass_ipa_tree_profile): Declare. |
| |
| 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| Christian Borntraeger <Christian.Borntraeger@de.ibm.com> |
| |
| * config/s390/s390.c (z196_cost): New. |
| (s390_handle_arch_option): Add -march=z196. |
| (s390_option_override): Use the new cost function and use the z10 |
| defaults also for z196. |
| (legitimate_reload_constant_p): Adjust comment. |
| (legitimate_reload_fp_constant_p): New function. |
| (s390_preferred_reload_class): Distingiush between FP and Int constants. |
| (preferred_la_operand_p): Avoid la with index on z196. |
| (s390_adjust_priority): Trigger also for z196. |
| (s390_issue_rate): Issue rate for z196 is 3. |
| (s390_z10_fix_long_loop_prediction): Rename to ... |
| (s390_fix_long_loop_prediction): ... this. |
| (s390_reorg): Apply the z10 adjustments also for z196. |
| (s390_loop_unroll_adjust): Do this also for z196. |
| * config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196. |
| (enum processor_flags): Add PF_Z196. |
| (TARGET_AVOID_CMP_AND_BRANCH): New macro. |
| (TARGET_CPU_Z196, TARGET_Z196): New macros. |
| * config.gcc: Enable z196 for --with-arch. |
| * config/s390/2817.md: New file. |
| * config/s390/2084.md: New type for multiply and add. |
| * config/s390/2097.md: Likewise. |
| * config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN) |
| (UNSPECV_ATOMIC_OP): New constants. |
| (fmadddf, fmaddsf): New values for type attribute. |
| (z196prop): New insn attribute. |
| (cpu, cpu_facility): Add z196. |
| (ATOMIC_Z196): New code iterator. |
| (noxa): New code attribute. |
| (gk): New mode attribute. |
| (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>): |
| Support load zero for fp constants. |
| (fixuns_truncdddi2, fixuns_trunctddi2) |
| (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern |
| for z196. |
| (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2) |
| (popcounthi2, popcountqi2): New expander. |
| (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2) |
| (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>) |
| (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New |
| insn definition. |
| (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly) |
| (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc) |
| (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc) |
| (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly) |
| (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly) |
| (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc) |
| (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch |
| (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc) |
| (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch) |
| (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly) |
| (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and) |
| (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3) |
| (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and): |
| Support new z196 instructions. |
| |
| 2010-10-05 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45877 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Handle |
| case where gimplification optimizes away the stmt. |
| |
| 2010-10-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45849 |
| * var-tracking.c (strip_pointer_flags): New function. |
| (emit_note_insn_var_location): If rtx_equal_p check failed, |
| retry on locations simplified with simplify_replace_fn_rtx |
| and strip_pointer_flags as its callback. |
| |
| 2010-10-04 Jan Hubicka <jh@suse.cz> |
| |
| * gimple-fold.c (static_object_in_other_unit_p): Rename to... |
| (can_refer_decl_in_current_unit_p): ... this one; reverse return |
| value; handle comdats too. |
| (canonicalize_constructor_val): Use it; handle function_decls |
| correctly. |
| (gimple_fold_obj_type_ref_known_binfo): Likewise. |
| * gimple.c (get_base_address): Accept all kinds of decls. |
| |
| 2010-10-04 Joseph Myers <joseph@codesourcery.com> |
| |
| * flags.h (g_switch_value, g_switch_set): Remove. |
| * opts.c (g_switch_value, g_switch_set): Remove. |
| * config/g.opt (G): Add Var(g_switch_value). |
| * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here. |
| (alpha_option_override): Check global_options_set.x_g_switch_value |
| instead of g_switch_set. |
| (alpha_in_small_data_p): Remove cast in comparison with |
| g_switch_value. |
| * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast |
| g_switch_value to unsigned HOST_WIDE_INT. |
| * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison |
| with g_switch_value. |
| (frv_handle_option): Don't handle -G here. |
| (frv_option_override): Check global_options_set.x_g_switch_value |
| instead of g_switch_set. Don't modify g_switch_set. |
| (frv_in_small_data_p): Remove cast in comparison with g_switch_value. |
| * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast |
| g_switch_value to unsigned HOST_WIDE_INT. |
| * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here. |
| (ia64_option_override): Check global_options_set.x_g_switch_value |
| instead of g_switch_set. |
| * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): |
| Remove. |
| (lm32_in_small_data_p): Remove cast in comparison with |
| g_switch_value. |
| * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL, |
| ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned |
| HOST_WIDE_INT. |
| * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here. |
| (m32r_init): Check global_options_set.x_g_switch_value instead of |
| g_switch_set. |
| (m32r_in_small_data_p): Remove cast in comparison with |
| g_switch_value. |
| (m32r_file_start): Format g_switch_value with %d. |
| * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON, |
| ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT. |
| * config/microblaze/microblaze.c (microblaze_handle_option): Don't |
| handle -G here. |
| (microblaze_option_override): Check |
| global_options_set.x_g_switch_value instead of g_switch_set. |
| * config/mips/mips.c (mips_handle_option): Don't handle -G here. |
| (mips_option_override): Check global_options_set.x_g_switch_value |
| instead of g_switch_set. |
| * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here. |
| (rs6000_file_start): Format g_switch_value with %d. |
| (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in |
| comparisons with g_switch_value. |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check |
| global_options_set.x_g_switch_value instead of g_switch_set. |
| * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check |
| global_options_set.x_g_switch_value instead of g_switch_set. |
| * config/score/score.c (score_handle_option): Don't handle -G here. |
| * config/score/score3.c (score3_option_override): Check |
| global_options_set.x_g_switch_value instead of g_switch_set. |
| * config/score/score7.c (score7_option_override): Check |
| global_options_set.x_g_switch_value instead of g_switch_set. |
| |
| 2010-10-04 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * common.opt (fira-coalesce): Remove. |
| |
| * doc/invoke.texi (flag_ira_coalesce): Remove. |
| |
| * ira-color.c (allocno_coalesced_p): Move before |
| copy_freq_compare_func. |
| processed_coalesced_allocno_bitmap): Ditto. |
| (update_conflict_hard_regno_costs): Don't use |
| ALLOCNO_FIRST_COALESCED_ALLOCNO. |
| (allocno_cost_compare_func, print_coalesced_allocno): Remove. |
| (assign_hard_reg): Assume no coalesced allocnos. |
| (get_coalesced_allocnos_attributes): Remove. |
| (bucket_allocno_compare_func): Assume no coalesced allocnos. |
| (push_allocno_to_stack): Ditto. |
| (remove_allocno_from_bucket_and_push): Use |
| ira_print_expanded_allocno instead of print_coalesced_allocno. |
| (push_allocnos_to_stack): Assume uncoalesced allocnos. |
| (all_conflicting_hard_regs_coalesced): Ditto. Rename to |
| all_conflicting_hard_regs. |
| (setup_allocno_available_regs_num): Assume uncoalesced allocnos. |
| (setup_allocno_left_conflicts_size): Ditto. |
| (put_allocno_into_bucket): Ditto. |
| (copy_freq_compare_func): Remove. |
| (copy_freq_compare_func, merge_allocnos): Move before |
| coalesced_pseudo_reg_freq_compare. |
| coalesced_allocno_conflict_p): Ditto. |
| (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove |
| parameter. Assume it true. |
| (color_allocnos): Assume uncoalesced allocnos. Use |
| ira_print_expanded_allocno instead of print_coalesced_allocno. |
| (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without |
| parameter. |
| |
| * ira.c: Remove comment about coalescing. |
| |
| 2010-10-04 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mips/mips.h (target_flags_explicit): Declare for |
| GENERATOR_FILE. |
| |
| 2010-10-04 Andi Kleen <ak@linux.intel.com> |
| |
| * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov, |
| gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule. |
| |
| 2010-10-04 Matthias Klose <doko@ubuntu.com> |
| |
| * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the |
| multilib osdirname if it exists. |
| * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. |
| |
| 2010-10-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45876 |
| * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use |
| arg0's type or its unsigned counterpart as utype. Convert |
| arg1 to utype unconditionally. |
| |
| 2010-10-04 Julian Brown <julian@codesourcery.com> |
| |
| * expr.c (expand_assignment): Add assertion to prevent emitting |
| null rtx for movmisalign pattern. |
| (expand_expr_real_1): Likewise. |
| * config/arm/arm.c (arm_builtin_support_vector_misalignment): New. |
| (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above. |
| (arm_vector_alignment_reachable): New. |
| (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above. |
| (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads. |
| (arm_print_operand): Include alignment qualifier in %A. |
| * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant. |
| (movmisalign<mode>): New expander. |
| (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New |
| insn patterns. |
| |
| 2010-10-04 Joseph Myers <joseph@codesourcery.com> |
| |
| * optc-gen.awk: Define global_options_set. Don't define |
| target_flags_explicit. |
| * opth-gen.awk: Declare global_options_set. Define |
| target_flags_explicit as macro. |
| * opts-common.c (handle_option): Take opts_set and generated_p |
| parameters. |
| (handle_generated_option, read_cmdline_option, set_option): Take |
| opts_set parameter. |
| (set_option): Use opts_set instead of hardcoding target_flags and |
| target_flags_explicit. |
| * opts.c (sel_sched_switch_set, profile_arc_flag_set, |
| flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set, |
| flag_value_profile_transformations_set, flag_peel_loops_set, |
| flag_branch_probabilities_set, flag_inline_functions_set, |
| flag_ipa_cp_set, flag_ipa_cp_clone_set, |
| flag_predictive_commoning_set, flag_unswitch_loops_set, |
| flag_gcse_after_reload_set): Remove. |
| (common_handle_option, lang_handle_option, target_handle_option): |
| Take opts_set parameter. Assert that it is &global_options_set. |
| (common_handle_option): Don't set _set variables. Check opts_set |
| instead of such variables. |
| (enable_warning_as_error): Pass &global_options_set to |
| handle_generated_option. |
| * opts.h (cl_option_handler_func.handler, set_option, |
| handle_option, handle_generated_option, read_cmdline_option): Add |
| opts_set parameters. |
| (handle_option): Add generated_p parameter. |
| * config/i386/i386.c (ix86_function_specific_save, |
| ix86_function_specific_restore): Updat for renaming of |
| target_flags_explicit field. |
| * config/i386/i386.opt (target_flags_explicit): Rename to |
| ix86_target_flags_explicit. |
| * config/ia64/ia64.c (ia64_override_options_after_change): Check |
| global_options_set.x_flag_selective_scheduling and |
| global_options_set.x_flag_selective_scheduling2, not |
| sel_sched_switch_set. |
| * flags.h (sel_sched_switch_set, |
| flag_speculative_prefetching_set): Remove. |
| * gcc.c (driver_handle_option): Take opts_set parameter. Assert |
| that it is &global_options_set. |
| (process_command): Pass &global_options_set to read_cmdline_option. |
| * lto-opts.c (lto_reissue_options): Pass &global_options_set to |
| set_option. |
| * toplev.c (target_flags_explicit): Remove. |
| |
| 2010-10-04 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/45871 |
| * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset; |
| use get_ref_base_and_offset to handle references. |
| (fold_const_aggregate_ref): Update. |
| |
| 2010-10-04 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/45572 |
| * ipa-prop.c (ipa_make_edge_direct_to_target): Call |
| ipa_check_create_node_params. |
| * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges. |
| |
| 2010-10-04 Yao Qi <yao@codesourcery.com> |
| |
| * doc/passes.texi: Clean up. |
| |
| 2010-10-03 Ian Lance Taylor <iant@google.com> |
| |
| * c-typeck.c (lookup_field): If -fplan9-extensions, permit |
| referring to a field using a typedef name. |
| (find_anonymous_field_with_type): New static function. |
| (convert_to_anonymous_field): New static function. |
| (convert_for_assignment): If -fplan9-extensions, permit converting |
| pointer to struct to pointer to anonymous field. |
| * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields. |
| (is_duplicate_field): New static function. |
| (detect_field_duplicates_hash): If -fplan9-extensions, check for |
| typedef names duplicating field names. |
| (detect_field_duplicates): Likewise. |
| * doc/invoke.texi (Option Summary): Mention -fplan9-extensions. |
| (C Dialect Options): Document -fplan9-extensions. |
| * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions. |
| |
| 2010-10-03 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert |
| revision 164914. |
| (vect_create_data_ref_ptr): Likewise. |
| * tree-vect-stmts.c (vectorizable_store): Likewise. |
| (perm_mask_for_reverse): Likewise. |
| (reverse_vec_elements): Likewise. |
| (vectorizable_load): Likewise. |
| |
| 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * cppbuiltin.c: New file. |
| * cppbuiltin.h: New file. |
| * Makefile.in: Take into account cppbuiltin.{h,c}. |
| |
| 2010-10-03 Andi Kleen <ak@linux.intel.com> |
| |
| * lto-cgraph.c (input_cgraph): Check for missing sections. |
| |
| 2010-10-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate |
| to nonimmediate_operand. Force operand 2 to register when allowed. |
| (*<shiftrt_insn><mode>3_mask): Ditto. |
| (*<rotate_insn><mode>3_mask): Ditto. |
| |
| 2010-10-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR tree-optimization/45720 |
| PR tree-optimization/45764 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_access): |
| Don't accept backwards consecutive accesses. |
| (vect_create_data_ref_ptr): Disallow negative steps. |
| |
| * tree-vect-stmts.c (vectorizable_store): Allow negative steps. |
| (perm_mask_for_reverse): Removed. |
| (reverse_vec_elements): Likewise. |
| (vectorizable_load): Don't handle negative steps. |
| |
| 2010-10-02 Jan Hubicka <jh@suse.cz> |
| |
| * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when |
| call destination is known. |
| |
| 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/45820 |
| * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands |
| earlier. |
| |
| 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/install.texi (Configuration): Document build_configargs, |
| host_configargs, target_configargs. |
| |
| 2010-10-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern. |
| (*<shiftrt_insn><mode>3_mask): Ditto. |
| (*<rotate_insn><mode>3_mask): Ditto. |
| |
| 2010-10-01 Steve Ellcey <sje@cup.hp.com> |
| |
| PR tree-optimization/44716 |
| * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define. |
| (HOT_TEXT_SECTION_NAME): Define. |
| |
| 2010-10-01 Nick Clifton <nickc@redhat.com> |
| |
| * common.opt: Add -fcombine-stack-adjustments. |
| * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1. |
| * combine-stack-adj.c (gate_handle_stack_adjustments): Check |
| flag_combine_stack_adjustments. |
| * doc/invoke.texi: Document the new option. |
| |
| 2010-10-01 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45854 |
| * tree-eh.c (cleanup_empty_eh): Avoid degenerate case. |
| |
| 2010-10-01 Anthony Green <green@moxielogic.com> |
| |
| * config.gcc: Fix moxie-*-rtems* configuration. |
| |
| 2010-10-01 Richard Guenther <rguenther@suse.de> |
| |
| * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P. |
| (gen_decl_die): Likewise. |
| |
| 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS |
| to the function code for SPU MD builtins. |
| (spu_expand_builtin): Update. |
| * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update. |
| |
| 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to |
| sjlj_except_unwind_info. |
| |
| 2010-10-01 Tristan Gingold <gingold@adacore.com> |
| |
| * configure.ac: Define the nop insn for avr*-*-* |
| * configure: Regenerate. |
| |
| 2010-10-01 Alan Modra <amodra@gmail.com> |
| |
| PR target/45807 |
| * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign |
| extend toc_restore_insn. |
| |
| 2010-09-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/43959 |
| * function.c (gimplify_parameters): Use create_tmp_reg instead of |
| create_tmp_var. |
| |
| 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_expand_prologue): Set |
| current_function_static_stack_size. |
| |
| 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac: Check for Solaris 8 ld with .hidden support. |
| * configure: Regenerate. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR middle-end/45758 |
| * graphite.c (graphite_initialize): Call scev_reset. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.h (scev_analyzable_p): Return false for real or floating |
| point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le |
| and ps. |
| * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and |
| domain. |
| * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit): |
| Do not allocate ub_expr, it is passed in initialized. |
| |
| 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c (init_cloog_input_file): New. |
| (build_cloog_prog): Dump CLooG input file when |
| flag_graphite_dump_cloog is set. This is disabled on trunk. |
| * graphite-cloog-compat.h (cloog_program_dump_cloog): New. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (graphite_verify): Remove call to |
| verify_dominators for CDI_POST_DOMINATORS. |
| * sese.h: Remove comment about CDI_POST_DOMINATORS. |
| (recompute_all_dominators): Remove call to free_dominance_info |
| for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info |
| for CDI_POST_DOMINATORS. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate |
| over pbb_dim_iter_domain. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-flattening.c: Fix comments. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * Makefile.in (OBJS-common): Add graphite-flattening.o. |
| (graphite-flattening.o): New rule. |
| * common.opt (floop-flatten): New flag. |
| * doc/invoke.texi (-floop-flatten): Documented. |
| * graphite-flattening.c: New. |
| * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops. |
| * graphite-poly.h (flatten_all_loops): Declared. |
| (lst_remove_loop_and_inline_stmts_in_loop_father): New. |
| * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten |
| is set, also set flag_graphite. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (cloog_checksum): New. |
| * graphite-poly.h (cloog_checksum): Declared. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (pbb_number_of_iterations): Removed. |
| (pbb_number_of_iterations_at_time): Correctly compute the number |
| of iterations in the transformed loop. |
| * graphite-poly.h (pbb_number_of_iterations): Removed. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.h (lst_update_scattering_seq): Removed. |
| (lst_update_scattering): Correctly handle outermost loop dewey |
| renumbering. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed |
| lst_strip_mine_profitable_p. Call lst_niter_for_loop. |
| * graphite-poly.h (lst_niter_for_loop): New. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (apply_poly_transforms): Do not abort when the |
| transform read from disk is not legal. Call fatal_error instead. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (print_pbb_body): Add missing closing parenthesis. |
| (print_scop_header): Removed. Inlined in the only call place... |
| (print_scop): ... here. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-dependences.c (dot_deps): Avoid set but not used warning. |
| (dot_deps_stmt): Same. |
| * graphite-poly.c (dot_lst): Same. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-blocking.c (scop_do_strip_mine): Do not call |
| graphite_legal_transform. |
| (scop_do_block): Same. |
| |
| 2010-09-30 Vladimir Kargov <kargov@gmail.com> |
| |
| * graphite-scop-detection.c (graphite_can_represent_loop): Correct the |
| description. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-scalar-evolution.c (instantiate_array_ref): New. |
| (instantiate_scev_r): Also handle ARRAY_REFs. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop): |
| Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL, |
| RESULT_DECL, and FIELD_DECL. Return false for an |
| SSA_NAME_IS_DEFAULT_DEF. |
| (compute_scalar_evolution_in_loop): Do not further analyze the |
| scalar evolution when no_evolution_in_loop_p returns true. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-chrec.h (evolution_function_is_affine_p): Do not check |
| whether CHREC_LEFT is invariant. A function is affine when |
| CHREC_RIGHT is invariant. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (reduction_phi_p): Remove check for |
| is_gimple_reg. |
| (rewrite_degenerate_phi): Same. |
| (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg. |
| |
| 2010-09-30 Vladimir Kargov <kargov@gmail.com> |
| |
| * graphite-scop-detection.c (graphite_can_represent_scev, |
| graphite_can_represent_expr, stmt_has_simple_data_refs_p, |
| graphite_can_represent_loop): Remove outermost_loop. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR middle-end/45229 |
| * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not |
| handle GIMPLE_CALLs with no LHS. |
| |
| 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com> |
| |
| * graphite-poly.c (init_graphite_out_file): New. |
| (init_graphite_in_file): New. |
| (apply_poly_transforms): Updated to enable reading and writing of |
| multiple scop files. |
| |
| 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de> |
| |
| * graphite-scop-detection.c (graphite_can_represent_scev): Remove |
| redundant checks. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (precision_for_value): Adjust |
| computation of precision by 1. |
| |
| 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com> |
| |
| * graphite-cloog-util.c (openscop_read_cloog_matrix): New. |
| (openscop_read_polyhedron_matrix): New. |
| * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared. |
| (openscop_read_N_int): Same. |
| * graphite-poly.c (openscop_read_N_int): New. |
| (openscop_read_one_int): New. |
| (openscop_read_N_string): New. |
| (openscop_read_one_string): New. |
| (openscop_read_powerset_matrix): New. |
| (graphite_read_transforms): Remove. |
| (graphite_read_scatt): New. |
| (graphite_read_scop_file): New. |
| (apply_poly_transforms): Updated to call graphite_read_scop_file. |
| |
| 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-poly.c: Change include order. |
| |
| 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-cloog-compat.h (cloog_matrix_ncolumns): New. |
| (cloog_matrix_nrows): New. |
| |
| 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com> |
| |
| * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces |
| from matrix lines. |
| * graphite-poly.c (openscop_print_scattering_function_1): Same. |
| (print_scattering_function_1): Same. |
| (openscop_print_pbb_domain): Same. |
| (openscop_print_scop_context): Same. |
| (print_scop_context): Same. |
| |
| 2010-09-30 Riyadh Baghdad <baghdadi.mr@gmail.com> |
| |
| * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation. |
| (openscop_print_pdr_polyhedron): Print pph. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in |
| priority signed types. |
| |
| 2010-09-30 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (max_signed_precision_type): Remove |
| the call to lang_hooks.types.type_for_size. Call |
| build_nonstandard_integer_type. |
| |
| 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com> |
| |
| * graphite-cloog-util.c (openscop_print_cloog_matrix): New. |
| (openscop_print_polyhedron_matrix): New. |
| * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared. |
| * graphite-poly.c (openscop_print_pdr_polyhedron): Same. |
| (openscop_print_pdr_powerset): New. |
| (openscop_print_powerset_matrix): New. |
| (openscop_print_scattering_function_1): New. |
| (print_scattering_function): Add support for scattering names and |
| OpenScop format. |
| (graphite_write_transforms): Remove. |
| (print_pdr_access_layout): Updated to support OpenScop format. |
| (print_pdr): Same. |
| (openscop_print_pbb_domain): New. |
| (print_pbb_body): Added a parameter to allow indicating that pbb_body |
| is not provided. |
| (print_pbb): Updated to call the new print_pbb_body. |
| (openscop_print_scop_context): New. |
| (print_scop_header): New. |
| (print_scop): Updated to call print_scop_header. |
| * graphite-poly.h: Document OpenScop format. |
| |
| 2010-09-30 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/cris/m32c.c (cris_memory_move_cost): New. |
| (cris_register_move_cost): Make static. Change arguments type from |
| enum reg_class to reg_class_t. |
| (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. |
| * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. |
| * config/cris/cris-protos.h (cris_register_move_cost): Remove. |
| |
| 2010-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45843 |
| * config/i386/i386.c (ix86_gimplify_va_arg): Use |
| INTVAL (XEXP (slot, 1)) as prev_size. |
| |
| 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/45837 |
| * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1. |
| * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not |
| defined. |
| * config/rs6000/option-defaults.h (toplevel): Change #if |
| TARGET_AIX to TARGET_AIX_OS to allow compiler to build after |
| global option changes. |
| |
| 2010-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE. |
| |
| PR tree-optimization/31261 |
| * fold-const.c (fold_binary): Optimize ((A & N) + B) & M |
| for constants M and N, M == (1LL << cst) - 1 && (N & M) == M. |
| |
| 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/45796 |
| * Makefile.in (build/gen%$(build_exeext)): Move rule after all |
| special-casing for generators and turn into ... |
| ((genprog:%=build/gen%$(build_exeext))): ... this static pattern |
| rule, for better error messages in case of toplevel dependency errors. |
| (genprog): Add hooks, rename to ... |
| (genprogerr): ... this, and let genprog also contain check, |
| checksum, condmd. |
| ((genprog:%=build/gen%$(build_exeext))): Rename to ... |
| ((genprogerr:%=build/gen%$(build_exeext))): ... this. |
| (build/genhooks$(build_exeext)): Remove now-unneeded dependency. |
| |
| 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com> |
| Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs |
| for GMP, MPFR and MPC. |
| |
| 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sparc/sparc.opt (mimpure-text): Move ... |
| * config/sol2.opt: ... here. Correct description. |
| * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options. |
| * doc/invoke.texi (Option Summary, SPARC Options): Move |
| -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ... |
| (Option Summary, Solaris 2 Options): ... here. |
| (Submodel Options, Solaris 2 Options): New menu entry. |
| (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ... |
| (Solaris 2 Options): ... here. |
| |
| 2010-09-30 Michael Eager <eager@eagercon.com> |
| |
| * extend.texi (interrupt_handler): Add MicroBlaze to list. |
| (save_volatiles): Describe option for MicroBlaze. |
| * invoke.texi: Add MicroBlaze Options. |
| * contrib.texi: Add acknowledgment. |
| * md.texi: Add MicroBlaze d and z constraints. |
| * install.texi: Add microblaze-*-elf. |
| * configure.ac: Add microblaze-*-* to target list. |
| * configure: Regenerate. |
| * config.gcc: Add microblaze*-*-*, microblaze*-linux*. |
| * config/microblaze/microblaze-protos.h: New. |
| * config/microblaze/crti.s: New. |
| * config/microblaze/predicates.md: New. |
| * config/microblaze/linux.h: New. |
| * config/microblaze/microblaze.md: New. |
| * config/microblaze/constraints.md: New. |
| * config/microblaze/crtn.s: New. |
| * config/microblaze/microblaze.opt: New. |
| * config/microblaze/microblaze-c.c: New. |
| * config/microblaze/t-microblaze: New. |
| * config/microblaze/microblaze.c: New. |
| * config/microblaze/microblaze.h: New. |
| |
| 2010-09-30 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment, |
| parse @optional/@required and set the flags as appropriate. |
| |
| 2010-09-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete. |
| |
| 2010-09-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * opt-functions.awk (static_var): Update comment. |
| (var_ref): Return offsetof expression or -1, not variable address. |
| * optc-gen.awk: Generate structure field initializers instead of |
| static variables. Expect -1 for missing variables instead of null |
| pointer. Add gcc_options parameters to generated functions. |
| * opth-gen.awk: Generate structure fields for static variables. |
| Add gcc_options parameters to generated functions. |
| * common.opt (optimize, optimize_size): Add variables. |
| * config/i386/i386-c.c (ix86_pragma_target_parse): Pass |
| &global_options to cl_target_option_restore. |
| * config/i386/i386.c (ix86_valid_target_attribute_p): Pass |
| &global_options to cl_optimization_restore, cl_target_option_save |
| and cl_target_option_restore. |
| (ix86_set_current_function): Pass &global_options to |
| cl_target_option_restore. |
| * config/pdp11/pdp11.h (optimize): Remove. |
| * config/rs6000/rs6000.h (optimize): Remove. |
| * config/sh/sh.h (optimize): Remove. |
| * config/xtensa/xtensa.h (optimize): Remove. |
| * coretypes.h (struct gcc_options): Declare. |
| * diagnostic.c (diagnostic_initialize): Initialize |
| context->option_state. |
| (diagnostic_report_diagnostic): Pass option_state to |
| option_enabled hook. |
| * diagnostic.h (diagnostic_context.option_enabled): Add void * |
| parameter. |
| (diagnostic_context.option_state): New field. |
| * final.c (final_start_function, final, final_scan_insn): Rename |
| optimize parameter to optimize_p. |
| * flags.h (optimize, optimize_size): Remove. |
| * function.c (invoke_set_current_function_hook): Pass |
| &global_options to cl_optimization_restore. |
| * gcc.c (driver_handle_option): Take gcc_options parameter. |
| Assert that it is &global_options. |
| (process_command): Pass &global_options to read_cmdline_option. |
| * ipa-pure-const.c (suggest_attribute): Pass &global_options to |
| option_enabled. |
| * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass |
| &global_options to set_option. |
| * opts-common.c (handle_option, handle_generated_option, |
| read_cmdline_option, set_option): Take explicit gcc_options |
| parameters. Use option_flag_var. |
| (option_flag_var): New. |
| * opts.c (common_handle_option, lang_handle_option, |
| target_handle_option): Take gcc_options parameter. Assert that it |
| is &global_options. |
| (read_cmdline_options): Pass &global_options to read_cmdline_option. |
| (print_filtered_help): Use option_flag_var. Pass &global_options |
| to option_enabled. |
| (common_handle_option): Use option_flag_var. |
| (option_enabled): Take opts parameter. Use option_flag_var. |
| (get_option_state): Take gcc_options parameter. Use |
| option_flag_var. Pass gcc_options parameter to option_enabled. |
| (enable_warning_as_error): Pass &global_options to |
| handle_generated_option. |
| * opts.h (struct cl_option): Change flag_var to flag_var_offset. |
| (cl_option_handler_func.handler): Take gcc_options parameter. |
| (option_enabled, get_option_state, set_option, handle_option, |
| handle_generated_option, read_cmdline_option): Take gcc_options |
| parameters. |
| * toplev.c (optimize, optimize_size): Remove. |
| (print_switch_values): Pass &global_options to option_enabled. |
| (option_affects_pch_p): Use option_flag_var. Pass &global_options |
| to get_option_state. |
| (general_init): Initialize global_dc->option_state. |
| * tree.c (build_optimization_node): Pass &global_options to |
| cl_optimization_save. |
| (build_target_option_node): Pass &global_options to |
| cl_target_option_save. |
| |
| 2010-09-30 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (type_consists_of_records_p): Do not check for trailing |
| zero sized bit-fields. |
| |
| 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME |
| Objective-C token, map RID_CLASS to RID_AT_CLASS and similar. |
| (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS. |
| (c_parser_objc_class_declaration): Same change. |
| (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of |
| RID_TRY and RID_AT_CATCH instead of RID_CATCH. |
| (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE |
| instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED |
| and RID_AT_PUBLIC instead of RID_PUBLIC. |
| (c_parser_statement_after_labels): Use RID_AT_TRY instead of |
| RID_TRY and RID_AT_CATCH instead of RID_CATCH. |
| |
| 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com> |
| |
| * doc/install.texi (Binaries): Update link to HP-UX porting centre. |
| Add links to current providers of packages for Solaris and IRIX. |
| |
| 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Merge from 'apple/trunk' branch on FSF servers. |
| * c-parser.c: Applied change originally in c-parse.in. |
| |
| 2005-10-04 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4281748 |
| * c-decl.c (start_decl): Check for redeclaration of class name. |
| * c-parse.in (after_type_declarator): Recognize CLASSNAME. |
| |
| 2010-09-29 Steve Ellcey <sje@cup.hp.com> |
| |
| * config/ia64/ia64.c (ia64_builtin_decl): New. |
| (TARGET_BUILTIN_DECL): Define. |
| (ia64_builtins): New. |
| (ia64_init_builtins): Save decls in ia64_builtins. |
| |
| 2010-09-29 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/40457 |
| * postreload.c (move2add_use_add2_insn): Use full_costs for comparison. |
| (move2add_use_add3_insn): Likewise. |
| (reload_cse_move2add): Likewise. |
| * rtlanal.c (get_full_rtx_cost): New function. |
| * rtl.h (struct full_rtx_costs): New. |
| (init_costs_to_max, init_costs_to_zero, costs_lt_p, |
| costs_add_n_insns): New inline functions. |
| (get_full_rtx_cost): Declare. |
| |
| PR c/45054 |
| * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing |
| invariants. Check for reg_equiv_invariant. |
| (reload): Assert that spilled_pseudos is empty when returning. |
| |
| 2010-09-29 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/mingw32.h (TARGET_64BIT): replaced by |
| TARGET_64BIT_DEFAULT in #if check. |
| |
| 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| * varasm.c (assemble_alias): Add error message for unsupported ifunc. |
| |
| 2010-09-29 Mike Stump <mikestump@comcast.net> |
| |
| * config/darwin.h (flag_mkernel): Remove. |
| (flag_apple_kext): Likewise. |
| |
| 2010-09-29 Joseph Myers <joseph@codesourcery.com> |
| Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| * config/darwin.opt (undefined): Add. |
| |
| 2010-09-29 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR testsuite/45664 |
| * configure.ac: Add --enable-indirect-function option. |
| * config.gcc: Add default_gnu_indirect_function. |
| * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ... |
| (HAVE_GNU_INDIRECT_FUNCTION): ... this. |
| * varasm.c (do_assemble_alias): Adjust for macro name change. |
| * configure: Rebuilt. |
| * doc/install.texi: Document --enable-indirect-function. |
| |
| 2010-09-29 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (Variable, Var, Init): Update documentation |
| without reference to VarExists. |
| (VarExists): Remove. |
| * common.opt, config/i386/i386.opt, config/linux.opt, |
| config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt: |
| Don't use VarExists. |
| |
| 2010-09-29 Joseph Myers <joseph@codesourcery.com> |
| |
| * optc-gen.awk: Generate global_options initializer instead of |
| individual variables. Add x_ prefix to names of structure members. |
| * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to |
| names of structure members. |
| * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER, |
| HARD_FRAME_POINTER_IS_ARG_POINTER): Document. |
| * doc/tm.texi: Regenerate. |
| * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER |
| * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER. |
| * c-parser.c (disable_extension_diagnostics, |
| restore_extension_diagnostics): Update names of cpp_options members. |
| * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER |
| * common.opt (fcompare-debug-second): Don't use Var. |
| * config/alpha/alpha.h (target_flags): Remove. |
| * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, |
| HARD_FRAME_POINTER_IS_ARG_POINTER): Define. |
| * config/bfin/bfin.h (target_flags): Remove. |
| * config/cris/cris.h (target_flags): Remove. |
| * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of |
| cl_target_option members. |
| * config/i386/i386.c (ix86_force_align_arg_pointer): Remove. |
| (ix86_function_specific_print, ix86_valid_target_attribute_tree, |
| ix86_can_inline_p): Update names of cl_target_option members. |
| * config/i386/i386.h (ix86_isa_flags): Remove. |
| * config/lm32/lm32.h (target_flags): Remove. |
| * config/mcore/mcore.h (mcore_stack_increment): Remove. |
| * config/mcore/mcore.md (addsi3): Remove extern declaration of |
| flag_omit_frame_pointer. |
| * config/mep/mep.h (target_flags): Remove. |
| * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, |
| HARD_FRAME_POINTER_IS_ARG_POINTER): Define. |
| * config/mmix/mmix.h (target_flags): Remove. |
| * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic, |
| flag_expensive_optimizations): Remove. |
| * config/s390/s390.h (flag_pic): Remove. |
| * config/score/score-conv.h (target_flags): Remove. |
| * config/sh/sh.h (sh_fixed_range_str): Remove. |
| * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove. |
| * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER |
| * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * diagnostic.c (diagnostic_initialize): Update names of |
| diagnostic_context members. |
| * diagnostic.h (diagnostic_context): Rename inhibit_warnings and |
| warn_system_headers. |
| (diagnostic_report_warnings_p): Update for new names. |
| * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER |
| * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and |
| HARD_FRAME_POINTER_IS_ARG_POINTER. |
| * flags.h (flag_compare_debug): Declare. |
| * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER |
| * opts.c (flag_compare_debug): Define. |
| (common_handle_option): Update names of diagnostic_context |
| members. Handle -fcompare-debug-second. |
| (fast_math_flags_struct_set_p): Update names of cl_optimization |
| members. |
| * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER. |
| * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER, |
| HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use. |
| * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER |
| * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER. |
| |
| 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (picochip_output_internal_label): |
| This function can now be called for debug CFI labels, which can come |
| in the middle of a vliw instruction. Postpone until end of vliw. |
| |
| 2010-09-29 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (SCOPE_FILE_SCOPE_P): New macro. |
| (DECL_FILE_SCOPE_P): Use it. |
| (TYPE_FILE_SCOPE_P): New macro. |
| |
| 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_lex_one_token): In Objective-C, when dealing with |
| a CPP_NAME which is a reserved word, clearly separate cases for |
| OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD. |
| |
| 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-parser.c (c_lex_one_token): In Objective-C, do not replace |
| token->value with the canonical spelling. Do exactly like C and |
| C++ and leave it as it is. |
| |
| 2010-09-28 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_builtins): New. |
| (alpha_builtin_decl, TARGET_BUILTIN_DECL): New. |
| (alpha_builtin_function): New. |
| (alpha_add_builtins, alpha_init_builtins): Use it. |
| |
| 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/standards.texi (Standards): Expanded the section on |
| Objective-C and Objective-C++. |
| |
| 2010-09-28 DJ Delorie <dj@redhat.com> |
| |
| PR target/45800 |
| * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of |
| volatile MEMs. |
| |
| 2010-09-28 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix |
| attributes on methods. |
| (c_parser_objc_method_definition): Handle attributes. |
| (c_parser_objc_methodproto): Likewise. |
| (c_parser_objc_maybe_method_attributes): New. |
| (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a |
| missing definition, similar to that in ObjC++. |
| |
| 2010-09-28 Richard Henderson <rth@redhat.com> |
| |
| * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO. |
| (MUST_USE_SJLJ_EXCEPTIONS): Remove. |
| (CONFIG_SJLJ_EXCEPTIONS): Remove. |
| (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info. |
| (STACK_CHECK_PROTECT): Likewise. |
| * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison. |
| (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info. |
| (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise. |
| (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise. |
| (dwarf2out_assembly_start): Likewise. |
| * except.c (init_eh): Use targetm.except_unwind_info. |
| (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise. |
| (output_one_function_exception_table): Likewise. |
| * final.c: Unconditionally include dwarf2out.h. |
| (final_start_function): Unconditionally call dwarf2out routines. |
| (final_end_function, final_scan_insn): Likewise. |
| * function.c (expand_function_end): Use targetm.except_unwind_info. |
| * opts.c (decode_options): Use targetm.except_unwind_info. |
| * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison. |
| * target.def (debug_unwind_info, except_unwind_info): New. |
| * target.h (enum unwind_info_type): New. |
| * targhooks.c (default_debug_unwind_info): New. |
| (default_except_unwind_info): New. |
| (dwarf2_except_unwind_info, sjlj_except_unwind_info): New. |
| * targhooks.h: Declare them. |
| * tree-tailcall.c: Include "target.h" |
| (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info. |
| * Makefile.in (tree-tailcall.o): Update. |
| * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info. |
| (lhd_gcc_personality): Likewise. |
| |
| * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove. |
| (TARGET_EXCEPT_UNWIND_INFO): New. |
| (DWARF2_UNWIND_INFO): Update. |
| (TARGET_DEBUG_UNWIND_INFO): New. |
| * doc/tm.texi: Rebuild. |
| |
| * c-family/c-cppbuiltin.c (c_cpp_builtins): Use |
| targetm.except_unwind_info. |
| |
| * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New. |
| (arm_except_unwind_info): New. |
| (arm_compute_func_type): Use it. |
| (arm_expand_prologue, thumb_pushpop): Likewise. |
| (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise. |
| (arm_unwind_emit, arm_output_fn_unwind): Likewise. |
| * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO. |
| * config/arm/arm.h (ARM_UNWIND_INFO): Likewise. |
| (DWARF2_UNWIND_INFO): Remove. |
| (MUST_USE_SJLJ_EXCEPTIONS): Remove. |
| (ARM_EABI_UNWIND_TABLES): Remove. |
| |
| * config/ia64/ia64.c (ia64_debug_unwind_info): New. |
| (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New. |
| (ia64_except_unwind_info): New. |
| (ia64_output_function_prologue): Use it. |
| (ia64_add_bundle_selector_before): Likewise. |
| (ia64_reorg, ia64_asm_unwind_emit): Likewise. |
| * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove. |
| (TARGET_UNWIND_INFO): Remove. |
| |
| * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info. |
| |
| 2010-09-28 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * c-parser.c (c_parser_objc_class_definition): Adjust prototype. |
| (c_parser_objc_protocol_definition): Likewise. |
| (c_parser_external_declaration): Provide dummy attribute arguments. |
| (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC. |
| (c_parser_objc_class_definition): Handle attributes. |
| (c_parser_objc_protocol_definition): Likewise. |
| |
| 2010-09-28 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/40569 |
| PR fortran/40568 |
| * toplev.h (save_decoded_options, save_decoded_options_count): |
| New global variables. |
| * toplev.c (save_decoded_options, save_decoded_options_count): |
| Export variables. |
| |
| 2010-09-28 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/i386.c (ix86_supports_split_stack): Test |
| HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm. |
| |
| 2010-09-28 Ian Lance Taylor <iant@google.com> |
| |
| PR target/45815 |
| * opts.c (decode_options): Don't test whether the target supports |
| split stack if flag_split_stack == 0. |
| |
| 2010-09-28 Jan Hubicka <jh@suse.cz> |
| |
| * builtin-attrs.def (ATTR_LEAF): New attribute. |
| (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST, |
| ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST, |
| ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST, |
| ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST, |
| ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF, |
| ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF, |
| ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists. |
| * sync-builtins.def: Annotate all builtins by leaf. |
| * omp-builtins.def: Annotate all builtins by leaf. |
| * builtins.def: Annotate relevant builtins with leaf attribute. |
| (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING, |
| ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make |
| leaf. |
| |
| 2010-09-28 Jan Hubicka <jh@suse.cz> |
| |
| * tree-ssa-ccp.c (fold_ctor_reference): New function. |
| (fold_const_aggregate_ref): Use it. |
| * fold-const.c (canonicalize_constructor_val): Check that we don't fold |
| into external static. |
| |
| 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/44452 |
| * config/i386/i386.opt (mvect8-ret-in-mem): Define. |
| * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem. |
| (ix86_solaris_return_in_memory): Remove. |
| * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove. |
| * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove. |
| (TARGET_SUBTARGET_DEFAULT): Redefine. |
| * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment. |
| * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove. |
| (TARGET_SUBTARGET_DEFAULT): Redefine. |
| * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add |
| -mvect8-ret-in-mem. |
| (i386 and x86-64 Options): Document -mvect8-ret-in-mem. |
| |
| 2010-09-29 Alan Modra <amodra@gmail.com> |
| |
| PR target/45807 |
| * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete. |
| * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete. |
| * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init): |
| Delete. |
| * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete. |
| (rs6000_emit_prologue): Don't just create frame save info for r2, |
| actually save r2. |
| |
| 2010-09-28 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes |
| when 8 bytes are requested. |
| |
| 2010-09-28 Tristan Gingold <gingold@adacore.com> |
| |
| * config/avr/avr.c (expand_prologue): Set |
| current_function_static_stack_size. |
| |
| 2010-09-28 Tristan Gingold <gingold@adacore.com> |
| |
| * config/alpha/alpha.md: Change the initial condition of the |
| probing loop. |
| |
| 2010-09-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (*avx_<umaxmin:code><mode>3): |
| Split from *avx_<maxmin:code><mode>3. |
| (*avx_<smaxmin:code><mode>3): Ditto. |
| * config/i386/i386.md (maxmin): Remove code iterator. |
| |
| 2010-09-27 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack |
| requires assembler support for CFI directives. |
| |
| 2010-09-27 Richard Henderson <rth@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL. |
| |
| 2010-09-27 Hans-Peter Nilsson <hp@axis.com> |
| |
| * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check |
| that AFTER is not in the range FROM..TO, inclusive. |
| |
| 2010-09-27 Hans-Peter Nilsson <hp@axis.com> |
| Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/45792 |
| * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr. |
| If not all insns are to be merged, for each edge, stash the |
| next candidate after the to-be-merged insns before doing the |
| merge, and use them for the retry at the new insertion point. |
| Handle CC0 targets when retrying. |
| |
| 2010-09-27 Ian Lance Taylor <iant@google.com> |
| |
| * common.opt (fsplit-stack): New option. |
| * opts.c (decode_options): Set flag_split_stack to final value. |
| * target.def (supports_split_stack): New hook. |
| * gcc.c (STACK_SPLIT_SPEC): Define. |
| (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC. |
| * doc/invoke.texi (Option Summary): Mention -fsplit-stack. |
| (Code Gen Options): Document -fsplit-stack. |
| * doc/extend.texi (Function Attributes): Mention no_split_stack. |
| (Function Attributes): Document no_split_stack. |
| * doc/tm.texi.in (Stack Smashing Protection): Add @hook |
| TARGET_SUPPORTS_SPLIT_STACK. |
| * doc/tm.texi: Rebuild. |
| * function.c (thread_prologue_and_epilogue_insns): If |
| flag_split_stack, add split stack prologue. |
| * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack. |
| * varasm.c (saw_no_split_stack): New static variable. |
| (assemble_start_function): Set saw_no_split_stack if the function |
| has the no_split_stack attribute. |
| (file_end_indicate_split_stack): New function. |
| * output.h (file_end_indicate_split_stack): Declare. |
| * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables |
| and function. |
| * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack |
| routines. |
| * config/i386/i386.c (ix86_option_override_internal): Don't set |
| expand_builtin_va_start to NULL if -fsplit-stack. |
| (ix86_function_regparm): Reduce local regparm by 1 for 32-bit |
| -fsplit-stack. |
| (ix86_va_start): If -fsplit-stack, get overflow pointer from |
| scratch register set by prologue. |
| (ix86_code_end): If -fsplit-stack, call |
| file_end_indicate_split_stack. |
| (ix86_supports_split_stack): New static function. |
| (SPLIT_STACK_AVAILABLE): Define. |
| (split_stack_prologue_scratch_regno): New static function. |
| (split_stack_fn): New static variable. |
| (ix86_expand_split_stack_prologue): New function. |
| (ix86_live_on_entry): New static function. |
| (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK. |
| (output_pic_addr_const): Likewise. |
| (i386_asm_output_addr_const_extra): Likewise. |
| (ix86_expand_call): Change return type to rtx. Return the new |
| call instruction. |
| (TARGET_SUPPORTS_SPLIT_STACK): Define. |
| (TARGET_EXTRA_LIVE_ON_ENTRY): Define. |
| * config/i386/i386.md (UNSPEC_STACK_CHECK): Define. |
| (split_stack_prologue, split_stack_return): New insns. |
| (split_stack_space_check): New insn. |
| * config/i386/i386.h (struct machine_function): Add |
| split_stack_varargs_pointer field. |
| * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define. |
| (TARGET_THREAD_SPLIT_STACK_OFFSET): Define. |
| * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define. |
| (TARGET_THREAD_SPLIT_STACK_OFFSET): Define. |
| * config/i386/i386-protos.h (ix86_expand_split_stack_prologue): |
| Declare. |
| (ix86_expand_call): Update declaration. |
| |
| 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/objc.texi (Type encoding): Added the new 'long double' (D) |
| code. Added byref, which was missing in the list of codes. |
| Explain that enumeration values are encoded as the integer type |
| that the compiler uses to store them. Explain and make examples |
| of how 'const' interacts with pointers, and the complication of |
| the encoding of 'const char *'. |
| (Legacy type encoding): New subsection, explaining that GCC emits |
| incorrect type encodings for the NeXT runtime for compatibility |
| reasons. |
| (@@encode): New subsection, explaining @encode and particularly |
| that protocol qualifiers are not recognized inside an @encode() |
| expression. |
| (Method signatures): New subsection, explaining how method |
| signatures are encoded. |
| |
| 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| Merge from 'apple/trunk' branch on FSF servers. Removed small |
| change in build_conditional_expr that had been added when fixing |
| PR objc/27377 and which did the same check in a less complete way. |
| |
| 2005-12-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4229905 |
| * c-typeck.c (build_conditional_expr): Call objc_have_common_type when |
| looking for objective-c common pointer types. |
| |
| 2005-06-22 Ziemowit Laski <zlaski@apple.com> |
| |
| Radar 4154928 |
| * c-typeck.c (build_conditional_expr): For two ObjC pointer types, |
| use their ObjC common type. |
| |
| 2010-09-27 Richard Guenther <rguenther@suse.de> |
| |
| * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P. |
| |
| 2010-09-27 Jie Zhang <jie@codesourcery.com> |
| |
| * print-tree.c (print_node): Print in-constant-pool. |
| |
| 2010-09-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode. |
| (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined. |
| (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD. |
| (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition. |
| |
| 2010-09-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge |
| from pro_epilogue_adjust_stack_<mode>_{1,2}. |
| (pro_epilogue_adjust_stack_<mode>_add): Rename from |
| pro_epilogue_adjust_stack_<mode>_3. |
| * config/i386/i386.c (pro_epilogue_adjust_stack): Update for |
| renamed pro_epilogue_adjust_stack_{si,di}_add. |
| (ix86_expand_prologue): Use indirect functions. Update for renamed |
| pro_epilogue_adjust_stack_{si,di}_sub. |
| |
| 2010-09-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (movmsk_df): New insn. |
| (signbitdf): Split out of signbit<mode>2. Generate movmsk_df |
| sequence for TARGET_SSE_MATH. |
| |
| 2010-09-26 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_builtin_decls): Declare. |
| (mips_init_builtins): Store function declarations in |
| mips_builtin_decls. |
| (mips_builtin_decl): New function. |
| (TARGET_BUILTIN_DECL): Define. |
| |
| 2010-09-25 Kai Tietz <kai.tietz@onevision.com> |
| Richard Henderson <rth@redhat.com> |
| |
| * config/i386/cygwin.asm: Include auto-host.h. |
| (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset, |
| cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros. |
| (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop |
| alignment code from the 64-bit path. Use gas local labels. |
| * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize |
| from _di_2. Remove the useless constant integer argument. |
| (pro_epilogue_adjust_stack_<mode>_3): New. |
| (allocate_stack_worker_probe_<mode>): Macroize from |
| allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users. |
| * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms; |
| use gen_pro_epilogue_adjust_stack_*_3 and annotate it. |
| (__chkstk_ms): New function. |
| * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms. |
| * config/i386/t-interix: Likewise. |
| * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target. |
| (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise. |
| (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise. |
| * configure, config.in: Rebuild. |
| |
| 2010-09-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new |
| statements because of the return slot optimization. |
| |
| 2010-09-25 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/avr/avr-protos.h (class_likely_spilled_p): Remove. |
| * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| (class_likely_spilled_p): Rename to... |
| (avr_class_likely_spilled_p): ...this. Make static. Change argument |
| type to reg_class_t. |
| |
| 2010-09-24 Jan Hubicka <jh@suse.cz> |
| |
| * lto-symtab.c (lto_symtab_entry_def): Add guessed field. |
| (lto_symtab_resolve_symbols): Set it. |
| (lto_symtab_merge_decls_1): Do not compute used_from_object_file; |
| store resolution field in cgraph/varpool. |
| * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node. |
| (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify. |
| (cgraph_dump_node): Drop used_from_object_file. |
| (cgraph_clone_node, cgraph_create_virtual_clone): Likewise. |
| (cgraph_function_body_availability): Use decl_replaceable_p. |
| (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY. |
| (cgraph_can_remove_if_no_direct_calls_and_refs): Use |
| cgraph_used_from_object_file_p. |
| (cgraph_will_be_removed_from_program_if_no_direct_calls): Use |
| cgraph_used_from_object_file_p. |
| (resolution_used_from_other_file_p): New functoin. |
| (cgraph_used_from_object_file_p): New predicate. |
| * cgraph.h: Include plugin-api.h |
| (struct cgraph_local_info): Remove used_from_object_file. |
| (struct cgraph_node): Add resolution field. |
| (struct varpool_node): Likewise; remove used_from_object_file; |
| reove const_value_known. |
| (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node, |
| cgraph_same_body_alias, cgraph_add_thunk): Update prototypes. |
| (resolution_used_from_other_file_p, cgraph_used_from_object_file_p, |
| varpool_used_from_object_file_p): Declare. |
| (varpool_get_node, varpool_extra_name_alias): Update prototype. |
| * tree.h (DECL_REPLACEABLE_P): Remove. |
| (decl_replaceable_p, decl_binds_to_current_def_p): Declare. |
| * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p. |
| * lto-cgraph.c (lto_output_node, lto_output_varpool_node, |
| input_overwrite_node, input_node, input_varpool_node): Stream |
| resolution. |
| * expr.c (expand_expr_real_1): Use const_value_known_p |
| * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set |
| const_value_known. |
| (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p. |
| (function_and_variable_visibility): Set resolution for local vars |
| and functions; use varpool_used_from_object_file_p. |
| * varasm.c (resolution_to_local_definition_p, resolution_local_p): New |
| static functions. |
| (default_binds_local_p_1): Use resolutoin info. |
| (decl_binds_to_current_def_p, decl_replaceable_p): New functions. |
| * varpool.c (varpool_get_node): Constify. |
| (const_value_known_p): Do not use vnode->const_value_known; |
| use decl_replaceable_p. |
| (varpool_finalize_decl): Do not set const_value_known. |
| (cgraph_variable_initializer_availability): Use decl_replaceable_p |
| (varpool_extra_name_alias): Return new node. |
| (varpool_used_from_object_file_p): New function. |
| |
| 2010-09-24 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New. |
| (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New. |
| (do_spill): Use REG_CFA_OFFSET. |
| (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER |
| as appropriate. |
| (ia64_expand_epilogue): Likewise. |
| (process_set): Split into ... |
| (process_cfa_adjust_cfa): this, |
| (process_cfa_register): this, |
| (process_cfa_offset): and this new function. |
| (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes |
| instead of REG_FRAME_RELATED_EXPR. |
| |
| 2010-09-24 Olivier Hainque <hainque@adacore.com> |
| |
| * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate. |
| |
| 2010-09-24 Jan Hubicka <jh@suse.cz> |
| |
| * doc/extend.texi: (attribute leaf): Document. |
| * tree.c (local_define_builtin): Handle ECF_LEAF. |
| (build_common_builtin_nodes): Set ECF_LEAF where needed. |
| * tree.h (ECF_LEAF): New. |
| * ipa-reference.c (propagate_bits): For leaf calls propagate ever |
| overwrittable and unavailable functions. |
| (ipa_init): Put all_module_statics into optimization_summary_obstack. |
| (copy_global_bitmap): Do not copy all_module_statics. |
| (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF. |
| (propagate): Handle overwritable and unavailable leaf functions; |
| initialize global info for overwritable and unavailable leaf functions; |
| do not free all module statics. |
| (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber |
| local statics. |
| * calls.c (flags_from_decl_or_type): Handle leaf. |
| * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do |
| abnormal gotos. |
| |
| 2010-09-24 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * gengtype.c: Reindented. |
| * gengtype.h: Reindented. |
| * gengtype-parse.c: Reindented. |
| |
| 2010-09-24 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/45738 |
| PR tree-optimization/45741 |
| * expr.c (string_constant): Allow CONST_DECL too; |
| check that DECL_INITIAL is set. |
| * varpool.c (const_value_known_p): Only look into VAR_DECL |
| and CONST_DECL. |
| |
| 2010-09-24 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (undef): New. |
| |
| 2010-09-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45234 |
| * rtl.h (enum global_rtl_index): Add |
| GR_VIRTUAL_PREFERRED_STACK_BOUNDARY. |
| (LAST_VIRTUAL_POINTER_REGISTER): Define. |
| (virtual_preferred_stack_boundary_rtx, |
| VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define. |
| (LAST_VIRTUAL_REGISTER): Increase by one. |
| (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER |
| instead of LAST_VIRTUAL_REGISTER. |
| * function.c (instantiate_new_reg): Handle |
| virtual_preferred_stack_boundary_rtx. |
| * emit-rtl.c (init_virtual_regs): Handle |
| VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM. |
| (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx. |
| * explow.c (round_push): If crtl->preferred_stack_boundary |
| is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use |
| virtual_preferred_stack_boundary_rtx alignment instead of |
| crtl->preferred_stack_boundary alignment. |
| (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P |
| macros. Never decrease crtl->preferred_stack_boundary, |
| use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT |
| instead of PREFERRED_STACK_BOUNDARY. Don't modify |
| stack_pointer_delta in dynamic allocation, even when size |
| is constant. |
| (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P |
| macro. |
| * print-rtl.c (print_rtx): Handle |
| VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM. |
| * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use |
| LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER. |
| * config/frv/frv.c (frv_emit_movsi): Likewise. |
| * config/arm/arm.c (thumb1_legitimate_address_p): Likewise. |
| * config/rs6000/rs6000.c (virtual_stack_registers_memory_p): |
| Likewise. |
| |
| Revert: |
| 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/45234 |
| * calls.c (expand_call): Make sure that all variable sized |
| adjustments are multiple of preferred stack boundary after |
| stack alignment. |
| |
| 2010-09-24 Iain Sandoe <iains@gcc.gnu.org> |
| Dominique Dhumieres <dominiq@lps.ens.fr> |
| |
| PR bootstrap/45751 |
| * config/darwin-driver.c (darwin_default_min_version): |
| Adjust size passed to memcpy in two places. |
| |
| 2010-09-24 Richard Guenther <rguenther@suse.de> |
| |
| * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT. |
| Make sure to not call set_type_context with error_mark_node. |
| * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P. |
| |
| 2010-09-24 Richard Guenther <rguenther@suse.de> |
| |
| * Makefile.in (OBJS-onestep): Remove. |
| (ALL_HOST_BACKEND_OBJS): Remove libbackend.o. |
| (libbackend.a): Remove onestep support. |
| (libbackend.o): Remove. |
| * configure.ac (--enable-intermodule): Remove. |
| * configure: Regenerate. |
| |
| 2010-09-24 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when |
| reaching the end of a block if it occurs at a DEBUG_INSN. |
| |
| 2010-09-09 Tristan Gingold <gingold@adacore.com> |
| |
| PR target/44242 |
| * config/vms/vms-crt0-64.c: Removed. |
| * config/vms/vms-crt0.c: Removed. |
| * config/vms/vms-psxcrt0-64.c: Removed. |
| * config/vms/vms-psxcrt0.c: Removed. |
| * config/vms/vms-ucrt0.c: New file. |
| * config/vms/t-vms64: Removed. |
| * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC. |
| Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o |
| * config.gcc (alpha-dec-vms): Use t-vms. |
| |
| 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove |
| underfull hbox in DVI output. |
| (-fobjc-class-cxx-cdtors): Same change. |
| (-fobjc-exceptions): Tidied up documentation. Explain what the |
| option does, but moved the (lenghty) description of the exception |
| syntax into objc.texi. |
| (-fobjc-gc): Explain that the option is not useful with the GNU |
| runtime. |
| (-fzero-link): Explain that the GNU runtime always works in |
| "zero-link" mode. |
| * doc/objc.texi: All sections: simplified @node declarations |
| removing specification of next, previous, up node. |
| (Objective-C): Updated introduction. |
| (Garbage Collection): Updated. The bohem-gc library is now |
| included in gcc itself. Mention that this section only applies to |
| the GNU Objective-C runtime. |
| (compatibility_alias): Small tidy up. |
| (Exceptions): New section mostly containing text previously in the |
| description of the -fobjc-exception command-line option. |
| (Synchronization): Same. |
| |
| 2010-09-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (ix86_code_end): Move the initialization of |
| xops array near the consumer. Use AX_REG and SP_REG instead of |
| numerical constants. |
| |
| 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-typeck.c (convert_arguments): Use warning 'too many arguments to |
| method [methodname]' for an Objective-C method instead of the less |
| satisfactory 'too many arguments to function' (with no method name). |
| |
| 2010-09-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-flow.h (execute_update_addresses_taken): Remove parameter. |
| * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages. |
| (execute_update_addresses_taken): Remove parameter. Execute the |
| optimization unconditionally. |
| * passes.c (execute_function_todo): Call execute_update_addresses_taken |
| unconditionally if TODO_rebuild_alias is set, else only when optimizing |
| if TODO_update_address_taken is set. |
| |
| 2010-09-23 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove. |
| * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove. |
| * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. |
| (arm_output_addr_const_extra): Make static. |
| |
| 2010-09-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and |
| define as unspec_volatile. |
| ("nops"): Define as unspec_volatile. Use fputs to write to |
| asm_out_file directly. Output NOPs on separate lines using while loop. |
| * config/i386/i386.c (ix86_code_end): Use fputs to write to |
| asm_out_file directly. Output NOPs on separate lines using while loop. |
| |
| 2010-09-23 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45565 |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): |
| Make sure to adjust the fndecl before replacing the stmt. |
| |
| 2010-09-23 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45750 |
| * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when |
| gimplifying MEM_REF. |
| |
| 2010-09-23 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (toc_relative_ok): Delete. |
| (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead. |
| |
| 2010-09-23 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/44374 |
| * basic-block.h (enum bb_flags): Add BB_MODIFIED. |
| * df-core.c (df_set_bb_dirty): Set it. |
| * ifcvt.c (find_memory): Remove function. |
| (dead_or_predicable): Use can_move_insns_across. |
| * df.h (can_move_insns_across): Declare function. |
| * cfgcleanup.c (block_was_dirty): New static variable. |
| (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather |
| than df_get_bb_dirty. |
| (try_head_merge_bb): New static function. |
| (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty |
| is set. |
| * df-problems.c: Include "target.h" |
| (df_simulate_find_uses): New static function. |
| (MEMREF_NORMAL, MEMREF_VOLATILE): New macros. |
| (find_memory, find_memory_store): New static functions. |
| (can_move_insns_across): New function. |
| * Makefile.in (df-problems.o): Update dependencies. |
| |
| 2010-09-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR java/44095 |
| * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch |
| is specified and the suffix of the file isn't ".c". |
| * config/sparc/linux64.h (ASM_SPEC): Likewise. |
| |
| 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output. |
| * doc/cppopts.texi: Fix markup of index entry. |
| * doc/extend.texi (Constructing Calls): Fix markup of |
| __builtin_va_arg_pack and __builtin_va_arg_pack_len definition. |
| (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local) |
| (Vague Linkage, C++ Attributes): Fix markup of index entries and |
| keywords. |
| * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to |
| avoid long lines. |
| (C Dialect Options, C++ Dialect Options, Warning Options) |
| (Debugging Options, Spec Files, Darwin Options) |
| (i386 and x86-64 Options, MIPS Options) |
| (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of |
| index entries, avoid abbreviations, allow URLs to wrap, avoid |
| long lines, avoid overlong pages from long @itemx lists. |
| * doc/objc.texi (Garbage Collection): Allow URLs to wrap. |
| * doc/standards.texi (Standards): Likewise. |
| * doc/trouble.texi (Incompatibilities): Fix markup of index entry. |
| |
| 2010-09-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts-common.c (prune_options): Make static. Work with decoded |
| options. |
| (decode_cmdline_options_to_array): Call prune_options. Don't |
| resize option array here. |
| * opts.h (prune_options): Remove prototype. |
| * gcc.c (process_command): Take decoded options; don't call |
| decode_cmdline_options_to_array here. Use decoded options for argv[0]. |
| (main): Call decode_cmdline_options_to_array here instead of |
| prune_options. Update call to process_command. |
| * config/darwin-driver.c: Include opts.h. |
| (darwin_default_min_version): Work with decoded options. Don't |
| handle -b or -V here. |
| * config/darwin.h (darwin_default_min_version): Update prototype. |
| (GCC_DRIVER_HOST_INITIALIZATION): Update call to |
| darwin_default_min_version. |
| * config/i386/cygwin.h (mingw_scan): Update prototype. |
| (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan. |
| * config/i386/cygwin1.c: Include opts.h. |
| (mingw_scan): Work with decoded options. |
| * config/i386/t-cygwin (cygwin1.o): Update dependencies. |
| * config/t-darwin (darwin-driver.o): Update dependencies. |
| |
| 2010-09-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (-assemble, -compile, -coverage, -debug, -dump, |
| -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings, |
| -for-assembler, -for-assembler=, -for-linker, -for-linker=, |
| -force-link, -force-link=, -language, -language=, |
| -library-directory, -library-directory=, -no-canonical-prefixes, |
| -no-standard-libraries, -no-warnings, -optimize, -output, |
| -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie, |
| -pipe, -prefix, -prefix=, -preprocess, -print-file-name, |
| -print-file-name=, -print-libgcc-file-name, |
| -print-multi-directory, -print-multi-lib, |
| -print-multi-os-directory, -print-prog-name, -print-prog-name=, |
| -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix, |
| -profile, -save-temps, -shared, -specs, -specs=, -static, |
| -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u, |
| symbolic): New. |
| (fhelp, fhelp=, ftarget-help, fversion): Make into aliases. |
| * gcc.c (A Short Introduction to Adding a Command-Line Option): |
| Remove comment. |
| (cc1_options): Correct specs for passing down --help, |
| --target-help and --help=*. Add spec for passing down --version. |
| (struct option_map, option_map, target_option_translations, |
| translate_options): Remove. |
| (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_ |
| and OPT__target_help instead of OPT_fversion, OPT_fhelp, |
| OPT_fhelp_ and OPT_ftarget_help. |
| (process_command): Don't call translate_options. Call |
| decode_cmdline_options_to_array before checking for |
| -no-canonical-prefixes using decoded options. |
| * opts-common.c (tm.h): Update comment on #include. |
| (find_opt): Allow abbreviations of long options. |
| (struct option_map, option_map): New. |
| (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno |
| and -mno handling. |
| (target_option_translations): New. |
| (decode_cmdline_options_to_array): Handle |
| TARGET_OPTION_TRANSLATE_TABLE in driver. |
| * opts.c (common_handle_option): Don't handle OPT_fhelp, |
| OPT_ftarget_help, OPT_fhelp_ or OPT_fversion. |
| |
| 2010-09-22 Richard Guenther <rguenther@suse.de> |
| |
| * tree-inline.c (optimize_inline_calls): Schedule cleanups |
| only if we inlined something. Block compaction and conditional |
| folding are done by cfg cleanup. Schedule update-address-taken. |
| (tree_function_versioning): Remove redundant call to number_blocks. |
| * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional |
| folding is done by cfg cleanup. |
| * passes.c (init_optimization_passes): Remove update-address-taken |
| pass after IPA inlining. |
| |
| 2010-09-22 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks |
| to update conditions. Fix reg_mode[] check. |
| |
| 2010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.md (movhicc): Use expand to check whether |
| movhicc is available and split it after reload. |
| |
| 2010-09-22 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssanames.c (release_dead_ssa_names): Do not remove |
| callee edges here. |
| * passes.c (init_optimization_passes): Remove early CFG cleanup. |
| * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove. |
| (pass_cleanup_cfg): Likewise. |
| (execute_fixup_cfg): Cleanup. |
| * tree-pass.h (pass_cleanup_cfg): Remove. |
| |
| 2010-09-22 Martin Jambor <mjambor@suse.cz> |
| |
| * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold |
| builtins if it is true. |
| (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a |
| parameter. |
| |
| 2010-09-22 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (struct access): New field grp_no_warning. |
| (create_access_replacement): Set TREE_NO_WARNING according to |
| grp_no_warning. |
| (create_artificial_child_access): Use build_ref_for_model and set |
| grp_no_warning if build_user_friendly_ref_for_offset fails. |
| (propagate_subaccesses_across_link): Likewise. |
| |
| 2010-09-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/35664 |
| * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU. |
| ('f'): Likewise. |
| |
| 2010-09-22 Tristan Gingold <gingold@adacore.com> |
| |
| * config/alpha/alpha.c (alpha_use_linkage): Initialize target field. |
| |
| 2010-09-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name. |
| * config/i386/i386.c (decide_alg): Update for rename. |
| |
| 2010-09-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/45739 |
| * simplify-rtx.c (simplify_binary_operation_1): Optimize even |
| vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode). |
| |
| 2010-09-21 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros. |
| * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra): |
| Remove. |
| * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static. |
| (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. |
| |
| 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| PR objc/23710 |
| * c-parser.c (c_parser_objc_method_definition): Check the return |
| value of objc_start_method_definition and if false is returned, |
| parse the method definition but emit no code. |
| |
| 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| PR objc/25965 |
| * c-decl.c (detect_field_duplicates): If compiling Objective-C, |
| call objc_get_interface_ivars (). |
| |
| 2010-09-21 Kai Tietz <kai.tietz@onevision.com> |
| |
| PR target/45694 |
| * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that |
| static chain-register is used for 64-bit. |
| |
| 2010-09-21 Richard Guenther <rguenther@suse.de> |
| |
| * dwarf2out.c (is_cu_die): New function. |
| (add_pubtype): Use it. |
| (gen_subprogram_die): Likewise. |
| (gen_struct_or_union_type_die): Likewise. |
| (dwarf2out_finish): Likewise. |
| (comp_unit_die): Rename to ... |
| (single_comp_unit_die): ... this. |
| (comp_unit_die): New function lazily constructing and |
| returning single_comp_unit_die. |
| (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types, |
| base_type_die, subrange_type_die, modified_type_die, |
| lower_bound_default, add_bound_info, add_prototyped_attribute, |
| dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types, |
| dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die, |
| force_decl_die, gen_namespace_die, dwarf2out_decl, |
| dwarf2out_start_source_file, dwarf2out_end_source_file, |
| prune_unused_types, dwarf2out_finish): Use it. |
| (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from |
| the global list of translation-unit decls. |
| (dwarf2out_init): Do not create single_comp_unit_die here. |
| (force_decl_die): Handle TRANSLATION_UNIT_DECL. |
| |
| 2010-09-21 Richard Guenther <rguenther@suse.de> |
| |
| * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE |
| for bool for C++. |
| |
| 2010-09-21 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/arm/iterators.md (qhs_extenddi_op): New mode_attr. |
| (qhs_extenddi_cstr): Likewise. |
| * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use |
| them for the source operand. |
| |
| 2010-09-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_split_ashl): Rename single_width variable |
| to half_width. Use GET_MODE_BITSIZE to calculate mode size. |
| (ix86_split_ashr): Ditto. |
| (ix86_split_lshr): Ditto. |
| |
| 2010-09-21 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45580 |
| * tree-ssa-propagate.c (substitute_and_fold): Always replace |
| regular uses. |
| * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without |
| virtuals fold the call into a regular indirect one. |
| |
| 2010-09-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/42775 |
| * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot |
| scheduling is enabled. |
| |
| 2010-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/45728 |
| * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try |
| gen_lowpart_common first and if that fails, force_reg first |
| before calling gen_lowpart. |
| |
| PR middle-end/45678 |
| * cfgexpand.c (expand_one_stack_var_at): Use |
| crtl->max_used_stack_slot_alignment as max_align, instead |
| of maximum of that and PREFERRED_STACK_BOUNDARY. |
| Don't call update_stack_alignment. |
| |
| 2010-09-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * langhooks.h (struct lang_hooks_for_types): Remove hash_types field. |
| * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete. |
| (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES. |
| * system.h (LANG_HOOKS_HASH_TYPES): Poison. |
| * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types. |
| (build_nonstandard_integer_type): Likewise. |
| (build_range_type_1): New function, built from... |
| (build_range_type): ...this. Call build_range_type_1. |
| (build_nonshared_range_type): New function. |
| (build_array_type_1): New function, built from... |
| (build_array_type: ...this. Call build_array_type_1. |
| (build_nonshared_array_type): New function. |
| * tree.h (build_nonshared_range_type): Declare. |
| (build_nonshared_array_type): Likewise. |
| |
| 2010-09-20 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| (arm_class_likely_spilled_p): New function. |
| |
| 2010-09-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using |
| indirect functions. |
| (ix86_split_ashl): Ditto. |
| (ix86_split_ashr): Ditto. |
| (ix86_split_lshr): Ditto. |
| (ix86_adjust_counter): Ditto. |
| |
| 2010-09-20 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| * c-family/c-common.h (constant_string_class): Documented with |
| comment identical to the one already in c-common.c. |
| |
| 2010-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (any_cfis_emitted): New static variable. |
| (add_fde_cfi): Set it. |
| (dwarf2out_frame_debug): Clear it before processing, |
| if it is set afterwards, flush any queued reg saves. |
| |
| PR debug/45124 |
| * dwarf2out.c (add_accessibility_attribute): Assume |
| DW_ACCESS_private as the default for dwarf_version > 2 |
| and DW_TAG_class_type parent. |
| (gen_inheritance_die): Assume DW_ACCESS_public as the default |
| for dwarf_version > 2 and parent other than DW_TAG_class_type. |
| |
| 2010-09-20 Rafael Carre <rafael.carre@gmail.com> |
| |
| PR target/45726 |
| * arm.md (arm_movt): Only enable on machines with MOVT. |
| |
| 2010-09-20 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/arm.c (arm_address_offset_is_imm): New. |
| (arm_early_store_addr_dep): New. |
| (arm_early_load_addr_dep): New. |
| * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare. |
| (arm_early_load_addr_dep): Declare. |
| (arm_address_offset_is_imm): Declare. |
| * config/arm/cortex-m4.md: New file. |
| * config/arm/cortex-m4-fpu.md: New file. |
| * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md. |
| (attr generic_sched): Exclude cortexm4. |
| (attr generic_vfp): Exclude cortexm4. |
| |
| 2010-09-20 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45704 |
| * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness. |
| |
| 2010-09-20 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/45605 |
| * cgraph.h (const_value_known_p): Declare. |
| (varpool_decide_const_value_known): Remove. |
| * tree-ssa-ccp.c (get_base_constructor): Use it. |
| * lto-cgraph.c (compute_ltrans_boundary): Likewise. |
| * expr.c (string_constant): Likewise. |
| * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise. |
| * ipa.c (ipa_discover_readonly_nonaddressable_var, |
| function_and_variable_visibility): Likewise. |
| * gimplify.c (gimplify_call_expr): Likewise. |
| * gimple-fold.c (get_symbol_constant_value): Likewise. |
| * varpool.c (varpool_decide_const_value_known): Replace by... |
| (const_value_known_p): ... this one; handle other kinds of DECLs |
| too and work for automatic vars. |
| (varpool_finalize_decl): Use const_value_known_p. |
| |
| 2010-09-20 Rafael Carre <rafael.carre@gmail.com> |
| |
| PR target/45726 |
| * arm.md (arm_movtas_ze): Only enable on machine with MOVT. |
| |
| 2010-09-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45705 |
| * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination. |
| |
| 2010-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/45695 |
| * combine.c (try_combine): When splitting a two set pattern, |
| make sure the pattern which will be put into i2 doesn't use REGs |
| or MEMs set by insns in between i2 and i3. |
| |
| 2010-09-19 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/44246 |
| * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid |
| processing same node twice. |
| |
| 2010-09-19 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| (bfin_class_likely_spilled_p): New function |
| |
| 2010-09-19 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/45714 |
| * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement |
| created in vectorizable_call instead of the original statement in |
| def stmt updates. |
| |
| 2010-09-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-protos.h (split_double_mode): New prototype. |
| (split_di, split_ti): Remove prototypes. |
| * config/i386/i386.c (split_double_mode): New function. |
| (split_di, split_ti): Remove. |
| (ix86_expand_branch): Use split_double_mode. |
| (ix86_split_to_parts): Ditto. |
| (ix86_split_ashl): Ditto. |
| (ix86_split_ashr): Ditto. |
| (ix86_split_lshr): Ditto. |
| (ix86_force_to_memory): Ditto. |
| * config/i386/i386.md: Use split_double_mode in double-mode splitters. |
| |
| 2010-09-18 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/45453 |
| * cgraphunit.c (cgraph_finalize_function): Consider comdat & external |
| virtual functions are reachable. |
| * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise. |
| * ipa.c (cgraph_remove_unreachable_nodes): Likewise. |
| * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P |
| when modifying function. |
| |
| 2010-09-18 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/45605 |
| * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack. |
| * gimple-fold.c (static_object_in_other_unit_p): New function. |
| (canonicalize_constructor_val): Use it. |
| (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val |
| returning NULL. |
| (gimple_fold_obj_type_ref_known_binfo): Use |
| static_object_in_other_unit_p. |
| |
| 2010-09-18 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45709 |
| * tree-inline.c (copy_phis_for_bb): Delay commit of edge |
| insertions until after all PHI nodes of the block are processed. |
| |
| 2010-09-18 Tijl Coosemans <tijl@coosemans.org> |
| |
| * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add. |
| |
| 2010-09-18 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config.gcc (*-w64-mingw*): Correct typo about t-dfprules. |
| |
| 2010-09-18 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45709 |
| * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it. |
| |
| 2010-09-17 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION. |
| (dot_deps_stmt): Same. |
| * graphite-poly.c (dot_lst): Same. |
| * graphite-scop-detection.c (dot_all_scops): Same. |
| (dot_scop): Same. |
| |
| 2010-09-17 Sebastian Pop <sebastian.pop@amd.com> |
| |
| Revert: |
| 2009-12-16 Ben Elliston <bje@au.ibm.com> |
| |
| * tree-data-ref.c (dot_rdg_1): Added back. |
| (dot_rdg): Same. Added "#if 0" around system call. |
| |
| 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> |
| Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (initial_ix86_tune_features): Add |
| X86_TUNE_PAD_SHORT_FUNCTION. |
| (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION. |
| (ix86_count_insn): New. |
| (ix86_pad_short_function): Likewise. |
| (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION. |
| |
| * config/i386/i386.h (ix86_tune_indices): Add |
| X86_TUNE_PAD_SHORT_FUNCTION. |
| (TARGET_PAD_SHORT_FUNCTION): New. |
| |
| * config/i386/i386.md (UNSPEC_NOPS): New. |
| (nops): Likewise. |
| |
| 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/45234 |
| * calls.c (expand_call): Make sure that all variable sized |
| adjustments are multiple of preferred stack boundary after |
| stack alignment. |
| |
| 2010-09-17 DJ Delorie <dj@redhat.com> |
| |
| * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is |
| passed an invalid value, print an error instead of ICEing. |
| (valid_psw_flag): New. |
| (rx_expand_builtin): Call it for setpsw/clrpsw. |
| (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX. |
| |
| * config/rx/rx.md (bitclr): Don't mark the output as early-clobber. |
| (bitclr_in_memory): Likewise. |
| (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile. |
| |
| 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/45678 |
| * cfgexpand.c (update_stack_alignment): New. |
| (get_decl_align_unit): Use it. |
| (expand_one_stack_var_at): Call update_stack_alignment. |
| |
| 2010-09-17 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): |
| Properly copy the read string. |
| |
| 2010-09-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (Variable): Document. |
| * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't |
| generate target_flags declarations explicitly. Don't define |
| VarExists variables for the driver. |
| * common.opt (target_flags): New Variable record. |
| (flag_dump_unnumbered, flag_dump_unnumbered_links, |
| flag_var_tracking, flag_var_tracking_assignments, |
| flag_var_tracking_assignments_toggle): Don't mark variables with |
| VarExists. |
| * config/i386/i386.c (ix86_isa_flags): Don't define here. |
| * config/i386/i386.opt (ix86_isa_flags): Define here. |
| * config/mcore/mcore.c (mcore_stack_increment): Don't define here. |
| * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with |
| VarExists. |
| * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove. |
| * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links): |
| Only define for generator programs. |
| * rtlanal.c (target_flags): Remove. |
| * toplev.c (flag_var_tracking, flag_var_tracking_assignments, |
| flag_var_tracking_assignments_toggle): Remove. |
| |
| 2010-09-17 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/43432 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_access): |
| Accept backwards consecutive accesses. |
| (vect_create_data_ref_ptr): If step is negative generate |
| decreasing IVs. |
| * tree-vect-stmts.c (vectorizable_store): Reject negative steps. |
| (perm_mask_for_reverse, reverse_vec_elements): New functions. |
| (vectorizable_load): Handle loads with negative steps when easily |
| possible. |
| |
| 2010-09-03 Jan Hubicka <jh@suse.cz> |
| |
| * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known. |
| |
| 2010-09-03 Naveen H.S <naveen.S@kpitcummins.com> |
| |
| * config/v850/v850.c (v850_function_value_regno_p): Make static. |
| Adjust comments. Declare. |
| (TARGET_FUNCTION_VALUE_REGNO_P): Define. |
| * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete. |
| |
| 2010-09-17 Richard Guenther <rguenther@suse.de> |
| |
| * common.opt (combine): Remove. |
| * gcc.c (default_compilers): Remove specs testing combine. |
| The C compilers no longer can combine. |
| (option_map): Remove -combine. |
| (display_help): Remove -combine. |
| (driver_handle_option): Remove OPT_combine handling. |
| (compile_input_file_p): Remove. |
| (do_spec): Remove code concerning combine. |
| (main): Likewise. |
| * doc/invoke.texi: Remove traces of -combine. |
| * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver. |
| |
| 2010-09-17 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45678 |
| * builtins.c (fold_builtin_memory_op): Always properly adjust |
| alignment of memory accesses. |
| |
| 2010-09-16 Jan Hubicka <jh@suse.cz> |
| |
| * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when |
| processing clone. |
| |
| 2010-09-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_split_idivmod): New prototype. |
| |
| * config/i386/i386.c (predict_jump): Add prototype. |
| (flag_opts): Add -m8bit-idiv. |
| (ix86_split_idivmod): New. |
| |
| * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New. |
| Add 2 splitters for SI/DI mode divide. |
| (divmod<mode>4_1): New pattern. |
| (udivmod<mode>4_1): Likewise. |
| (testdi_ccno_1): Likewise. |
| |
| * config/i386/i386.opt (m8bit-idiv): New. |
| |
| * doc/invoke.texi: Document -m8bit-idiv. |
| |
| 2010-09-16 Reza Yazdani <reza.yazdani@amd.com> |
| |
| PR bootstrap/45680 |
| * config/i386/i386.c (min_insn_size): Moved out of the |
| ASM_OUTPUT_MAX_SKIP_PAD ifdef. |
| |
| 2010-09-16 Jan Hubicka <jh@suse.cz> |
| |
| * lto-cgraph.c (lto_output_node): Fix handling of clones. |
| * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of |
| unreachable clones with reachable clones. |
| * tree-inline.c (copy_bb): Fix sanity checking when producing |
| unreachable clone. |
| |
| 2010-09-16 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove. |
| (TARGET_MEMORY_MOVE_COST): Define. |
| (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED. |
| |
| 2010-09-16 Alexander Monakov <amonakov@ispras.ru> |
| |
| * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of |
| maybe_tidy_empty_bb. |
| |
| Revert: |
| 2010-09-06 Alexander Monakov <amonakov@ispras.ru> |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Export. |
| |
| 2010-09-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * target.def (target_option.optimization): New hook. |
| * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to |
| TARGET_OPTION_OPTIMIZATION hook. |
| * doc/tm.texi: Regenerate. |
| * hooks.c (hook_void_int_int): New. |
| * hooks.h (hook_void_int_int): Declare. |
| * opts.c: Don't include tm_p.h. |
| (decode_options): Use targetm.target_option.optimization instead |
| of OPTIMIZATION_OPTIONS. |
| * system.h (OPTIMIZATION_OPTIONS): Poison. |
| * config/arm/arm-protos.h (arm_optimization_options): Remove. |
| * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (arm_optimization_options): Rename to arm_option_optimization. |
| Make static. |
| * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (cris_option_optimization): New. |
| * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (crx_option_optimization): New. |
| * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/frv/frv-protos.h (frv_optimization_options): Remove. |
| * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (frv_optimization_options): Rename to frv_option_optimization. |
| Make static. |
| * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/h8300/h8300.c (h8300_option_optimization): New. |
| (TARGET_OPTION_OPTIMIZATION): Define. |
| * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/i386/i386-protos.h (optimization_options): Remove. |
| * config/i386/i386.c (optimization_options): Rename to |
| ix86_option_optimization. Make static. |
| (TARGET_OPTION_OPTIMIZATION): Define. |
| * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/ia64/ia64-protos.h (ia64_optimization_options): Remove. |
| * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (ia64_optimization_options): Rename to ia64_option_optimization. |
| Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS. |
| * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove |
| commented-out definition. |
| * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define |
| instead of OPTIMIZATION_OPTIONS. |
| * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (m32r_option_optimization): New. |
| * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options): |
| Remove. |
| * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (mcore_option_optimization): New. |
| * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/mep/mep-protos.h (mep_optimization_options): Remove. |
| * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (mep_optimization_options): Rename to mep_option_optimization. |
| Make static. Take unused level and size parameters. |
| * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (mmix_option_optimization): New. |
| * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (pdp11_option_optimization): New. |
| * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/rs6000/rs6000-protos.h (optimization_options): Remove. |
| * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (optimization_options): Rename to rs6000_option_optimization. |
| Make static. |
| * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/rx/rx-protos.h (rx_set_optimization_options): Remove. |
| * config/rx/rx.c (rx_set_optimization_options): Rename to |
| rx_option_optimization. Make static. Take unused level and size |
| parameters. |
| (TARGET_OPTION_OPTIMIZATION): Define. |
| * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/s390/s390-protos.h (optimization_options): Remove. |
| * config/s390/s390.c (optimization_options): Rename to |
| s390_option_optimization. Make static. Don't mark size parameter |
| unused. |
| (TARGET_OPTION_OPTIMIZATION): Define. |
| * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/sh/sh-protos.h (sh_optimization_options): Remove. |
| * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (sh_optimization_options): Rename to sh_option_optimization. Make |
| static. Don't mark parameters unused. |
| * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/spu/spu-protos.h (spu_optimization_options): Remove. |
| * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (spu_optimization_options): Rename to spu_option_optimization. |
| Make static. |
| * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (v850_option_optimization): New. |
| * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove. |
| * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define. |
| (xtensa_option_optimization): New. |
| * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove. |
| |
| 2010-09-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation. |
| (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS. |
| * doc/tm.texi: Regenerate. |
| * system.h (OVERRIDE_OPTIONS): Poison. |
| * target.def (override): Default to hook_void_void. |
| * targhooks.c (default_target_option_override): Remove. |
| * genmodes.c, machmode.def: Update comments mentioning |
| OVERRIDE_OPTIONS. |
| * config/alpha/alpha-modes.def: Update comment mentioning |
| alpha_override_options. |
| * config/alpha/alpha-protos.h (override_options): Remove. |
| * config/alpha/alpha.c (override_options): Rename to |
| alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove. |
| * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead |
| of OVERRIDE_OPTIONS. |
| * config/arc/arc-protos.h (arc_init): Remove. |
| * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define. |
| (arc_init): Rename to arc_option_override. Make static. |
| * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment. |
| (OVERRIDE_OPTIONS): Remove. |
| * config/arm/arm-protos.h (arm_override_options): Remove. |
| * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define. |
| (arm_override_options): Rename to arm_option_override. Make |
| static. Call SUBTARGET_OVERRIDE_OPTIONS. |
| * config/arm/arm.h (OVERRIDE_OPTIONS): Remove. |
| * config/arm/arm.md: Update comment referring to arm_override_options. |
| * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define |
| instead of OVERRIDE_OPTIONS. |
| * config/avr/avr-protos.h (avr_override_options): Remove. |
| * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define. |
| (avr_override_options): Rename to avr_option_override. Make static. |
| * config/avr/avr.h (OVERRIDE_OPTIONS): Remove. |
| * config/bfin/bfin-protos.h (override_options): Remove (twice). |
| * config/bfin/bfin.c (override_options): Rename to |
| bfin_option_override. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove. |
| * config/cris/cris-protos.h (cris_override_options): Remove. |
| * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define. |
| (cris_override_options): Rename to cris_option_override. Make static. |
| * config/cris/cris.h (OVERRIDE_OPTIONS): Remove. |
| * config/frv/frv-protos.h (frv_override_options): Remove. |
| * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define. |
| (frv_override_options): Rename to frv_option_override. Make static. |
| * config/frv/frv.h (OVERRIDE_OPTIONS): Remove. |
| * config/h8300/h8300-protos.h (h8300_init_once): Remove. |
| * config/h8300/h8300.c (h8300_init_once): Rename to |
| h8300_option_override. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove. |
| * config/i386/i386-protos.h (override_options): Remove. |
| * config/i386/i386.c (override_options): Rename to |
| ix86_option_override_internal. Make static. Comments referring |
| to this function and callers changed. |
| (ix86_option_override): New. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/i386/i386.h (OVERRIDE_OPTION): Remove. |
| * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment. |
| * config/ia64/ia64.c (ia64_file_start): Update comment referring |
| to ia64_override_options. |
| * config/iq2000/iq2000-protos.h (override_options): Remove. |
| * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define. |
| (override_options): Rename to iq2000_option_override. Make static. |
| * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove. |
| * config/lm32/lm32-protos.h (lm32_override_options): Remove. |
| * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define. |
| (lm32_override_options): Rename to lm32_option_override. Make static. |
| * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove. |
| * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define. |
| (m32r_option_override): New. |
| (m32r_init): Update comment. |
| * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove. |
| * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove. |
| * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define. |
| (m68hc11_override_options): Rename to m68hc11_option_override. |
| Make static. Return void. |
| * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove. |
| * config/m68k/m68k-protos.h (override_options): Remove. |
| * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define. |
| (override_options): Rename to m68k_option_override. Make static. |
| * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove. |
| * config/mcore/mcore-protos.h (mcore_override_options): Remove. |
| * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define. |
| (mcore_override_options): Rename to mcore_option_override. Make |
| static. |
| * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove. |
| * config/mep/mep-protos.h (mep_override_options): Remove. |
| * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define. |
| (mep_override_options): Rename to mep_option_override. Make static. |
| * config/mep/mep.h (OVERRIDE_OPTIONS): Remove. |
| * config/mmix/mmix-protos.h (mmix_override_options): Remove. |
| * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define. |
| (mmix_override_options): Rename to mmix_option_override. Make static. |
| * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove. |
| * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove. |
| * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define. |
| (mn10300_override_options): Rename to mn10300_option_override. |
| Make static. |
| * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove. |
| * config/moxie/moxie-protos.h (moxie_override_options): Remove. |
| * config/moxie/moxie.c (moxie_override_options): Rename to |
| moxie_option_override. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove. |
| * config/picochip/picochip-protos.h (picochip_override_options): |
| Remove. Update comment referring to picochip_override_options. |
| * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define. |
| (picochip_override_options): Rename to picochip_option_override. |
| Make static. Update comment and definition of |
| TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE. |
| * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove. |
| * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define |
| instead of OVERRIDE_OPTIONS. |
| * config/rs6000/rs6000-modes.def: Update comment referring to |
| rs6000_override_options. |
| * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove. |
| * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define. |
| (rs6000_override_options): Rename to |
| rs6000_option_override_internal. Make static. Commented |
| referring to rs6000_override_options and OVERRIDE_OPTIONS updated. |
| (rs6000_option_override): New. |
| * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define |
| instead of OVERRIDE_OPTIONS. |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment. |
| * config/s390/s390-protos.h (override_options): Remove. |
| * config/s390/s390.c (override_options): Rename to |
| s390_option_override. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| * config/s390/s390.h (OVERRIDE_OPTIONS): Remove. |
| * config/score/score-protos.h (score_override_options): Remove. |
| * config/score/score.c (TARGET_OPTION_OVERRIDE): Define. |
| (score_override_options): Rename to score_option_override. Make |
| static. |
| * config/score/score.h (OVERRIDE_OPTIONS): Remove. |
| Update comment referring to override_options. |
| * config/score/score3.c (score3_override_options): Rename to |
| score3_option_override. |
| * config/score/score3.h (score3_override_options): Rename to |
| score3_option_override. |
| * config/score/score7.c (score7_override_options): Rename to |
| score7_option_override. |
| * config/score/score7.h (score7_override_options): Rename to |
| score7_option_override. |
| * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS. |
| * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define. |
| (sparc_override_options): Rename to sparc_option_override. Make |
| static. Call SUBTARGET_OVERRIDE_OPTIONS. |
| * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove. |
| * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define |
| instead of OVERRIDE_OPTIONS. |
| * config/spu/spu-protos.h (spu_override_options): Remove. |
| * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define. |
| (spu_override_options): Rename to spu_option_override. Make |
| static. |
| * config/spu/spu.h (OVERRIDE_OPTIONS): Remove. |
| * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of |
| OVERRIDE_OPTIONS. |
| * config/vax/vax-protos.h (override_options): Remove. |
| * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define. |
| (override_options): Rename to vax_option_override. Make static. |
| Call SUBTARGET_OVERRIDE_OPTIONS. |
| * config/vax/vax.h (OVERRIDE_OPTIONS): Remove. |
| * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS. |
| * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS. |
| * config/xtensa/xtensa-protos.h (override_options): Remove. |
| * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define. |
| (override_options): Rename to xtensa_option_override. Make static. |
| * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove. |
| |
| 2010-09-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45623 |
| * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust. |
| (get_constraint_for_component_ref): If computing a constraint |
| for the rhs handle type punning through unions. |
| (get_constraint_for_address_of): Adjust. |
| (get_constraint_for_1): Likewise. |
| (get_constraint_for): Likewise. |
| (get_constraint_for_rhs): New function. |
| (do_structure_copy): Adjust. |
| (make_constraint_to): Likewise. |
| (handle_const_call): Likewise. |
| (find_func_aliases): Likewise. |
| (process_ipa_clobber): Likewise. |
| (create_variable_info_for): Likewise. |
| |
| 2010-09-16 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c: Fix documentation. |
| * tree-vectorizer.h (vinfo_for_stmt): Add documentation. |
| (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt, |
| is_pattern_stmt_p, is_loop_header_bb_p, |
| stmt_vinfo_set_inside_of_loop_cost, |
| stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p, |
| known_alignment_for_access_p): Likewise. |
| * tree-vect-loop.c: Fix documentation. |
| (vect_get_cost): Start function name from new line. |
| * tree-vect-data-refs.c: Fix documentation. |
| * tree-vect_stmts.c: Likewise. |
| (vect_create_vectorized_promotion_stmts): Always free vec_tmp. |
| (vectorizable_store): Free vec_oprnds if allocated. |
| (vectorizable_condition): Initialize several variables to avoid |
| warnings. |
| * tree-vect-slp.c: Fix documentation. |
| |
| 2010-09-16 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL |
| is TS_TRANSLATION_UNIT_DECL. |
| (initialize_tree_contains_struct): Adjust. |
| (all_translation_units): New global vector. |
| (build_translation_unit_decl): New function. |
| * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro. |
| (struct tree_translation_unit_decl): New. |
| (all_translation_units): Declare. |
| (union tree_node): Add translation_unit_decl member. |
| (build_translation_unit_decl): Declare. |
| * treestruct.def (TS_TRANSLATION_UNIT_DECL): New. |
| * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields): |
| New function. |
| (pack_value_fields): Call it. |
| (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL. |
| (lto_output_ts_translation_unit_decl_tree_pointers): New function. |
| (lto_output_tree_pointers): Call it. |
| * lto-streamer-in.c (lto_input_tree_ref): Handle references |
| to TRANSLATION_UNIT_DECL. |
| (unpack_ts_translation_unit_decl_value_fields): New function. |
| (unpack_value_fields): Call it. |
| (lto_input_ts_translation_unit_decl_tree_pointers): New function. |
| (lto_input_tree_pointers): Call it. |
| * lto-streamer.c (check_handled_ts_structures): Adjust. |
| * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref. |
| * c-decl.c (all_translation_units): Remove. |
| (pop_scope): Use build_translation_unit_decl. |
| (collect_all_refs): Adjust. |
| (for_each_global_decl): Likewise. |
| (c_write_global_declarations): Likewise. |
| |
| 2010-09-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/45686 |
| * fold-const.c (fold_checksum_tree): Change slot from const void ** |
| to void **, use CONST_CAST_TREE to store into *slot. |
| |
| 2010-09-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md: Remove unneeded empty conditions and |
| preparation statements from expanders. |
| * config/i386/mmx.md: Ditto. |
| * config/i386/sse.md: Ditto. |
| |
| 2010-09-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD. |
| |
| 2010-09-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/45593 |
| * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit |
| insns that were in delay slots as stand-alone insns. |
| |
| 2010-09-15 Ian Lance Taylor <iant@google.com> |
| |
| * incpath.c (remove_duplicates): If name is not a directory, issue |
| a warning rather than an error. |
| |
| 2010-09-15 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/45644 |
| * tree-sra.c (create_access): Check for bit-fields directly. |
| |
| 2010-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/45633 |
| * tree-cfg.c (verify_gimple_assign_binary): Allow |
| MINUS_EXPR with lhs and rhs1 pointer vector and |
| rhs2 sizetype vector. |
| * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer |
| or vector pointer use TER to optimize pointer subtraction. |
| |
| 2010-09-15 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/vfp.md (cmpsf_trap_vfp): Change type from |
| fcmpd to fcmps. |
| |
| 2010-09-15 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/i386.md (truncxf<mode>2): Fix indentation. |
| |
| 2010-09-15 Ian Lance Taylor <iant@google.com> |
| |
| * function.c (get_arg_pointer_save_area): Set |
| arg_pointer_save_area_init to true. |
| |
| 2010-09-15 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (generate_subtree_copies): Updated comment. |
| (handle_unscalarized_data_in_subtree): Removed parameter lhs which is |
| obtained from the statement iterator instead. |
| (load_assign_lhs_subreplacements): Removed parameters lhs and |
| right_offset, which is obtained from top_racc instead. Parameter lacc |
| is now expected to be the root of the processed tree rather than root's |
| first child. Updated all callers. |
| |
| 2010-09-15 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/pdp11/pdp11.c (register_move_cost): Rename to |
| pdp11_register_move_cost. |
| * config/pdp11/pdp11-protos.h (register_move_cost): Rename to |
| pdp11_register_move_cost. |
| * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call |
| pdp11_register_move_cost instead of register_move_cost. |
| |
| 2010-09-15 Tejas Belagod <tejas.belagod@arm.com> |
| |
| * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction |
| pattern for vmovn. Expansion in case of non |
| -mvectorize-with-neon-quad. |
| (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for |
| non- -mvectorize-with-neon-quad case. |
| (move_lo_quad_<mode>): New expansion to vmov into low part. |
| (move_hi_quad_<mode>): New expansion to vmov into high part. |
| (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion. |
| (move_lo_quad_v4sf): Likewise. |
| (move_lo_quad_v8hi): Likewise. |
| (neon_move_lo_quad_<mode>): Instruction pattern for vmov into |
| low part. |
| (neon_move_hi_quad_<mode>): Instruction pattern for vmov into |
| high part. |
| * config/arm/iterators.md (ANY128): New mode iterator. |
| (V_narrow_pack): New mode attribute. |
| (V_HALF): Add attribute. |
| (V_DOUBLE): Add attribute. |
| (V_mode_nunits): Add attribute. |
| |
| 2010-09-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/alpha/alpha.c (alpha_expand_prologue): If stack checking |
| is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes. |
| |
| 2010-09-15 Olivier Hainque <hainque@adacore.com> |
| Jose Ruiz <ruiz@adacore.com> |
| |
| * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define. |
| * config/alpha/osf5-unwind.h: New file. |
| |
| 2010-09-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/45672 |
| * config/mips/mips.c (mips_units_per_simd_word): Correct return type. |
| * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise. |
| * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise. |
| |
| 2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| * c-lang.h (struct lang_type): Add variable_size GTY option. |
| |
| 2010-09-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/45672 |
| * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New. |
| |
| 2010-09-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_lea_for_add_ok): Return false if |
| result isn't used in memory address. |
| |
| 2010-09-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * defaults.h (UNITS_PER_SIMD_WORD): Removed. |
| * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise. |
| * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise. |
| * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise. |
| * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise. |
| * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise. |
| |
| * target.def: Add units_per_simd_word to vectorize. |
| |
| * targhooks.c (default_units_per_simd_word): New. |
| * targhooks.h (default_units_per_simd_word): Likewise. |
| * config/arm/arm.c (arm_units_per_simd_word): Likewise. |
| (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise. |
| * config/mips/mips.c (mips_units_per_simd_word): Likewise. |
| (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise. |
| * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise. |
| (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise. |
| * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise. |
| (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise. |
| |
| * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with |
| TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments. |
| |
| * tree-vect-stmts.c: Don't include "tm_p.h". |
| (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD |
| with targetm.vectorize.units_per_simd_word. |
| |
| * system.h (UNITS_PER_SIMD_WORD): Poisoned. |
| |
| * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed. |
| |
| * config/i386/i386.c (ix86_units_per_simd_word): Make it static. |
| (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New. |
| |
| * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add |
| TARGET_VECTORIZE_UNITS_PER_SIMD_WORD. |
| |
| * doc/tm.texi: Regenerated. |
| |
| 2010-09-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * tree-vect-stmts.c: Include "tm_p.h". |
| |
| * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved |
| out of RTX_CODE. |
| |
| 2010-09-14 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the |
| location of generated statement. Changed all callers. |
| (build_ref_for_model): New parameter loc which used to set location of |
| all generated expressions. Changed all callers. |
| (generate_subtree_copies): Likewise. |
| (init_subtree_with_zero): Likewise. |
| (sra_modify_expr): Set locations of all generated statements and |
| expressions to the location the original statement. |
| (handle_unscalarized_data_in_subtree): Likewise. |
| (load_assign_lhs_subreplacements): Likewise. |
| (sra_modify_constructor_assign): Likewise. |
| (sra_modify_assign): Likewise. |
| |
| 2010-09-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/45277 |
| PR target/45363 |
| PR target/45407 |
| * doc/install.texi (sparc*-*-*): New section. |
| (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR. |
| |
| 2010-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45567 |
| * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi, |
| expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead. |
| (expand_builtin): Adjust caller. |
| (expand_builtin_unop): Only use subtarget if it has the right mode. |
| |
| 2010-09-14 Tristan Gingold <gingold@adacore.com> |
| |
| * configure.ac (plugins): Fix typos. |
| * configure: Regenerate. |
| |
| 2010-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45660 |
| * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before |
| gen_type_die for function/method return type. |
| |
| 2010-09-14 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/45470 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement |
| can throw an exception. |
| * tree-vect-stmts.c (vectorizable_call): Likewise. |
| |
| 2010-09-14 DJ Delorie <dj@redhat.com> |
| |
| PR target/44749 |
| * config/mep/mep-protos.h (mep_save_register_info, |
| mep_reinit_regs, mep_init_regs): Declare. |
| |
| * config/mep/mep.c: Move all target definitions to the end of the |
| file to avoid the need for duplicate declarations. |
| (mep_save_register_info, mep_reinit_regs, mep_init_regs): New. |
| (mep_reorg_erepeat): Remove unused variables. |
| (mep_expand_builtin): Likewise. |
| |
| * config/mep/mep-pragma.c: Don't include rtl.h. |
| (INVALID_REGNUM): New. |
| (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge |
| functions. |
| (mep_pragma_coprocessor_subclass): Rename "class" to "rclass". |
| Avoid enum/integer math. |
| |
| 2010-09-13 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/44749 |
| * config/mep/t-mep (GTM_H): Add insn-constants.h. |
| * config/mep/mep.c (mep_conditional_register_usage): Take no |
| parameters. |
| * config/mep/mep-protos.h (mep_conditional_register_usage): Update |
| prototype. |
| * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update |
| call to mep_conditional_register_usage. |
| |
| 2010-09-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR debug/43937 |
| * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on |
| the DECL as well. |
| |
| 2010-09-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/45617 |
| * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C |
| even if low N bits of X aren't known to be zero. |
| |
| 2010-09-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_units_per_simd_word): New. |
| |
| * config/i386/i386.c (initial_ix86_tune_features): Add |
| X86_TUNE_VECTORIZE_DOUBLE. |
| (ix86_units_per_simd_word): New. |
| |
| * config/i386/i386.h (ix86_tune_indices): Add |
| X86_TUNE_VECTORIZE_DOUBLE. |
| (TARGET_VECTORIZE_DOUBLE): New. |
| (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word. |
| |
| 2010-09-13 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field. |
| (new_temp_expr_table): Allocate call_cnt vector. |
| (free_temp_expr_table): Free it. |
| (process_replaceable): Add call_cnt parm and set in vector. |
| (find_replaceable_in_bb): Skip replacement if def/use span a call. |
| (debug_ter): Dump call_cnt value, remove stderr uses. |
| |
| 2010-09-13 Jan Hubicka <jh@suse.cz> |
| |
| * tree.c (build_zero_cst): New. |
| * tree.h (build_zero_cst): Declare. |
| * tree-ssa-ccp.c (get_constant_value): Accept general operands. |
| (get_base_constructor): Break out from ... |
| (fold_const_aggregate_ref): Here; handle empty constructors. |
| |
| 2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/arm/arm.md: (define_attr "conds"): Update comment. |
| * config/arm/sync.md (arm_sync_compare_and_swapsi): Change |
| conds attribute to clob. |
| (arm_sync_compare_and_swapsi): Likewise. |
| (arm_sync_compare_and_swap<mode>): Likewise. |
| (arm_sync_lock_test_and_setsi): Likewise. |
| (arm_sync_lock_test_and_set<mode>): Likewise. |
| (arm_sync_new_<sync_optab>si): Likewise. |
| (arm_sync_new_nandsi): Likewise. |
| (arm_sync_new_<sync_optab><mode>): Likewise. |
| (arm_sync_new_nand<mode>): Likewise. |
| (arm_sync_old_<sync_optab>si): Likewise. |
| (arm_sync_old_nandsi): Likewise. |
| (arm_sync_old_<sync_optab><mode>): Likewise. |
| (arm_sync_old_nand<mode>): Likewise. |
| |
| 2010-09-13 Olivier Hainque <hainque@adacore.com> |
| |
| * fwprop.c (forward_propagate_and_simplify): Only attach a |
| REG_EQUAL note to an insn if the destination is a register. |
| * gcse.c (try_replace_reg): Likewise. |
| |
| 2010-09-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45611 |
| * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo. |
| (copy_ref_info): Likewise. |
| |
| 2010-09-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/45604 |
| PR debug/45419 |
| PR debug/45408 |
| * tree-pretty-print.c (dump_generic_node): Disregard top-level |
| types of MEM_REF pointer types to the same type. |
| |
| 2010-09-13 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR rtl-optimization/41087 |
| * ifcvt.c (noce_get_condition): Don't allow conditions with |
| side-effects. |
| |
| 2010-09-12 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. |
| * config/frv/frv-protos.h (frv_register_move_cost): Remove. |
| * config/frv/frv.c (frv_register_move_cost): Make static. Change |
| arguments type to reg_class_t. Add mode argument. |
| (frv_memory_move_cost): New. |
| (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define. |
| |
| 2010-09-12 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit, |
| arm_lshrdi3_1bit): Put earlyclobber on the right alternative. |
| |
| 2010-09-10 Jan Hubicka <jh@suse.cz> |
| |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag. |
| |
| 2010-09-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE. |
| * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove. |
| * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do |
| not stream TYPE_DEBUG_REPRESENTATION_TYPE. |
| * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise. |
| |
| 2010-09-10 Richard Guenther <rguenther@suse.de> |
| |
| * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type |
| for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS. |
| * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE |
| using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE. |
| |
| 2010-09-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/45634 |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result |
| of string folding is of integral type. |
| |
| 2010-09-10 Ryan Mansfield <rmansfield@qnx.com> |
| |
| * doc/invoke.texi (-x): Fix typo. |
| |
| 2010-09-10 Richard Guenther <rguenther@suse.de> |
| |
| PR debug/44115 |
| * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR. |
| * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers): |
| Output DECL_DEBUG_EXPR. |
| * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers): |
| Input DECL_DEBUG_EXPR. |
| |
| 2010-09-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE. |
| (build_index_type): Implement in terms of build_range_type. |
| (build_range_type): Do not allow NULL_TREE type, improve |
| hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P |
| if we didn't hash. |
| * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually |
| create a distinct copy of the type. |
| |
| 2010-09-10 Kai Tietz <kai.tietz@onevision.com> |
| |
| * configure: Regenerated. |
| * config.gcc: Add for x86_64 and i?86 mingw t-dfprule. |
| |
| 2010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9. |
| * config/arm/cortex-a9-neon.md: New and partially generated. |
| * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon. |
| |
| 2010-09-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (build_index_2_type): Remove. |
| * tree.c (build_index_2_type): Remove. |
| |
| 2010-09-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/45630 |
| * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of |
| HOST_WIDE_INT_PRINT_DEC to print ref->die_offset. |
| (implicit_ptr_descriptor): Return NULL if dwarf_strict. |
| |
| 2010-09-10 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44972 |
| * tree-sra.c: Include toplev.h. |
| (build_ref_for_offset): Entirely reimplemented. |
| (build_ref_for_model): New function. |
| (build_user_friendly_ref_for_offset): New function. |
| (analyze_access_subtree): Removed build_ref_for_offset check. |
| (propagate_subaccesses_across_link): Likewise. |
| (create_artificial_child_access): Use |
| build_user_friendly_ref_for_offset. |
| (propagate_subaccesses_across_link): Likewise. |
| (ref_expr_for_all_replacements_p): Removed. |
| (generate_subtree_copies): Updated comment. Use build_ref_for_model. |
| (sra_modify_expr): Use build_ref_for_model. |
| (load_assign_lhs_subreplacements): Likewise. |
| (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks, |
| checks for return values of build_ref_for_offset. |
| * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of |
| build_ref_for_offset. |
| * ipa-prop.h: Include gimple.h |
| * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs. |
| (ipa_analyze_indirect_call_uses): Update comment. |
| * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies. |
| (IPA_PROP_H): Likewise. |
| |
| 2010-09-10 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44972 |
| * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of |
| calling build_ref_for_offset. |
| |
| 2010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15. |
| * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a. |
| * config/arm/arm-tune.md: Regenerate. |
| * doc/invoke.texi (ARM Options): Document it. |
| |
| 2010-09-09 Reza Yazdani <reza.yazdani@amd.com> |
| |
| * config/i386/i386.c: Include sched-int.h. |
| (TARGET_SCHED_DISPATCH): Defined. |
| (TARGET_SCHED_DISPATCH_DO): Defined. |
| (DISPATCH_WINDOW_SIZE): Defined. |
| (MAX_DISPATCH_WINDOWS): Defined. |
| (MAX_INSN): Defined. |
| (MAX_IMM): Defined. |
| (MAX_IMM_SIZE): Defined. |
| (MAX_IMM_32): Defined. |
| (MAX_IMM_64): Defined. |
| (MAX_LOAD): Defined. |
| (MAX_STORE): Defined. |
| (BIG): Defined. |
| (dispatch_group): New. |
| (num_allowable_groups): New. |
| (group_name): New. |
| (sched_insn_info_s): New. |
| (dispatch_windows_s): New. |
| (imm_info_s): New. |
| (dispatch_window_list): New. |
| (dispatch_window_list1): New. |
| (get_mem_group): New. |
| (is_cmp): New. |
| (dispatch_violation): New. |
| (is_branch): New. |
| (is_prefetch): New. |
| (init_window): New. |
| (allocate_window): New. |
| (init_dispatch_sched): New. |
| (is_end_basic_block): New. |
| (process_end_window): New. |
| (allocate_next_window): New. |
| (find_constant_1): New. |
| (find_constant): New. |
| (get_num_immediates): New. |
| (has_immediate): New. |
| (get_insn_path): New. |
| (get_insn_group): New. |
| (count_num_restricted): New. |
| (fits_dispatch_window): New. |
| (add_insn_window): New. |
| (add_to_dispatch_window): New. |
| (debug_dispatch_window_file): New. |
| (debug_dispatch_window): New. |
| (debug_insn_dispatch_info_file): New. |
| (debug_ready_dispatch): New. |
| (do_dispatch): New. |
| (has_dispatch): New. |
| * config/i386/i386.h (debug_ready_dispatch): Declared. |
| (debug_dispatch_window): Declared. |
| * config/i386/i386.opt (mdispatch-scheduler): New flag. |
| * doc/tm.texi.in (TARGET_SCHED_DISPATCH): New. |
| (TARGET_SCHED_DISPATCH_DO): New. |
| * doc/tm.texi: Regererated. |
| * haifa-sched.c (choose_ready): Call targetm.sched.dispatch and |
| ready_remove_first_dispatch |
| (schedule_block): Call targetm.sched.dispatch and |
| targetm.sched.dispatch_do. |
| (sched_init): Call targetm.sched.dispatch and |
| targetm.sched.dispatch_do. |
| (ready_remove_first_dispatch): New. |
| (number_in_ready): New. |
| (get_ready_element): New. |
| * hooks.c (hook_bool_rtx_int_false): New. |
| (hook_void_rtx_int): New. |
| * hooks.h (hook_bool_rtx_int_false): Declared. |
| (hook_void_rtx_int): Declared. |
| * sched-int.h (IS_DISPATCH_ON): Defined. |
| (IS_CMP): Defined. |
| (DISPATCH_VIOLATION): Defined. |
| (FITS_DISPATCH_WINDOW): Defined. |
| (DISPATCH_INIT): Defined. |
| (ADD_TO_DISPATCH_WINDOW): Defined. |
| (get_ready_element): Declared. |
| (number_in_ready): Declared. |
| * target.def (dispatch): Defined. |
| (dispatch_do): Defined. |
| |
| 2010-09-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/45312 |
| * reload1.c (merge_assigned_reloads): Remove. |
| (reload_as_needed): Don't call it. |
| |
| 2010-09-09 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions. |
| (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. |
| * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove. |
| |
| 2010-09-09 Matthias Klose <doko@ubuntu.com> |
| |
| PR bootstrap/43847 |
| * configure.ac (--enable-plugin): Enhance for cross builds. |
| * configure: Regenerate. |
| |
| 2010-09-09 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/45598 |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of |
| string folding is of integral type. |
| |
| 2010-09-09 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * configure.ac (gnu_indirect_function): New test. |
| * configure: Rebuilt. |
| * config.in (HAVE_GAS_INDIRECT_FUNCTION): New. |
| * defaults.h (IFUNC_ASM_TYPE): Provide default. |
| |
| * doc/extend.texi (Function Attributes): Document ifunc. |
| * varasm.c (do_assemble_alias): Deal with ifuncs too. |
| |
| 2010-09-09 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (picochip_reorg): Check for note_p for |
| epilogue instruction move. |
| |
| 2010-09-09 Jan Hubicka <jh@suse.cz> |
| |
| * collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld |
| command line to allow more partitions than input files. |
| |
| 2010-09-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/44554 |
| * ira.c (ira): Switch off sharing spill slots if setjmp is called. |
| |
| 2010-09-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/40386 |
| * ira.c (pseudo_for_reload_consideration_p): Don't use |
| flag_ira_share_spill_slots. |
| |
| 2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/s390/s390.c (legitimate_reload_constant_p): Accept floating- |
| point zero operands that fit into a single GPR. |
| (s390_preferred_reload_class): Ensure we only return general-purpose |
| register classes. |
| * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load |
| floating-point zero operands into GPRs. |
| ("*mov<mode>_64"): Likewise. |
| ("mov<mode>"): Likewise using lhi. |
| |
| 2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/s390/s390.c (s390_symref_operand_p): Return false for |
| literal pool references. |
| (s390_check_qrst_address): Update caller. |
| |
| 2010-09-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (ext_register_operand): Check that |
| SUBREG_REG is really a register before looking for REGNO. |
| (reg_not_xmm0_operand): Handle SUBREGs correctly. |
| (nonimm_not_xmm0_operand): Call reg_not_xmm0_operand. |
| |
| 2010-09-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * rtl.def (DEBUG_IMPLICIT_PTR): New rtl code. |
| * rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define. |
| * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR. |
| * print-rtl.c (print_rtx): Likewise. |
| * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise. |
| * cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR |
| for ADDR_EXPR with non-addressable object. |
| * dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref. |
| (struct dw_val_struct): Add v.val_decl_ref. |
| (dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw): |
| Handle DW_OP_GNU_implicit_pointer. |
| (size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size. |
| (get_ref_die_offset_label): New function. |
| (implicit_ptr_descriptor): New function. |
| (mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR. |
| (loc_descriptor): Likewise. |
| (gen_variable_die): Put even definitions into decl_die_table. |
| (resolve_addr_in_expr): Resolve still unresolved |
| DW_OP_GNU_implicit_pointer operands, if it can't be resolved |
| return false. |
| (dwarf2out_finish): Call output_location_lists after outputting |
| .debug_info and .debug_abbrev instead of before. |
| |
| 2010-09-09 Roland McGrath <roland@redhat.com> |
| |
| * dwarf2out.c (DWARF_REF_SIZE): Define. |
| (size_of_loc_descr): Use it for DW_OP_call_ref. |
| |
| 2010-09-09 Alan Modra <amodra@gmail.com> |
| |
| * doc/invoke.text: Reinstate mcmodel=medium. |
| * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set |
| CMODEL_MEDIUM as default. |
| * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM. |
| * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium. |
| (toc_relative_ok, offsettable_ok_by_alignment): New functions. |
| (rs6000_emit_move): Reinstate mcmodel=medium optimization. |
| |
| 2010-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/45250 |
| * config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using |
| hard_frame_pointer_rtx instead of virtual_stack_vars_rtx. |
| (builtin_longjmp): Likewise. |
| (allocate_stack): Use hard_frame_pointer_rtx instead of |
| frame_pointer_rtx. |
| * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare. |
| * config/pa/pa.c (pa_internal_arg_pointer): Declare. |
| (pa_can_eliminate): Likewise. |
| (TARGET_INTERNAL_ARG_POINTER): Define. |
| (TARGET_CAN_ELIMINATE): Define. |
| (hppa_expand_prologue): Use hard frame pointer instead of soft frame |
| pointer. |
| (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise. |
| (pa_internal_arg_pointer, pa_can_eliminate, |
| pa_initial_elimination_offset): New. |
| * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register. |
| (HARD_FRAME_POINTER_REGNUM): Set to register three. |
| (INITIAL_FRAME_POINTER_OFFSET): Delete. |
| (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS): |
| Define. |
| (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P, |
| REGNO_OK_FOR_BASE_P): Update to include soft frame pointer. |
| * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER, |
| REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include |
| new soft frame pointer. |
| * config/pa/pa64-regs.h: Likewise. |
| |
| 2010-09-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of |
| numerical constant. |
| (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant. |
| |
| 2010-09-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/45531 |
| * cfglayout.c (fixup_reorder_chain): Skip debug insns. |
| |
| 2010-09-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/45419 |
| PR debug/45408 |
| * tree-pretty-print.c (dump_generic_node): Disregard top-level |
| qualifiers in otherwise equal MEM_REF pointer types. |
| * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs. |
| * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs. |
| |
| 2010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/44392 |
| * config/arm/arm.md (bswapsi2): Handle condition correctly |
| for armv6 and optimize_size. |
| |
| 2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR other/18555 |
| * doc/cppopts.texi (-isysroot): Document Darwin behaviour. |
| |
| 2010-09-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386-protos.h (ix86_can_use_return_insn_p, |
| symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem, |
| ix86_expand_strlen, legitimate_pic_address_disp_p, |
| ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode, |
| ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc, |
| ix86_check_movabs, ix86_secondary_memory_needed): Change function |
| prototype to bool. |
| * config/i386/i386.c (return_in_memory_32, return_in_memory_64, |
| return_in_memory_ms_64, ix86_check_movabs, |
| symbolic_reference_mentioned_p, ix86_can_use_return_insn_p, |
| legitimate_pic_address_disp_p, ix86_binary_operator_ok, |
| ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc, |
| ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem, |
| ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed, |
| ix86_secondary_memory_needed): Change to bool. Return |
| "true" and "false" values. |
| * config/i386/i386.md: Return "true" and "false" values. |
| |
| 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords): Document |
| run_expensive_tests. |
| |
| 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * toplev.c (output_stack_usage): Use lbasename instead of basename. |
| |
| 2010-09-08 Martin Jambor <mjambor@suse.cz> |
| |
| PR other/45443 |
| * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on |
| at -O3. |
| |
| 2010-09-08 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.c (gimple_types, type_hash_cache): Move to GC memory. |
| (visit): Adjust. |
| (iterative_hash_gimple_type): Likewise. |
| (gimple_type_hash): Likewise. |
| (gimple_register_type): Likewise. |
| (print_gimple_types_stats): Likewise. |
| (free_gimple_type_tables): Likewise. |
| |
| 2010-09-08 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/43430 |
| * tree-vect-stmts.c (vectorizable_condition): Support multiple |
| copies for conditional statements if it's not part of a reduction. |
| |
| 2010-09-08 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/33244 |
| * tree-ssa-sink.c (statement_sink_location): Don't sink into |
| empty loop latches. |
| |
| 2010-09-08 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45578 |
| * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): |
| Be more careful when transfering alignment information to |
| the new induction variable. |
| (copy_ref_info): Likewise. |
| |
| 2010-09-08 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (TYPE_ORIG_SIZE_TYPE): Remove. |
| * c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks. |
| |
| 2010-09-08 Arnaud Charlet <charlet@adacore.com> |
| |
| * c-tree.h, c-decl.c (build_enumerator): Add location parameter. |
| * c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator. |
| |
| 2010-09-08 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR doc/45587 |
| * doc/md.texi: Fixed modes on several standard pattern names. |
| |
| 2010-09-08 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * config/mips/loongson.md (loongson_psll<V_suffix>): Rename to... |
| (ashl<mode>3): ...this. |
| (loongson_psra<V_suffix>): Rename to... |
| (ashr<mode>3): ...this. |
| (loongson_psrl<V_suffix>): Rename to... |
| (lshr<mode>3): ...this. |
| * config/mips/mips.c (CODE_FOR_loongson_psllh): Define. |
| (CODE_FOR_loongson_psllw): Define. |
| (CODE_FOR_loongson_psrlh): Define. |
| (CODE_FOR_loongson_psrlw): Define. |
| (CODE_FOR_loongson_psrah): Define. |
| (CODE_FOR_loongson_psraw): Define. |
| |
| 2010-09-07 Richard Henderson <rth@redhat.com> |
| |
| * tree-vect-data-refs.c: Include tm_p.h. |
| * Makefile.in (tree-vect-data-refs.o): Update deps. |
| * config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi): |
| Move delarations outside #ifdef RTX_CODE. |
| |
| 2010-09-07 Richard Henderson <rth@redhat.com> |
| |
| * final.c (rest_of_handle_final): Unconditionally do |
| output_function_exception_table before assemble_end_function. |
| |
| 2010-09-07 Jan Hubicka <jh@suse.cz> |
| |
| * tree-inline.c (tree_inlinable_function_p): Do not test |
| DECL_REPLACEABLE_P. |
| * ipa-inline.c (cgraph_default_inline_p, update_caller_keys, |
| update_callee_keys, cgraph_decide_inlining): Test function availability. |
| * cif-code.def (OVERWRITABLE): New code. |
| |
| 2010-09-07 H.J. Lu <hjl.tools@gmail.com> |
| Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| PR target/36502 |
| PR target/42313 |
| PR target/44651 |
| * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for |
| profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise. |
| (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in |
| MAX macro. |
| |
| 2010-09-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG. |
| Include <link.h> only if USE_PT_GNU_EH_FRAME is defined. |
| |
| 2010-09-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config.gcc: Don't append t-android for Android targets. |
| |
| * config/t-android: Removed. |
| |
| 2010-09-07 Richard Henderson <rth@redhat.com> |
| |
| * target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook. |
| * doc/tm.texi.in: Add doc marker. |
| * doc/tm.texi: Rebuild. |
| * except.c (switch_to_exception_section): Always build. |
| (output_one_function_exception_table): Move section switch, |
| personality output, and label output ... |
| (output_function_exception_table): ... here. Use the new |
| personality hook. |
| |
| * config/ia64/ia64.c (ia64_asm_emit_except_personality, |
| ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY, |
| TARGET_ASM_INIT_SECTIONS): New. |
| (ia64_asm_unwind_emit): Rename from process_for_unwind_directive, |
| make static. |
| (TARGET_ASM_UNWIND_EMIT): Update to match. |
| * config/ia64/ia64-protos.h (process_for_unwind_directive): Remove. |
| |
| * config/arm/arm.c (arm_asm_emit_except_personality): New. |
| (arm_asm_init_sections): New. |
| (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New. |
| |
| 2010-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/arm.md: Remove unused variable. |
| |
| 2010-09-07 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. |
| * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define. |
| (m32r_memory_move_cost): New function. |
| |
| 2010-09-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config.gcc: Append t-android for Android targets. |
| |
| * config/t-android: New. |
| |
| 2010-09-07 Richard Henderson <rth@redhat.com> |
| |
| * target.def (unwind_emit_before_insn): New hook. |
| * doc/tm.texi.in: Add @hook marker for it. |
| * doc/tm.texi: Rebuild. |
| * final.c (final_scan_insn): Respect unwind_emit_before_insn. |
| |
| 2010-09-07 Martin Jambor <mjambor@suse.cz> |
| |
| PR fortran/43665 |
| * ipa-cp.c (ipcp_versionable_function_p): Return false if there |
| are any type attributes. |
| |
| 2010-09-07 Jan Hubicka <jh@suse.cz> |
| |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of |
| array_ref_low_bound in string access folding. |
| |
| 2010-09-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45206 |
| * config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after |
| eh_return fixup sequence. |
| |
| 2010-09-07 Jan Hubicka <jh@suse.cz> |
| |
| * gimple-fold.c (maybe_fold_reference): Verify that operand is |
| gimple_min_invariant. |
| |
| 2010-09-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45569 |
| * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR |
| nor CONSTRUCTOR can trap. |
| * tree-complex.c (update_complex_assignment): Update EH info. |
| |
| 2010-09-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45569 |
| * tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification. |
| * passes.c (execute_function_todo): Do not verify anything if |
| we saw errors. |
| |
| 2010-09-07 Richard Guenther <rguenther@suse.de> |
| |
| * tree-pretty-print.c (dump_generic_node): Dump void types as void. |
| |
| 2010-09-07 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/43137 |
| * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond): |
| New define_mode_attrs. |
| * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2, |
| arm_exxtendsidi2, arm_extendsidi2): Delete patterns. |
| (zero_extend<mode>di2, extend<mode>di2 and related splits): New. |
| (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs. |
| Remove pool_range attribute. |
| (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2, |
| arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove |
| pool_range and neg_pool_range attributes. |
| * config/arm/thumb2.md (thumb2_zero_extendsidi2, |
| thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2, |
| thumb2_extendhidi2, thumb2_extendqidi2): Delete. |
| |
| 2010-09-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/linux-unwind.h (x86_fallback_frame_state): Properly |
| check glibc. |
| |
| 2010-09-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/22152 |
| * config/i386/mmx.md (*mov<mode>_internal_rex64, |
| *mov<mode>_internal_avx, *mov<mode>_internal, |
| *movv2sf_internal_rex64_avx, *movv2sf_internal_rex64, |
| *movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative. |
| |
| 2010-09-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-typeck.c (do_warn_double_promotion): Remove. |
| * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and |
| Objective-C++ too. |
| |
| 2010-09-06 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove. |
| * config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change |
| argument type to reg_class_t. Change result type to bool. |
| (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| |
| 2010-09-06 Nicola Pero <nicola.pero@meta-innovation.com> |
| |
| PR libobjc/19850 |
| * gthr-posix.h (__gthread_objc_thread_detach): Use |
| _objc_thread_attribs when detaching a thread. |
| * gthr-posix95.h (__gthread_objc_thread_detach): Same change. |
| |
| 2010-09-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/45524 |
| * configure.ac (enable_decimal_float): Set to $default_decimal_float. |
| * configure: Regenerated. |
| |
| 2010-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * combine.c (try_combine): Set subst_low_luid to i0. |
| |
| 2010-09-06 Richard Guenther <rguenther@suse.de> |
| |
| * tree.def (MISALIGNED_INDIRECT_REF): Remove. |
| * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF. |
| (build_aligned_type): Declare. |
| * tree.c (check_qualified_type): Also compare TYPE_ALIGN. |
| (check_aligned_type): New function. |
| (build_aligned_type): Likewise. |
| * expr.c (expand_assignment): Handle misaligned stores via |
| TARGET_MEM_REF and MEM_REF using movmisalign_optab. |
| (expand_expr_real_1): Likewise. |
| (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling. |
| * tree-vect-stmts.c (vectorizable_store): Do not build |
| MISALIGNED_INDIRECT_REF but initialize alignment information. |
| (vectorizable_load): Likewise. |
| * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF |
| handling. |
| * cfgexpand.c (expand_debug_expr): Likewise. |
| * dwarf2out.c (loc_list_from_tree): Likewise. |
| * fold-const.c (maybe_lvalue_p): Likewise. |
| (operand_equal_p): Likewise. |
| (build_fold_addr_expr_with_type_loc): Likewise. |
| * gimplify.c (gimplify_addr_expr): Likewise. |
| (gimplify_expr): Likewise. |
| * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise. |
| (verify_gimple_assign_single): Likewise. |
| * tree-dump.c (dequeue_and_dump): Likewise. |
| (tree_could_trap_p): Likewise. |
| * tree-predcom.c (ref_at_iteration): Likewise. |
| * tree-pretty-print.c (dump_generic_node): Likewise. |
| (op_code_prio): Likewise. |
| (op_symbol_code): Likewise. |
| * tree-ssa-ccp.c (get_value_from_alignment): Likewise. |
| * tree-ssa-loop-im.c (for_each_index): Likewise. |
| (gen_lsm_tmp_name): Likewise. |
| * tree-ssa-loop-ivopts.c (idx_find_step): Likewise. |
| (find_interesting_uses_address): Likewise. |
| * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise. |
| * tree-ssa-operands.c (get_expr_operands): Likewise. |
| * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise. |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. |
| (ao_ref_init_from_vn_reference): Likewise. |
| * tree.c (staticp): Likewise. |
| (build1_stat): Likewise. |
| (reference_alias_ptr_type): Likewise. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. |
| * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove |
| MISALIGNED_INDIRECT_REF handling. |
| |
| 2010-09-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45534 |
| * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter. |
| (create_mem_ref): Do verify the created TARGET_MEM_REF is valid |
| on the target. |
| (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is |
| valid on the target. |
| |
| 2010-09-06 Andreas Schwab <schwab@redhat.com> |
| |
| * configure.ac: Quote argument of AC_MSG_WARN. |
| * configure: Regenerate. |
| |
| 2010-09-06 Alexander Monakov <amonakov@ispras.ru> |
| |
| * sel-sched.c (move_cond_jump): Correct arguments to |
| maybe_tidy_empty_bb. |
| * sel-sched-ir.c (maybe_tidy_empty_bb): Export. |
| |
| 2010-09-06 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/44919 |
| * sel-sched.c (move_cond_jump): Remove assert, check that |
| the several blocks case can only happen with mutually exclusive |
| insns instead. Rewrite the movement code to support moving through |
| several basic blocks. |
| |
| 2010-09-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (iptrsize): New mode attribute. |
| (tp_seg): Ditto. |
| (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P |
| mode iterator. |
| (*add_tp_<mode>): Ditto from *add_tp_{si,di}. |
| (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}. |
| (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}. |
| (stack_tls_protect_set_<mode>): Ditto from |
| stack_tls_protect_set_{si,di}. Use %@ to output segment register |
| of thread base pointer load. |
| (stack_tls_protect_test_<mode>): Ditto from |
| stack_tls_protect_test_{si,di}. Use %@ to output segment register |
| of thread base pointer load. |
| (stack_protect_set): Rewrite using indirect functions. |
| (stack_protect_test): Ditto. |
| * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'. |
| (ix86_print_operand): Handle '@'. |
| |
| 2010-09-05 Giuseppe Scrivano <gscrivano@gnu.org> |
| |
| * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and |
| MINUS_EXPR. |
| |
| 2010-09-05 Mark Mitchell <mark@codesourcery.com> |
| |
| * doc/invoke.texi: Document -Wdouble-promotion. |
| * c-typeck.c (convert_arguments): Check for implicit conversions |
| from float to double. |
| (do_warn_double_promotion): New function. |
| (build_conditional_expr): Use it. |
| (build_binary_op): Likewise. |
| |
| 2010-09-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45535 |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly |
| handle TMR_INDEX2. Make sure TMR_INDEX is not NULL before |
| dereferencing it. |
| (indirect_refs_may_alias_p): Likewise. |
| |
| 2010-09-05 Naveen H.S <naveen.S@kpitcummins.com> |
| |
| * config/sh/sh.c (sh_option_override): Make static. |
| Adjust comments. Declare. |
| (sh_function_value_regno_p): Likewise. |
| (sh_register_move_cost): Modify the arguments, make static. |
| Adjust comments. Declare. |
| (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST |
| TARGET_FUNCTION_VALUE_REGNO_P): Define. |
| * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P |
| REGISTER_MOVE_COST): Delete. |
| * config/sh/sh-protos.h (sh_override_options): Delete. |
| (sh_register_move_cost): Delete. |
| (sh_function_value_regno_p): Delete. |
| |
| 2010-09-04 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value, |
| m32r_function_value_regno_p): New functions. |
| (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, |
| TARGET_FUNCTION_VALUE_REGNO_P): Declare. |
| * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE, |
| FUNCTION_VALUE_REGNO_P): Remove. |
| |
| 2010-09-04 Jan Hubicka <jh@suse.cz> |
| |
| * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref. |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Use |
| fold_read_from_constant_string. |
| |
| * gimple.h (canonicalize_constructor_val): Declare. |
| * gimple-fold.c (canonicalize_constructor_val): New function. |
| (get_symbol_constant_value):Use it. |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise. |
| |
| 2010-09-04 Jan Hubicka <jh@suse.cz> |
| |
| * tree-switch-conversion.c (build_one_array): Set constructor to be |
| static. |
| * varpool.c (varpool_finalize_decl): Compute const_value_known. |
| |
| 2010-09-04 Richard Guenther <rguenther@suse.de> |
| |
| PR bootstrap/45519 |
| * tree-flow.h (force_gimple_operand_1): Declare. |
| (force_gimple_operand_gsi_1): Likewise. |
| * gimplify.c (force_gimple_operand_1): New worker taking a |
| gimple predicate for ... |
| (force_gimple_operand): ... which now wraps it. |
| (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise. |
| * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert |
| last change. |
| * tree-ssa-address.c (gimplify_mem_ref_parts): Use |
| force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr. |
| (create_mem_ref): Likewise. |
| |
| 2010-09-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (sse_reg_operand): New predicate. |
| * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand |
| predicate for operand 1. |
| (XFmode push splitter): Use fp_register_operand predicate |
| for operand 1. |
| (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns. |
| (SF-DF float_extend push splitter): Add reload_completed insn |
| predicate. |
| ({SF,DF}-XF float_extend_push splitter): Macroize splitter using |
| MODEF mode macro. Add reload_completed insn predicate. |
| |
| 2010-09-04 Paolo Bonzini <bonzini@gnu.org> |
| |
| * df.h (enum df_ref_class): Remove DF_REF_EXTRACT. |
| (struct df_extract_ref): Remove. |
| (union df_ref_d): Remove extract_ref member. |
| (df_ref_create): Remove last three arguments. |
| (DF_REF_LOC): Remove DF_REF_EXTRACT case. |
| * df-scan.c (df_ref_record): Remove last three arguments, do not |
| pass them to df_ref_create_structure. |
| (df_uses_record): Remove first and last three arguments. Replace |
| first argument with DF_REF_REGULAR, adjust calls to remove the |
| width, offset and mode. Always call recursively on the second |
| and third argument of ZERO_EXTRACT and SIGN_EXTRACT. |
| (df_ref_create_structure): Remove first argument. |
| (struct df_scan_problem_data): Remove ref_extract_pool. |
| (df_scan_free_internal): Do not free it. |
| (df_scan_alloc): Do not allocate it. |
| (df_ref_create): Remove last three arguments, do not pass them to |
| df_ref_create_structure. |
| (df_free_ref): Remove DF_REF_EXTRACT case. |
| (df_notes_rescan): Adjust call to df_uses_record. |
| (df_ref_equal_p, df_ref_compare, df_ref_create_structure): |
| Remove DF_REF_EXTRACT case. |
| (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs. |
| Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG |
| and SUBREG definitions. |
| (df_get_conditional_uses): Remove references to width/offset/mode, |
| adjust call to df_ref_create_structure. |
| (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, |
| df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust |
| calls to df_uses_record and df_ref_record. |
| * fwprop.c (update_df): Remove references to width/offset/mode, |
| adjust call to df_ref_create. |
| |
| 2010-09-03 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (build_cdtor): Take VECtor as argument; fix array walk. |
| (build_cdtor_fns): Update use of build_cdtor. |
| |
| 2010-09-03 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (SeparateAlias): Document. |
| * opt-functions.awk (switch_flags): Handle SeparateAlias. |
| * opth-gen.awk: Generate enumeration names for options marked |
| SeparateAlias, but not for those marked Ignore. |
| * opts-common.c (generate_canonical_option): Don't output separate |
| argument for options marked CL_SEPARATE_ALIAS. |
| (decode_cmdline_option): Handle CL_SEPARATE_ALIAS. |
| * opts.h (CL_SEPARATE_ALIAS): New. |
| (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET, |
| CL_COMMON): Adjust definitions. |
| * config/i386/darwin.opt, config/mips/sde.opt: New. |
| * common.opt (fdump-final-insns): New. |
| * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add |
| i386/darwin.opt. |
| (mips*-sde-elf*): Add mips/sde.opt. |
| * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle |
| -mno-data-in-code and -mcode-xonly here. |
| * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'. |
| * gcc.c (option_map): Add "j" to --dump entry. |
| (translate_options): Don't translate -d to -foutput-class-dir= here. |
| |
| 2010-09-03 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with |
| DR_IS_WRITE. |
| (compute_all_dependences): Same. |
| (create_rdg_edge_for_ddr): Same. |
| * tree-data-ref.h (DR_IS_WRITE): New. |
| (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE. |
| * tree-if-conv.c (write_memrefs_written_at_least_once): Same. |
| (write_memrefs_written_at_least_once): Same. |
| * tree-predcom.c (suitable_component_p): Same. |
| (determine_roots_comp): Same. |
| (execute_load_motion): Same. |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same. |
| (vect_enhance_data_refs_alignment): Same. |
| (vect_analyze_group_access): Same. |
| |
| 2010-09-03 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| PR testsuite/42843 |
| * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@ |
| (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@ |
| |
| 2010-09-03 Marcin Baczynski <marbacz@gmail.com> |
| |
| * dwarf2out.c (file scope): Remove #if0'd code. |
| (gen_subprogram_die): Same. |
| |
| 2010-09-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45484 |
| * dwarf2out.c (flush_queued_reg_saves): Rename to... |
| (dwarf2out_flush_queued_reg_saves): ... this. No longer static. |
| (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers. |
| * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype. |
| * config/i386/i386.c (output_set_got): Call it. |
| |
| 2010-09-03 Michael Matz <matz@suse.de> |
| |
| PR middle-end/45415 |
| * tree-sra.c (sra_modify_assign): If we modify the statement, |
| say so. |
| |
| * tree-ssa.c (verify_ssa): Check number of operands and links |
| per statement to agree. |
| |
| 2010-09-03 Uros Bizjak <ubizjak@gmail.com> |
| Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR target/45476 |
| * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New. |
| * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE, |
| LIBGCC2_TF_CEXT, TF_SIZE): New defines. |
| |
| 2010-09-03 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-out.c (output_function): Output function |
| start and end loci. |
| * lto-streamer-in.c (input_function): Input function start |
| and end loci. |
| |
| 2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro. |
| * Makefile.in: Add aclocal.m4 dependency to dfp.m4. |
| * configure: Regenerate. |
| * aclocal.m4: Regenerate. |
| |
| 2010-09-03 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/44812 |
| * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL |
| on functions/variables in other partition. |
| |
| 2010-09-03 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.h (struct varpool_node): Add const_value_known. |
| (varpool_decide_const_value_known): Declare. |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding. |
| * lto-cgraph.c (lto_output_varpool_node): Store const_value_known. |
| (input_varpool_node): Restore const_value_known. |
| * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for |
| initializer folding. |
| * ipa.c (ipa_discover_readonly_nonaddressable_var, |
| function_and_variable_visibility): Compute const_value_known. |
| * gimple-fold.c (get_symbol_constant_value): Use varpool for |
| initializer folding. |
| * varpool.c (varpool_decide_const_value_known): New function. |
| |
| 2010-09-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md: Remove empty preparation statements |
| from splitters. |
| |
| 2010-09-03 Jan Hubicka <jh@suse.cz> |
| |
| * passes.c (rest_of_decl_compilation): Do not add local vars into |
| varpool. |
| * varpool.c (varpool_get_node, varpool_node): Sanity check that only |
| static or extern vars are in varpool. |
| (varpool_finalize_decl): Sanity check that only static vars are |
| finalized. |
| |
| 2010-09-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45500 |
| * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors, |
| not just generic vectors with BLKmode. |
| |
| 2010-09-03 Richard Guenther <rguenther@suse.de> |
| |
| * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE. |
| Move TMR_OFFSET to second operand. Add TMR_INDEX2. |
| * tree.h (TMR_SYMBOL): Remove. |
| (TMR_BASE, TMR_OFFSET): Adjust. |
| (TMR_INDEX2): New. |
| * alias.c (ao_ref_from_mem): Use TMR_BASE. |
| * builtins.c (get_object_alignment): Merge TMR_BASE and |
| TMR_SYMBOL handling. |
| * cfgexpand.c (expand_debug_expr): Use TMR_BASE. |
| * gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF |
| handling. Also allow TARGET_MEM_REF as base address. |
| (walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL. |
| * gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF |
| base. Gimplify TMR_INDEX2. |
| * tree-cfg.c (verify_types_in_gimple_reference): Adjust. |
| * tree-dfa.c (get_ref_base_and_extent): Likewise. |
| (get_addr_base_and_unit_offset): Likewise. |
| * tree-eh.c (tree_could_trap_p): Likewise. |
| * tree-pretty-print.c (dump_generic_node): Likewise. |
| * tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle TMR_INDEX2. |
| (create_mem_ref_raw): Merge symbol and base. Move 2ndary |
| base to index2. |
| (get_address_description): Reconstruct addres description |
| from merged TMR_BASE and TMR_INDEX2. |
| (maybe_fold_tmr): Fold propagated addresses. |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge |
| MEM_REF and TARGET_MEM_REF paths. |
| (indirect_refs_may_alias_p): Likewise. |
| * tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2 |
| instead of TMR_SYMBOL. |
| * tree-ssa-operands.c (get_tmr_operands): Simplify. |
| * tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust |
| according to changes ... |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here. |
| Split TARGET_MEM_REF into two fields plus the base. |
| * tree.c (mem_ref_offset): Simplify. |
| * tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2. |
| * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise. |
| Strip NOPs when folding MEM_REF addresses. |
| * tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF. |
| * gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ... |
| (fold_gimple_assign): ... not here. |
| |
| 2010-09-03 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition. |
| * config/mips/mips.c (mips_shift_truncation_mask): New function. |
| (TARGET_SHIFT_TRUNCATION_MASK): Define. |
| |
| 2010-09-02 Richard Henderson <rth@redhat.com> |
| |
| * configure.ac (gcc_cv_as_cfi_advance_working): Use objdump |
| instead of readelf in the test. |
| (gcc_cv_as_cfi_sections_directive): Check for correct relocation |
| in the .debug_frame section for coff targets. |
| * configure: Rebuild. |
| |
| 2010-09-02 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove. |
| * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| (m32c_class_likely_spilled_p): Make static. Change argument type to |
| reg_class_t. Change result type to bool. |
| |
| 2010-09-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.opt (-mfriz): New switch to control whether |
| to convert (double)(long) into a single FRIZ instruction or not |
| when -ffast-math is used. |
| |
| * config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes. |
| (vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ |
| or FRIZ instruction if -ffast-math. |
| * config/rs6000/rs6000.md (friz): Ditto. |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz. |
| |
| 2010-09-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * opth-gen.awk (quote, comma): Remove unused variables. |
| |
| 2010-09-02 Ryan Mansfield <rmansfield@qnx.com> |
| |
| * arm.c (arm_override_options): Correct fall-back code to use |
| SUBTARGET_CPU_DEFAULT. |
| |
| 2010-09-02 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for |
| unspecs. |
| (vcond<mode>, vcondu<mode>): New expanders. |
| (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support |
| comparisons with zero. |
| (neon_vcle<mode>, neon_vclt<mode>): New patterns. |
| * config/arm/constraints.md (Dz): New constraint. |
| |
| 2010-09-02 Anatoly Sokolov <aesok@post.ru> |
| |
| * target.def (class_likely_spilled_p): New hook. |
| * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_class_likely_spilled_p): New function. |
| * targhooks.h (default_class_likely_spilled_p): Declare. |
| * regs.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use |
| TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro. |
| Use fixed_reg_set instead of fixed_regs. |
| * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook. |
| * calls.c (avoid_likely_spilled_reg): Ditto. |
| * ira-conflicts.c (ira_build_conflicts): Ditto. |
| * ira.c (update_equiv_regs): Ditto. |
| * mode-switching.c (create_pre_exit): Ditto. |
| * regmove.c (find_matches): Ditto. |
| (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook. |
| * reload.c (SMALL_REGISTER_CLASS_P): Remove macro. |
| (small_register_class_p): New inline function. |
| (push_secondary_reload, find_reusable_reload, find_reloads): Use |
| small_register_class_p instead of SMALL_REGISTER_CLASS_P. |
| |
| * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove. |
| * config/i386/i386.c (ix86_class_likely_spilled_p): New. |
| (TARGET_CLASS_LIKELY_SPILLED_P): Define. |
| |
| 2010-09-02 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44937 |
| PR tree-optimization/45412 |
| * ipa-split.c (split_function): Properly remove PHI nodes. |
| |
| 2010-09-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.h (struct cl_option): Add warn_message field. |
| (struct cl_decoded_option): Add warn_message field. |
| * doc/options.texi (Ignore, Warn): Document. |
| * opt-functions.awk (needs_state_p): Don't consider aliases or |
| ignored options to need state saved. |
| * optc-gen.awk: Handle Warn and Ignore. |
| * opth-gen.awk: Output OPT_SPECIAL_ignore. |
| * opts-common.c (decode_cmdline_option): Set warn_message field. |
| Handle ignored options. |
| (decode_cmdline_options_to_array, generate_option, |
| generate_option_input_file): Set warn_message field. |
| (read_cmdline_option): Generate warnings from warn_message field. |
| Handle ignored options. |
| * common.opt (Wunreachable-code, fargument-alias, |
| fargument-noalias, fargument-noalias-global, |
| fargument-noalias-anything, fcse-skip-blocks, fforce-addr, |
| floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee, |
| fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop, |
| ftree-salias): Mark Ignore. |
| * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu, |
| -mintel-syntax and -mno-intel-syntax here. |
| * config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases |
| using Warn. |
| * opts.c (common_handle_option): Don't handle options marked as |
| ignored. |
| (enable_warning_as_error): Handle ignored options. |
| |
| 2010-09-02 Joseph Myers <joseph@codesourcery.com> |
| |
| PR driver/44076 |
| * opts.h (struct cl_option): Add alias_arg, neg_alias_arg and |
| alias_target fields. |
| * opt-functions.awk (opt_sanitized_name): Don't handle |
| finline-limit=, Wlarger-than= and ftemplate-depth= specially. |
| * optc-gen.awk: Generate alias fields. |
| * opth-gen.awk: Explicitly give values for OPT_* enum constants. |
| Don't generate such constants for aliases. |
| * opts-common.c (generate_canonical_option): New. |
| (decode_cmdline_option): Handle aliases. Use |
| generate_canonical_option for known options instead of copying the |
| input option text. |
| * doc/options.texi (Alias): Document. |
| * common.opt (W, Wlarger-than-, aux-info=, finline-limit-, |
| fstack-check, specs): Mark as aliases. |
| * gcc.c (driver_handle_option): Canonicalize -L options to joined |
| arguments. |
| (driver_handle_option): Don't handle OPT_specs. |
| * opts.c (common_handle_option): Don't handle options marked as |
| aliases. |
| (enable_warning_as_error): Handle aliases. |
| * stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of |
| OPT_Wlarger_than_eq. |
| * tree-optimize.c (tree_rest_of_compilation): Use |
| OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq. |
| |
| 2010-09-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (nonmemory_operand): New mode attribute. |
| (push memory peephole2): Macroize peepholes using SWI mode iterator. |
| (move immediate to memory peephole2): Macroize peepholes using |
| SWI124 mode iterator. |
| (non-pairable NOT peephole2): Macroize peepholes using SWI124 |
| mode iterator. |
| (simple lea add peephole2): Macroize peepholes using SWI48 |
| mode iterator. |
| (simple lea mult peephole2): Ditto. |
| (imul by 3,5,9 to lea peephole2): Ditto. |
| (mov $-1, reg peephole2): Macroize peepholes using SWI248 |
| mode iterator. |
| (imul $32bit_imm,mem,reg peephole2): Ditto. |
| (imul $8/16bit_imm,regmem,reg peephole2): Ditto. |
| |
| 2010-09-02 Ian Bolton <ian.bolton@arm.com> |
| |
| * tree-ssa-loop-prefetch.c: Fix comment at head of file. |
| |
| 2010-09-02 Olivier Hainque <hainque@adacore.com> |
| |
| PR middle-end/44763 |
| * ira-color.c (SORTGT): New macro, helper for qsort callbacks. |
| (allocno_priority_compare_func): Use it instead of a straight |
| difference computation over priorities. |
| |
| 2010-09-02 Andi Kleen <ak@linux.intel.com> |
| |
| * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling. |
| |
| 2010-09-02 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.h (get_later_stmt): New function. |
| (vect_analyze_data_ref_dependences): Add argument. |
| * tree-vect-loop.c (vect_analyze_loop): Update call to |
| vect_analyze_data_ref_dependences. |
| * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): |
| New function. |
| (vect_analyze_data_ref_dependence): Add argument for basic block |
| dependencies. Check dependencies in basic block vectorization. |
| (vect_analyze_data_ref_dependences): Add argument and update call to |
| vect_analyze_data_ref_dependences. |
| * tree-vect-slp.c (vect_find_last_store_in_slp_instance): New. |
| (vect_bb_vectorizable_with_dependencies): New. |
| (vect_slp_analyze_bb): Check dependencies in basic block. |
| (vect_schedule_slp_instance): Insert stores before the last store in |
| SLP instance. |
| |
| 2010-09-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45476 |
| * config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE, |
| LIBGCC2_TF_CEXT, TF_SIZE): New defines. |
| |
| 2010-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45458 |
| * bb-reorder.c (add_labels_and_missing_jumps): Treat |
| bbs ending with throwing insns like blocks ending with a call. |
| (fix_up_fall_thru_edges): Likewise. |
| |
| 2010-09-01 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/m32c/m32c-protos.h (m32c_function_arg): Delete. |
| (m32c_function_arg_advance): Delete. |
| * config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/m32c/m32c.c (m32c_function_arg): Make static. Adjust |
| comments. Take a const_tree and a bool. Declare. |
| (m32c_function_arg_advance): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-09-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45476 |
| * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE, |
| LIBGCC2_TF_CEXT, TF_SIZE): Move from ... |
| * config/i386/mingw32.h: ... here. |
| |
| 2010-09-01 Andi Kleen <ak@linux.intel.com> |
| |
| PR lto/45475 |
| * lto-streamer-in.c (lto_input_ts_target_option): Add. |
| (lto_input_tree_pointers): Call lto_input_ts_target_option. |
| * lto-streamer-out (lto_output_ts_target_option): Add. |
| (lto_output_tree_pointers): Call lto_output_ts_target_option. |
| |
| 2010-09-01 Kai Tietz <kai.tietz@onevision.com> |
| |
| PR/target 45452 |
| * config/i386/cygwin.h: Change order of specified import libraries. |
| * config/i386/mingw32.h: Likewise. |
| * config/i386/t-cygwin: Likewise. |
| * config/i386/t-mingw32: Likewise. |
| * config/i386/t-mingw-w32: Likewise. |
| * config/i386/t-mingw-w64: Likewise. |
| |
| 2010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/neon-schedgen.ml (core): New type. |
| (allCores): List of supported cores. |
| (availability_table): Add supported cores. |
| (collate_bypasses): Accept core as a parameter. |
| (worst_case_latencies_and_bypasses): Accept core as a parameter. |
| (emit_insn_reservations): Accept core as a parameter. Use tuneStr |
| and coreStr to get tune attribute and prefix for functional units. |
| (emit_bypasses): Accept core name and use it. |
| (calculate_per_core_availability_table): New. |
| (filter_core): New. |
| (calculate_core_availability_table): New. |
| (main): Use calculate_core_availablity_table. |
| * config/arm/cortex-a8-neon.md: Update copyright year. |
| Regenerated from ml file and merged in. |
| (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and |
| cortex_a8_neon_mrc. |
| |
| 2010-09-01 Ian Bolton <ian.bolton@arm.com> |
| |
| * Makefile.in (tree-switch-conversion.o): Update dependencies. |
| |
| 2010-09-01 Richard Guenther <rguenther@suse.de> |
| |
| * alias.c (ao_ref_from_mem): Adjust. |
| * builtins.c (get_object_alignment): Likewise. |
| * cfgexpand.c (expand_debug_expr): Likewise. |
| * gimple.c (get_base_address): Likewise. |
| * tree-dfa.c (get_ref_base_and_extent): Likewise. |
| (get_addr_base_and_unit_offset): Likewise. Fix for |
| both TMR_SYMBOL and TMR_BASE being set. |
| * tree-eh.c (tree_could_trap_p): Likewise. |
| * gimplify.c (gimplify_expr): Do not attempt to gimplify |
| TMR_SYMBOL. Always gimplify TMR_BASE. |
| * tree-cfg.c (verify_types_in_gimple_reference): Verify |
| TMR_BASE if there is a TMR_SYMBOL. |
| * tree-pretty-print.c (dump_generic_node): Adjust. |
| * tree-ssa-address.c (addr_for_mem_ref): Likewise. |
| (tree_mem_ref_addr): Likewise. |
| (create_mem_ref_raw): Likewise. |
| (move_fixed_address_to_symbol): Likewise. |
| (create_mem_ref): Likewise. |
| (dump_mem_address): Likewise. |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust. |
| Fix for both TMR_SYMBOL and TMR_BASE being set. |
| (indirect_refs_may_alias_p): Likewise. |
| * tree-ssa-operands.c (get_tmr_operands): Adjust. |
| * tree.def (TARGET_MEM_REF): Adjust documentation. |
| |
| 2010-09-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>: |
| Rename from X86_TUNE_ADD_ESP_4. |
| <IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8. |
| <IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4. |
| <IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8. |
| (TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4. |
| (TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8. |
| (TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4. |
| (TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8. |
| * config/i386/i386.c (initial_ix86_tune_features) |
| <X86_TUNE_SINGLE_POP>: Invert members. |
| <X86_TUNE_DOUBLE_POP>: Ditto. |
| <X86_TUNE_SINGLE_PUSH>: Ditto. |
| <X86_TUNE_DOUBLE_PUSH>: Ditto. |
| * config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1. |
| No longer exported. |
| (push peephole2 patterns): Macroize peepholes using P mode iterator. |
| Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines. |
| (pop peephole2 patterns): Macroize peepholes using P mode iterator. |
| Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines. |
| |
| 2010-09-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_init_constructor): Do not create a temporary for |
| a volatile LHS if the constructor has only one element. |
| |
| 2010-09-01 Mikael Pettersson <mikpe@it.uu.se> |
| |
| PR bootstrap/45321 |
| * tree.c (stdarg_p): Make fntype parameter const. |
| * tree.h (stdarg_p): Likewise. |
| (function_args_iterator): Remove unused fntype field. |
| (function_args_iter_init): Do not initialize fntype |
| field. Make fntype parameter const. |
| |
| 2010-09-01 Richard Guenther <rguenther@suse.de> |
| |
| * tree-vrp.c (adjust_range_with_scev): Use number of iteration |
| estimate. |
| (vrp_visit_phi_node): Delay using SCEV till we balloon the range. |
| (execute_vrp): Compute number of iteration estimates. |
| * cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype. |
| * tree-flow.h (estimate_numbers_of_iterations): Likewise. |
| * tree-data-ref.c (estimated_loop_iterations): Adjust. |
| * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): |
| Infer loop bounds from undefined behavior based on a new parameter. |
| (estimate_numbers_of_iterations): Likewise. |
| (scev_probably_wraps_p): Adjust. |
| * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise. |
| |
| 2010-09-01 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P |
| where appropriate. |
| (xstormy16_legitimate_address_p): Use true and false instead of 1 |
| and 0. |
| (xstormy16_expand_prologue): Delete unused local variable 'insn'. |
| (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of |
| magic constant 2. |
| (xstormy16_expand_call): Fix comment at start of function. |
| |
| 2010-09-01 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_expand_prologue): Do not adjust frame size |
| when pushing accumulator register. |
| (rx_get_stack_layout): Always save call clobbered registers inside |
| interrupt handlers. |
| * config/rx/rx-modes.def: Fix descriptive comment at start of file. |
| |
| 2010-09-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add |
| i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file. |
| |
| * libgcc-std.ver (GCC_4.6.0): Define version. |
| |
| 2010-08-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-nested.c (convert_all_function_calls): Iterate until after the |
| sum of static chains in the nest doesn't change. |
| |
| 2010-08-31 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32c/m32c.c (classes_intersect): Remove. |
| (m32c_preferred_reload_class, m32c_secondary_reload_class): Use |
| reg_classes_intersect_p instead of classes_intersect. |
| (class_can_hold_mode): Change arguments type from enum reg_class to |
| reg_class_t. Use reg_class_contents instead of class_contents. |
| (m32c_register_move_cost): Make static. Change arguments type from |
| enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of |
| classes_intersect. Use reg_class_contents instead of class_contents. |
| (m32c_memory_move_cost): Make static. Change arguments type from |
| enum reg_class to reg_class_t. |
| (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. |
| * config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. |
| * config/m32c/m32c-protos.h (m32c_register_move_cost, |
| m32c_memory_move_cost): Remove. |
| |
| 2010-08-31 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/arm/arm-protos.h (arm_function_arg_advance): Delete. |
| (arm_function_arg): Delete. |
| (arm_needs_doubleword_align): Take a const_tree. |
| * config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree. |
| (aapcs_layout_arg, arm_needs_doubleword_align): Likewise. |
| (arm_function_arg): Make static. Take a const_tree and a bool. |
| (arm_function_arg_advance): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-31 Andi Kleen <ak@linux.intel.com> |
| |
| * common.opt (fwhopr=): Update for -fwhopr=jobserver |
| * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver. |
| * lto-wrapper.c (run_gcc): Add jobserver mode. |
| * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric |
| argument. |
| |
| 2010-08-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand. |
| (popsi1): Ditto. |
| (*popdi1_epilogue): Ditto. |
| (*popsi1_epilogue): Ditto. |
| (popsi, popdi peephole2 patterns): Update peepholes for changed |
| pop{si,di}1 and *pop{si,di}1_epilogue patterns. |
| |
| (pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator. |
| (*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue. |
| |
| * config/i386/i386.c (*ix86_gen_pop1): Remove indirect function. |
| (override_options): Do not initialize removed ix86_gen_pop1. |
| (gen_pop): New static function. |
| (ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1. |
| (release_scratch_register_on_entry): Ditto. |
| (ix86_restore_reg_using_pop): Ditto. |
| (ix86_expand_epilogue): Ditto. |
| |
| 2010-08-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/45461 |
| * builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF. |
| |
| 2010-08-31 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra |
| semicolons. |
| |
| 2010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * doc/extend.texi: Fix documentation of the return value of |
| __builtin_choose_expr. |
| |
| 2010-08-31 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/v850/v850-protos.h (function_arg): Delete. |
| * config/v850/v850.h (FUNCTION_ARG): Delete. |
| (FUNCTION_ARG_ADVANCE): Move code to... |
| * config/v850/v850.c (v850_function_arg_advance): ...here. |
| (v850_function_arg): Make static. Take a const_tree and a bool. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-31 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move |
| these... |
| (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P): |
| ...and these... |
| * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance): |
| ..to here.. |
| (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P): |
| ...and here. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-31 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size): |
| Delete. |
| * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/rx/rx.c (rx_function_arg_size): Make static. |
| (rx_function_arg): Likewise. |
| (rx_function_arg_advance): New function. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-31 John Tytgat <John.Tytgat@aaug.net> |
| |
| * config/arm/arm.c (arm_override_options): Remove superfluous test. |
| Fix indentation. |
| |
| 2010-08-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada. |
| (dwarf2out_decl) <CONST_DECL>: Likewise. |
| |
| 2010-08-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Stack usage support |
| * common.opt (-fstack-usage): New option. |
| * doc/invoke.texi (Debugging options): Document it. |
| * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to |
| allocate_dynamic_stack_space. |
| (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE |
| and propagate it to allocate_dynamic_stack_space. |
| (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change. |
| * calls.c (initialize_argument_information): Pass TRUE as 4th |
| argument to allocate_dynamic_stack_space. |
| (expand_call): Set current_function_has_unbounded_dynamic_stack_size |
| to 1 when pushing a variable-sized argument onto the stack. Pass |
| TRUE as 4th argument to allocate_dynamic_stack_space. |
| Update current_function_pushed_stack_size. |
| (emit_library_call_value_1): Likewise. |
| * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter |
| CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and |
| attempt to find an upper bound. Remove redundant code for the |
| SETJMP_VIA_SAVE_AREA case. |
| * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter. |
| * function.h (struct stack_usage): New structure. |
| (current_function_static_stack_size): New macro. |
| (current_function_dynamic_stack_size): Likewise. |
| (current_function_pushed_stack_size): Likewise. |
| (current_function_dynamic_alloc_count): Likewise. |
| (current_function_has_unbounded_dynamic_stack_size): Likewise. |
| (current_function_allocates_dynamic_stack_space): Likewise. |
| (struct function): Add new field 'su'. |
| * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA, |
| add the value of the dynamic offset to the dynamic stack usage. |
| (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA |
| for variable-sized objects. |
| (prepare_function_start): Allocate cfun->su if flag_stack_usage. |
| (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage. |
| * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to |
| BUILT_IN_ALLOCA for variable-sized objects. |
| * output.h (output_stack_usage): Declare. |
| * toplev.c (stack_usage_file): New file pointer. |
| (output_stack_usage): New function. |
| (open_auxiliary_file): Likewise. |
| (lang_dependent_init): Open file if flag_stack_usage is set. |
| (finalize): Close file if stack_usage_file is not null. |
| * tree.h (ALLOCA_FOR_VAR_P): New macro. |
| * config/alpha/alpha.c (compute_frame_size): New function. |
| (alpha_expand_prologue): Use it. |
| (alpha_start_function): Likewise. |
| (alpha_expand_epilogue): Likewise. Set stack usage info. |
| * config/i386/i386.c (ix86_expand_prologue): Likewise. |
| * config/ia64/ia64.c (ia64_expand_prologue): Likewise. |
| * config/mips/mips.c (mips_expand_prologue): Likewise. |
| * config/pa/pa.c (hppa_expand_prologue): Likewise. |
| * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. |
| * config/sparc/sparc.c (sparc_expand_prologue): Likewise. |
| |
| 2010-08-30 Zdenek Dvorak <ook@ucw.cz> |
| |
| PR tree-optimization/45427 |
| * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten. |
| Handle the case that the exit is never taken correctly. |
| (number_of_iterations_ne): Pass exit_must_be_taken to |
| number_of_iterations_ne_max. |
| |
| 2010-08-30 Catherine Moore <clm@codesourcery.com> |
| |
| * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): |
| Infer -mdspr2 for the the 74K. |
| |
| 2010-08-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45419 |
| * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable. |
| |
| PR middle-end/45423 |
| * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR |
| and TRUTH_{AND,OR,XOR}_EXPR. |
| * c-parser.c (c_parser_omp_atomic): Handle boolean |
| {PRE,POST}_{INC,DEC}REMENT. |
| |
| 2010-08-30 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/xtensa/xtensa-protos.h (function_arg_advance): Delete. |
| (function_arg): Delete. |
| * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| (FUNCTION_INCOMING_ARG): Delete. |
| * config/xtensa/xtensa.c (function_arg_advance): Rename to... |
| (xtensa_function_arg_advance): ...this. Make static. Take a const_tree |
| and a bool. |
| (function_arg): Rename to... |
| (xtensa_function_arg_1): ...this. Make static. Take a const_tree and |
| a bool. |
| (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| (TARGET_FUNCTION_INCOMING_ARG): Define. |
| |
| 2010-08-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/21602 |
| * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy |
| using points-to information. |
| |
| 2010-08-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||. |
| |
| 2010-08-30 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45449 |
| * tree-ssa-live.c (remove_unused_locals): Also remove address-taken |
| variables. |
| |
| 2010-08-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.h (CL_ERR_NEGATIVE): Define. |
| * opts.c (unknown_option_callback): Don't postpone warnings for |
| options marked with CL_ERR_NEGATIVE. |
| * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error |
| for negative versions of CL_REJECT_NEGATIVE options. |
| |
| 2010-08-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (zero_extendsidi2_1): Rename from |
| zero_extendsidi2_32. |
| (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2 |
| using SWI12 mode iterator. |
| (zero_extendhisi2_and): Merge insn pattern and corresponding spliter |
| to define_insn_and_split pattern. |
| (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2 |
| using SWI24 mode iterator. |
| (*zero_extendqi<mode>2_and): Macroize insn from |
| *zero_extendqi{hi,si}2_and using SWI24 mode iterator. |
| (*zero_extendqi<mode>2_movzbl_and): Macroize insn from |
| *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using |
| SWI24 mode iterator. |
| (*zero_extendqi<mode>2_movzbl): Ditto from |
| *zero_extendqi{hi,si}2_movzbl. |
| (extendsidi2_1): Rename from extendsidi2_32. |
| (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using |
| SWI12 mode iterator. |
| |
| 2010-08-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in |
| general purpose registers. |
| (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers. |
| * config/ia64/ia64.md (*movcci): Change to named pattern. Deal |
| with general purpose registers and memory operands. Add associated |
| CCImode post-reload splitter. |
| * config/ia64/div.md: Change BImode to CCImode throughout. |
| |
| 2010-08-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.md (cstorebi4): Fix thinko. |
| |
| 2010-08-28 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (reorder_var_tracking_notes): This |
| function was dropping debug insns which caused PR45299. |
| |
| 2010-08-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (extsuffix): New code attribute. |
| (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2 |
| and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator. |
| (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2 |
| and sse4_1_zero_extendv4qiv4si2. |
| (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2 |
| and sse4_1_zero_extendv2qiv2di2. |
| (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2 |
| and sse4_1_zero_extendv4hiv4si2. |
| (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2 |
| and sse4_1_zero_extendv2hiv2di2. |
| (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2 |
| and sse4_1_zero_extendv2siv2di2 |
| |
| (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart |
| using any_extend code iterator. |
| (*avx_<s>mulv8hi3_highpart): Macroize insn from |
| *avx_{u,s}mulv8hi3_highpart using any_extend code iterator. |
| (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart. |
| |
| * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed |
| gen_sse4_1_sign_extend* functions. |
| (struct builtin_description bdesc_args): Ditto. |
| |
| 2010-08-27 Xinliang David Li <davidxl@google.com> |
| |
| PR/45422 |
| * tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove. |
| (iv_ca_set_no_cp): Update used inv expr count. |
| (iv_ca_set_cp): Ditto. |
| (iv_ca_new): Initialize new member. |
| (iv_ca_free): Free memory. |
| |
| 2010-08-27 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/sh/sh-protos.h (sh_function_arg): Delete. |
| (sh_function_arg_advance): Delete. |
| * config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| (PASS_IN_REG_P): Eliminate cast. |
| * config/sh/sh.c (sh_function_arg_advance): Make static. Take a |
| const_tree and a bool. |
| (sh_function_arg): Likewise. |
| (sh_output_mi_thunk): Call sh_function_arg_advance) and |
| sh_function_arg. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-27 Naveen H.S <naveen.S@kpitcummins.com> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (push_regs): Emit movml for interrupt handler |
| when possible. |
| (sh_expand_epilogue): Likewise. |
| * config/sh/sh.md (movml_push_banked): New insn. |
| (movml_pop_banked): Likewise. |
| |
| 2010-08-28 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * genautomata.c (gen_regexp_repeat, gen_regexp_allof, |
| gen_regexp_oneof, gen_regexp_sequence): Use the string found |
| in vector element 0 rather than the original string when there's |
| only one element. |
| (gen_regexp): Remove extra semicolon. |
| |
| * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp, |
| thumb2_movsf_vfp): Set attribute "insn". |
| * config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi, |
| not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2, |
| thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch, |
| arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn, |
| arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn, |
| thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn, |
| thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc, |
| movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not, |
| if_not_move, if_shift_move, if_move_shift, if_shift_shift, |
| if_not_arith, if_arith_not, cond_move_not): Likewise. |
| |
| 2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert): |
| New declaration. |
| (rs6000_allocate_stack_temp): Ditto. |
| (rs6000_expand_convert_si_to_sfdf): Ditto. |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Adjust long |
| line. Update the options set if power6 or power7 server/embedded |
| type options are used. If we give a warning for no vsx under |
| -mcpu=power7 -mno-altivec, mark -mvsx as an explicit option. |
| (rs6000_allocate_stack_temp): New function to allocate a stack |
| tempoary and adjust the address so it meets either REG+OFFSET or |
| REG+REG addressing requirements. |
| (rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so |
| that they can be used with the LFIWAX/LFIWZX instrucitons. |
| (rs6000_expand_convert_si_to_sfdf): New helper funciton for |
| converting signed/unsigned SImode to either SFmode/DFmode. |
| |
| * config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine |
| whether certain instructions can be generated. |
| (TARGET_FCTIDZ): Ditto. |
| (TARGET_STFIWX): Ditto. |
| (TARGET_LFIWAX): Ditto. |
| (TARGET_LFIWZX): Ditto. |
| (TARGET_FCFIDS): Ditto. |
| (TARGET_FCFIDU): Ditto. |
| (TARGET_FCFIDUS): Ditto. |
| (TARGET_FCTIDUZ): Ditto. |
| (TARGET_FCTIWUZ): Ditto. |
| |
| * config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants. |
| (UNSPEC_FCTID): Ditto. |
| (UNSPEC_LFIWAX): Ditto. |
| (UNSPEC_LFIWZX): Ditto. |
| (UNSPEC_FCTIWUZ): Ditto. |
| (rreg): Use correct constraints. |
| (SI_CONVERT_FP): New mode attribute for floating point conversion |
| tests. |
| (E500_CONVERT): Ditto. |
| (lfiwax): New insns for converting from integer to floating point |
| utilizing newer instructions. Attempt to optimize conversions |
| that come from memory so that we don't load the value into a GPR, |
| spill it to the stack and reload it into a FPR. |
| (floatsi<mode>2_lfiwax): Ditto. |
| (floatsi<mode>2_lfiwax_mem): Ditto. |
| (floatsi<mode>2_lfiwax_mem2): Ditto. |
| (lfiwzx): Ditto. |
| (floatunssi<mode>2_lfiwzx): Ditto. |
| (floatunssi<mode>2_lfiwzx_mem): Ditto. |
| (floatunssi<mode>2_lfiwzx_mem2): Ditto. |
| (floatdidf2_mem): Ditto. |
| (floatunsdidf2_fcfidu): Ditto. |
| (floatunsdidf2_mem): Ditto. |
| (floatunsdisf2): Ditto. |
| (floatunsdisf2_fcfidus): Ditto. |
| (floatunsdisf2_mem): Ditto. |
| (floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS. |
| Use FCFID on 32-bit hosts that support it. |
| (floatsidf2_internal): Ditto. |
| (floatunssisf2): Ditto. |
| (floatunssidf2): Ditto. |
| (floatunssidf2_internal): Ditto. |
| (floatsisf2): Ditto. |
| (floatdidf2): Ditto. |
| (floatdidf2_fpr): Ditto. |
| (floatunsdidf2): Ditto. |
| (floatdisf2): Ditto. |
| (floatdisf2_fcfids): Ditto. |
| (floatdisf2_internal1): Ditto. |
| (fixuns_truncsfsi2): Delete, merge into common pattern for both |
| SF/DF. Add power7 support. |
| (fix_truncsfsi2): Ditto. |
| (fixuns_truncdfsi2): Ditto. |
| (fixuns_truncdfdi2): Ditto. |
| (fix_truncdfsi2): Ditto. |
| (fix_truncdfsi2_internal): Ditto. |
| (fix_truncdfsi2_internal_gfxopt): Ditto. |
| (fix_truncdfsi2_mfpgpr): Ditto. |
| (fctiwz): Ditto. |
| (btruncdf2): Ditto. |
| (btruncdf2_fpr): Ditto. |
| (btructsf2): Ditto. |
| (ceildf2): Ditto. |
| (ceildf2_fpr): Ditto. |
| (ceilsf2): Ditto. |
| (floordf2): Ditto. |
| (floordf2_fpr): Ditto. |
| (floorsf2): Ditto. |
| (rounddf2): Ditto. |
| (rounddf2_fpr): Ditto. |
| (roundsf2): Ditto. |
| (fix_trunc<mode>si2): Combine SF/DF conversion into one insn. |
| (fix_trunc<mode>di2): Ditto. |
| (fixuns_trunc<mode>si2): Ditto. |
| (fixuns_trunc<mode>di2): Ditto. |
| (fctiwz_<mode>): Ditto. |
| (btrunc<mode>2): Ditto. |
| (btrunc<mode>2_fpr): Ditto. |
| (ceil<mode>2): Ditto. |
| (ceil<mode>2_fpr): Ditto. |
| (floor<mode>2): Ditto. |
| (float<mode>2_fpr): Ditto. |
| (round<mode>2): Ditto. |
| (round<mode>2_fpr): Ditto. |
| (fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX. |
| (fixuns_trunc<mode>si2_stfiwx): Ditto. |
| (fix_truncdfsi2_internal): Ditto. |
| (fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing |
| converted value on stack, loaded into GPR, and then stored into |
| the final destination. |
| (fix_trunc<mode>di2_fctidz): New pattern for targets supporting |
| FCTIDZ. |
| (lrint<mode>di2): New insn, provide the lrint builtin functions. |
| (ftruncdf2): Delete, unused. |
| (fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz. |
| |
| * config/rs6000/vsx.md (toplevel): Update copyright year. |
| (VSr2): Use "ws" contraint for DFmode, not "!r#r". |
| (VSr3): Ditto. |
| |
| 2010-08-27 Basile Starynkevitch <basile@starynkevitch.net> |
| Jeremie Salvucci <jeremie.salvucci@free.fr> |
| |
| * gengtype.c (output_type_enum): Test the right union member. |
| |
| 2010-08-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/41484 |
| * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory |
| operands for operand 1. |
| (sse4_1_extendv4qiv4si2): Ditto. |
| (sse4_1_extendv2qiv2di2): Ditto. |
| (sse4_1_extendv4hiv4si2): Ditto. |
| (sse4_1_extendv2hiv2di2): Ditto. |
| (sse4_1_extendv2siv2di2): Ditto. |
| (sse4_1_zero_extendv8qiv8hi2): Ditto. |
| (sse4_1_zero_extendv4qiv4si2): Ditto. |
| (sse4_1_zero_extendv2qiv2di2): Ditto. |
| (sse4_1_zero_extendv4hiv4si2): Ditto. |
| (sse4_1_zero_extendv2hiv2di2): Ditto. |
| (sse4_1_zero_extendv2siv2di2): Ditto. |
| (*sse4_1_extendv8qiv8hi2): Remove insn pattern. |
| (*sse4_1_extendv4qiv4si2): Ditto. |
| (*sse4_1_extendv2qiv2di2): Ditto. |
| (*sse4_1_extendv4hiv4si2): Ditto. |
| (*sse4_1_extendv2hiv2di2): Ditto. |
| (*sse4_1_extendv2siv2di2): Ditto. |
| (*sse4_1_zero_extendv8qiv8hi2): Ditto. |
| (*sse4_1_zero_extendv4qiv4si2): Ditto. |
| (*sse4_1_zero_extendv2qiv2di2): Ditto. |
| (*sse4_1_zero_extendv4hiv4si2): Ditto. |
| (*sse4_1_zero_extendv2hiv2di2): Ditto. |
| (*sse4_1_zero_extendv2siv2di2): Ditto. |
| |
| 2010-08-27 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/mips/mips-protos.h (mips_function_arg_advance): Delete |
| (mips_function_arg): Delete. |
| (mips_function_arg_boundary): Take a const_tree. |
| * config/mips/mips.c (mips_function_arg_boundary): Likewise. |
| (mips_arg_info): Likewise. |
| (mips_setup_incoming_varargs): Call mips_function_arg_advance |
| instead of FUNCTION_ARG_ADVANCE. |
| (mips_function_arg_advance): Adjust prototype. Make static. |
| (mips_function_arg): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| * config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete. |
| |
| 2010-08-27 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. |
| * config/rs6000/rs6000-protos.h (function_arg_advance): Delete. |
| (function_arg): Delete. |
| (function_arg_boundary): Take a const_tree. |
| * config/rs6000/rs6000.c (function_arg_boundary): Likewise. |
| (rs6000_spe_function_arg): Likewise. |
| (rs6000_parm_start): Likewise. |
| (rs6000_arg_size): Likewise. |
| (rs6000_darwin64_record_arg_advance_recurse): Likewise. |
| (rs6000_darwin64_record_arg): Likewise. Take a bool instead of an int. |
| (rs6000_mixed_function_arg): Likewise. |
| (function_arg): Rename to... |
| (rs6000_function_arg): ...this. |
| (function_arg_advance): Rename to... |
| (rs6000_function_arg_advance_1): ...this |
| (rs6000_function_arg_advance): New function. Call it. |
| (setup_incoming_varargs): Call rs6000_function_arg_advance_1. |
| (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg. |
| (rs6000_function_value): Likewise. |
| (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. |
| |
| 2010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/arm.md (enabled): Test the value of arch_enabled |
| rather than just using it. |
| |
| 2010-08-27 Olivier Hainque <hainque@adacore.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| * dse.c (group_info.base_mem, get_group_info): Use BLKmode to |
| cover all the possible offsets from this base. |
| (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence. |
| |
| 2010-08-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/44485 |
| * calls.c (flags_from_decl_or_type): For const or pure |
| noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN |
| together with ECF_CONST resp. ECF_PURE. |
| * builtins.c (expand_builtin): Use flags_from_decl_or_type |
| instead of querying flags directly. |
| * tree-ssa-loop-niter.c (finite_loop_p): Likewise. |
| * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise. |
| |
| 2010-08-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45255 |
| * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics |
| and externals are also invariant. |
| |
| 2010-08-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/44858 |
| * combine.c (try_combine): If recog_for_combine added CLOBBERs to |
| newi2pat, make sure they don't affect newpat. |
| |
| PR rtl-optimization/45400 |
| * combine.c (simplify_shift_const_1) <case SUBREG>: Only use |
| SUBREG_REG if both modes are of MODE_INT class. |
| |
| 2010-08-25 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5. |
| * config/arm/arm.md (generic_sched): No for Cortex-A5. |
| (generic_vfp): Likewise. |
| (cortex-a5.md): Include. |
| * config/arm/cortex-a5.md: New. |
| |
| 2010-08-25 Richard Guenther <rguenther@suse.de> |
| |
| * alias.c (get_alias_set): Assign a single alias-set to all pointers. |
| * gimple.c (gimple_get_alias_set): Remove special handling |
| for pointers. |
| |
| 2010-08-25 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR middle-end/45355 |
| * combine.c (try_combine): Use reg_overlap_mentioned_p rather than |
| dead_or_set_p when computing i0_feeds_i2_n. |
| |
| * combine.c (find_split_point): Undo canonicalization of multiply-add |
| to (minus x (mult)) when it seems likely that this will increase the |
| chances of a split. |
| |
| 2010-08-25 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/44562 |
| * lto-streamer.c (lto_record_common_node): Do not mess with |
| TYPE_CANONICAL when not in lto. |
| * gimple.c (gimple_register_type): Likewise. |
| |
| 2010-08-25 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45316 |
| * tree-ssa-pre.c (eliminate): Properly clean EH info. |
| |
| 2010-08-25 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45393 |
| * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer |
| and clean EH info. Avoid SSA update. |
| (execute_cse_sincos): Cleanup the CFG if it has changed. |
| |
| 2010-08-25 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45379 |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle |
| TARGET_MEM_REF in alignment computation. |
| |
| 2010-08-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/45059 |
| * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless |
| type conversions from newop{1,2}. Assert t is a comparison and |
| newop{1,2} after the stripping are gimple vals. |
| |
| 2010-08-25 Tejas Belagod <tejas.belagod@arm.com> |
| |
| * config/arm/iterators.md (VU, SE, V_widen_l): New. |
| (V_unpack, US): New. |
| * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl. |
| (vec_unpack<US>_lo_<mode>): Likewise. |
| (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl. |
| (neon_vec_unpack<US>_lo_<mode>): Likewise. |
| (vec_widen_<US>mult_lo_<mode>): Expansion for vmull. |
| (vec_widen_<US>mult_hi_<mode>): Likewise. |
| (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull. |
| (neon_vec_<US>mult_hi_<mode>"): Likewise. |
| (neon_unpack<US>_<mode>): Widening move intermediate step for |
| vectorizing without -mvectorize-with-neon-quad. |
| (neon_vec_<US>mult_<mode>): Widening multiply intermediate step |
| for vectorizing without -mvectorize-with-neon-quad. |
| * config/arm/predicates.md (vect_par_constant_high): Check for |
| high-half lanes of a vector. |
| (vect_par_constant_low): Check for low-half lanes of a vector. |
| |
| 2010-08-24 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-if-conv.c (struct ifc_dr): New. |
| (IFC_DR): New. |
| (DR_WRITTEN_AT_LEAST_ONCE): New. |
| (DR_RW_UNCONDITIONALLY): New. |
| (memref_read_or_written_unconditionally): Use the cached values |
| when possible. |
| (write_memref_written_at_least_once): Same. |
| (if_convertible_loop_p): Initialize and free DR->aux fields. |
| |
| 2010-08-24 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * gimple.c (gimple_could_trap_p_1): Not static anymore. |
| Pass an extra bool parameter include_mem. |
| (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1. |
| (gimple_assign_rhs_could_trap_p): Same. |
| * gimple.h (gimple_could_trap_p_1): Declared. |
| * tree-data-ref.h (same_data_refs_base_objects): New. |
| (same_data_refs): New. |
| * tree-if-conv.c (memrefs_read_or_written_unconditionally): New. |
| (write_memrefs_written_at_least_once): New. |
| (ifcvt_memrefs_wont_trap): New. |
| (operations_could_trap): New. |
| (ifcvt_could_trap_p): New. |
| (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p. |
| Gets a vector of data refs. |
| (if_convertible_stmt_p): Same. |
| (if_convertible_loop_p_1): New. |
| (if_convertible_loop_p): Call if_convertible_loop_p_1. |
| |
| 2010-08-24 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * common.opt (ftree-loop-if-convert-stores): New flag. |
| * doc/invoke.texi (ftree-loop-if-convert-stores): Documented. |
| * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert |
| the created statement before GSI. |
| (if_convertible_phi_p): Allow virtual phi nodes when |
| flag_loop_if_convert_stores is set. |
| (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes |
| Do not handle types that do not match is_gimple_reg_type. |
| Remove loop and bb parameters. Call gimple_could_trap_p instead of |
| when flag_loop_if_convert_stores is set, as LHS can contain |
| memory refs. |
| (if_convertible_stmt_p): Remove loop and bb parameters. Update calls |
| to if_convertible_gimple_assign_stmt_p. |
| (if_convertible_loop_p): Update call to if_convertible_stmt_p. |
| (replace_phi_with_cond_gimple_assign_stmt): Renamed |
| predicate_scalar_phi. Do not handle virtual phi nodes. |
| (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis. |
| Call predicate_scalar_phi. |
| (insert_gimplified_predicates): Insert the gimplified predicate of a BB |
| just after the labels for flag_loop_if_convert_stores, otherwise |
| insert the predicate in the end of the BB. |
| (predicate_mem_writes): New. |
| (combine_blocks): Call predicate_all_scalar_phis. When |
| flag_loop_if_convert_stores is set, call predicate_mem_writes. |
| (tree_if_conversion): Call mark_sym_for_renaming when |
| flag_loop_if_convert_stores is set. |
| (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when |
| flag_loop_if_convert_stores is set. |
| |
| 2010-08-24 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value, |
| pa_function_value_regno_p, pa_print_operand_punct_valid_p): New. |
| (pa_function_value): Make static. |
| (override_options): Rename to... |
| (pa_option_override): ...this. Make static. |
| (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST, |
| TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P, |
| TARGET_OPTION_OVERRIDE): Define. |
| * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P, |
| LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P): |
| Remove. |
| * config/pa/pa-protos.h (override_options): Remove. |
| |
| 2010-08-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45379 |
| * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF |
| if addr->index is NULL or zero. |
| * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle |
| TARGET_MEM_REF more properly. |
| (indirect_ref_may_alias_decl_p): Likewise. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs. |
| * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly. |
| |
| 2010-08-23 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/m32c/m32c.c (m32c_function_value_regno_p): Make static. |
| (m32c_override_options): Rename to... |
| (m32c_option_override): ...this. Make static. |
| (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define. |
| * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P): |
| Remove. |
| * config/m32c/m32c-protos.h (m32c_override_options, |
| m32c_function_value_regno_p): Remove. |
| |
| 2010-08-23 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * tree-ssa-loop-prefetch.c (gather_memory_references_ref) : |
| Fix a typo in a previous commit. |
| |
| 2010-08-23 Kai Tietz <kai.tietz@onevision.com> |
| |
| * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): |
| Pre-initialize innerloop_iters to one. |
| |
| 2010-08-23 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * tree-flow.h (may_be_nonaddressable_p): New definition. Make the |
| existing static function global. |
| |
| * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function |
| is changed to global. |
| |
| * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call |
| may_be_nonaddressable_p on base, and don't collect this reference |
| if the address of the base could not be taken. |
| |
| 2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.opt (-mveclibabi=mass): New option to |
| enable the compiler to autovectorize mathmetical functions for |
| power7 using the Mathematical Acceleration Subsystem library. |
| |
| * config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to |
| handle which vector math library we have. |
| (rs6000_override_options): Add -mveclibabi=mass support. |
| (rs6000_builtin_vectorized_libmass): New function to handle auto |
| vectorizing math functions that are in the MASS library. |
| (rs6000_builtin_vectorized_function): Call it. |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mveclibabi=mass. |
| |
| 2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR boehm-gc/34544 |
| * gthr-posix.h (__gthread_active_init): Delete. |
| (__gthread_active_p): Do activity check here. |
| Don't include errno.h on hppa-hpux. Update comment. |
| * gthr-posix95.h (__gthread_active_init): Delete. |
| (__gthread_active_p): Do activity check here. |
| Don't include errno.h on hppa-hpux. Update comment. |
| * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. |
| * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only |
| add -lpthread when -mt or -pthread is specified. |
| * config/pa/pa-hpux11.h (LIB_SPEC): likewise. |
| (LINK_GCC_C_SEQUENCE_SPEC): Define. |
| * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. |
| (stublib.c, pthread_default_stacksize_np-stub.o, |
| pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, |
| $(T)libgcc_stub.a): Add methods. |
| * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. |
| (stublib.c, pthread_default_stacksize_np-stub.o, |
| pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. |
| * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, |
| pthread_mutex_unlock): New stubs. |
| |
| 2010-08-22 Joseph Myers <joseph@codesourcery.com> |
| |
| * Makefile.in (gccspec.o, cppspec.o): Update dependencies. |
| * common.opt (L, nodefaultlibs, nostdlib, pg, static): New |
| options. |
| * config/avr/avr.h (LIBSTDCXX): Remove initial "-l". |
| * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l". |
| * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l". |
| * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l". |
| * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial |
| "-l". |
| * cppspec.c: Include opts.h. |
| (lang_specific_driver): Use cl_decoded_option structures. |
| * doc/tm.texi.in (MATH_LIBRARY): Update documentation. |
| * doc/tm.texi: Regenerate. |
| * gcc.c (translate_options): Translate -d to -foutput-class-dir=. |
| (driver_handle_option): Allow driver options needing no special |
| processing. |
| (process_command): Decode options before call to |
| lang_specific_driver. Pass decoded options to |
| lang_specific_driver. |
| * gcc.h (lang_specific_driver): Update prototype. |
| * gccspec.c: Include opts.h. |
| (lang_specific_driver): Use cl_decoded_option structures. |
| * opts-common.c (option_ok_for_language, generate_option, |
| generate_option_input_file): New. |
| (decode_cmdline_option): Use option_ok_for_language. |
| (decode_cmdline_options_to_array): Use generate_option_input_file. |
| (handle_generated_option): Use generate_option. |
| * opts.h (generate_option, generate_option_input_file): Declare. |
| |
| 2010-08-22 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mips/mips.c (mips_override_options): Rename to... |
| (mips_option_override): ...this. Make static. |
| (TARGET_OPTION_OVERRIDE): Define. |
| (mips_in_small_data_p): Update comment. |
| * config/mips/mips.h (OVERRIDE_OPTIONS): Remove. |
| (FIXED_REGISTERS): Update comment. |
| * config/mips/mips-protos.h (mips_override_options): Remove. |
| |
| 2010-08-21 Olivier Hainque <hainque@adacore.com> |
| |
| * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__. |
| |
| 2010-08-21 Olivier Hainque <hainque@adacore.com> |
| |
| * config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY, |
| ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI. |
| |
| 2010-08-20 Jan Hubicka <jh@suse.cz> |
| |
| * tree-pass.h (pass_ipa_cdtor_merge): New function. |
| * cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make |
| heap allocated. |
| (record_cdtor_fn): Move to ipa.c; do not test for |
| have_ctors_dtors. |
| (build_cdtor): Move to ipa.c; add code avoiding construction |
| when target have ctors/dtors and there is only one ctor/dtor at given |
| priority. |
| (compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize |
| sort; reverse order of constructors. |
| (cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns. |
| (cgraph_finalize_function): Do not call record_cdtor_fn. |
| (cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns. |
| (cgraph_build_static_cdtor): Move to ipa.c. |
| * ipa.c: Include target.h and tree-iterator.h. |
| (cgraph_build_static_cdtor, static_ctors, static_dtors, |
| record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor, |
| build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge, |
| pass_ipa_cdtor_merge): New. |
| * passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge. |
| * ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of |
| bounds access. |
| |
| 2010-08-20 Jan Hubicka <jh@suse.cz> |
| |
| PR c++/45307 |
| PR c++/17736 |
| * cgraph.h (cgraph_only_called_directly_p, |
| cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle |
| static cdtors. |
| * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors |
| are not needed. |
| (cgraph_finalize_function): Static cdtors are reachable. |
| (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p. |
| |
| 2010-08-20 Jan Hubicka <jh@suse.cz> |
| |
| * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of |
| flag_wpa. |
| * lto-streamer-out.c (lto_output): Likewise. |
| * passes.c (ipa_write_optimization_summaries): Initialize statement |
| uids. |
| |
| 2010-08-20 Olivier Hainque <hainque@adacore.com> |
| |
| * tree.h (alias_diag_flags): New enum. |
| (alias_pair): Add an 'emitted_diags' field. |
| * varasm.c (finish_aliases_1): Honor and update p->emitted_diags. |
| (assemble_alias): Initialize emitted_diags of new pairs. |
| |
| 2010-08-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1. |
| * config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise. |
| * config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise. |
| (STACK_CHECK_PROTECT): Define. |
| * config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function. |
| (output_probe_stack_range): Likewise. |
| (rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static |
| builtin stack checking is enabled. |
| * config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare. |
| * config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant. |
| (probe_stack_range): New insn. |
| |
| 2010-08-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/45336 |
| * config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned |
| short first. |
| |
| * config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned |
| char first. |
| |
| 2010-08-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45336 |
| * config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator |
| to cover zero extension into 64-bit register. |
| (*sse2_pextrw): Likewise. |
| (*sse4_1_pextrd_zext): New insn. |
| |
| 2010-08-20 Iain Sandoe <iains@gcc.gnu.org> |
| |
| revert r163410, partially revert r163267. |
| * config/rs6000/darwin.h (LIB_SPEC): Remove. |
| * config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all |
| Darwin versions. |
| |
| 2010-08-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/44974 |
| * builtins.c (expand_builtin): Don't optimize away |
| calls to DECL_LOOPING_CONST_OR_PURE_P builtins. |
| |
| 2010-08-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (ashift %rsp splitter): Remove splitter. |
| (pro_epilogue_adjust_stack_di_2): Use "l" constraint for |
| alternative 1 of operand 2. |
| |
| 2010-08-20 Jakub Jelinek <jakub@redhat.com> |
| Paolo Bonzini <bonzini@gnu.org> |
| |
| * simplify-rtx.c (simplify_unary_operation_1): Optimize |
| (sign_extend (zero_extend (...)) and |
| ({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))). |
| |
| 2010-08-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/45353 |
| * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn |
| after bb_note is a BARRIER. |
| |
| 2010-08-20 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by |
| linking libgcc.a. |
| |
| 2010-08-20 Jakub Jelinek <jakub@redhat.com> |
| Michael Matz <matz@suse.de> |
| |
| * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype. |
| |
| 2010-08-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * ggc-common.c (ggc_mark_root_tab): New function, split out from... |
| (ggc_mark_roots): ...here. |
| |
| 2010-08-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * vec.h (FOR_EACH_VEC_ELT): Define. |
| * c-decl.c: Use it. |
| * cfgloop.c: Likewise. |
| * cfgloopmanip.c: Likewise. |
| * cgraph.c: Likewise. |
| * cgraphunit.c: Likewise. |
| * combine.c: Likewise. |
| * config/bfin/bfin.c: Likewise. |
| * config/mips/mips.c: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * dbxout.c: Likewise. |
| * df-scan.c: Likewise. |
| * dominance.c: Likewise. |
| * dse.c: Likewise. |
| * dwarf2out.c: Likewise. |
| * except.c: Likewise. |
| * expr.c: Likewise. |
| * function.c: Likewise. |
| * gcse.c: Likewise. |
| * genattr.c: Likewise. |
| * ggc-common.c: Likewise. |
| * gimplify.c: Likewise. |
| * graphite-blocking.c: Likewise. |
| * graphite-clast-to-gimple.c: Likewise. |
| * graphite-dependences.c: Likewise. |
| * graphite-interchange.c: Likewise. |
| * graphite-poly.c: Likewise. |
| * graphite-scop-detection.c: Likewise. |
| * graphite-sese-to-poly.c: Likewise. |
| * graphite.c: Likewise. |
| * haifa-sched.c: Likewise. |
| * ifcvt.c: Likewise. |
| * implicit-zee.c: Likewise. |
| * ipa-prop.c: Likewise. |
| * ipa-struct-reorg.c: Likewise. |
| * ipa.c: Likewise. |
| * ira-build.c: Likewise. |
| * ira-color.c: Likewise. |
| * ira-emit.c: Likewise. |
| * lambda-code.c: Likewise. |
| * loop-invariant.c: Likewise. |
| * loop-unroll.c: Likewise. |
| * lower-subreg.c: Likewise. |
| * lto-cgraph.c: Likewise. |
| * lto-opts.c: Likewise. |
| * lto-streamer-in.c: Likewise. |
| * lto-streamer-out.c: Likewise. |
| * lto-streamer.c: Likewise. |
| * lto-symtab.c: Likewise. |
| * matrix-reorg.c: Likewise. |
| * opts.c: Likewise. |
| * predict.c: Likewise. |
| * print-tree.c: Likewise. |
| * sdbout.c: Likewise. |
| * sel-sched-dump.c: Likewise. |
| * sel-sched-ir.c: Likewise. |
| * sel-sched.c: Likewise. |
| * sese.c: Likewise. |
| * stor-layout.c: Likewise. |
| * tree-cfg.c: Likewise. |
| * tree-cfgcleanup.c: Likewise. |
| * tree-chrec.c: Likewise. |
| * tree-data-ref.c: Likewise. |
| * tree-emutls.c: Likewise. |
| * tree-inline.c: Likewise. |
| * tree-into-ssa.c: Likewise. |
| * tree-loop-distribution.c: Likewise. |
| * tree-loop-linear.c: Likewise. |
| * tree-mudflap.c: Likewise. |
| * tree-outof-ssa.c: Likewise. |
| * tree-parloops.c: Likewise. |
| * tree-predcom.c: Likewise. |
| * tree-pretty-print.c: Likewise. |
| * tree-scalar-evolution.c: Likewise. |
| * tree-ssa-live.c: Likewise. |
| * tree-ssa-loop-im.c: Likewise. |
| * tree-ssa-loop-ivcanon.c: Likewise. |
| * tree-ssa-loop-ivopts.c: Likewise. |
| * tree-ssa-loop-manip.c: Likewise. |
| * tree-ssa-loop-niter.c: Likewise. |
| * tree-ssa-loop-prefetch.c: Likewise. |
| * tree-ssa-phiprop.c: Likewise. |
| * tree-ssa-pre.c: Likewise. |
| * tree-ssa-reassoc.c: Likewise. |
| * tree-ssa-sccvn.c: Likewise. |
| * tree-ssa-structalias.c: Likewise. |
| * tree-ssa.c: Likewise. |
| * tree-vect-data-refs.c: Likewise. |
| * tree-vect-loop-manip.c: Likewise. |
| * tree-vect-loop.c: Likewise. |
| * tree-vect-patterns.c: Likewise. |
| * tree-vect-slp.c: Likewise. |
| * tree-vect-stmts.c: Likewise. |
| * tree-vrp.c: Likewise. |
| * tree.c: Likewise. |
| * value-prof.c: Likewise. |
| * var-tracking.c: Likewise. |
| * varasm.c: Likewise. |
| * vmsdbgout.c: Likewise. |
| |
| 2010-08-19 Nathan Sidwell <nathan@codesourcery.com> |
| Richard Guenther <richard.guenther@gmail.com> |
| |
| * gimplify.c (gimplify_modify_expr): When assigning to volatiles, |
| copy the src value and return a copy. |
| * doc/extend.texi (Volatiles): Move from C++ to C and expand. |
| (C++ Volatiles): Adjust to describe C++ semantics only. |
| |
| 2010-08-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to |
| be zero or nonzero. |
| * doc/tm.texi: Regenerate. |
| * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define. |
| * df-scan.c (df_get_exit_block_use_set), reginfo.c |
| (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p): |
| Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics. |
| * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define |
| to 1. |
| |
| 2010-08-20 Olivier Hainque <hainque@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output |
| an extra nop past a sibling call at the very end. |
| |
| 2010-08-19 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR bootstrap/45350 |
| * combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix |
| a comment. |
| |
| 2010-08-19 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * target.def (function_arg, function_incoming_arg): Remove const |
| qualifier on CUMULATIVE_ARGS parameter. |
| * targhooks.h (default_function_arg, default_function_incoming_arg): |
| Likewise. |
| * targhooks.c (default_function_arg, default_function_incoming_arg): |
| Likewise. |
| * config/i386/i386.c (ix86_function_arg): Likewise. |
| |
| 2010-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/45336 |
| * simplify-rtx.c (simplify_unary_operation_1): Optimize nested |
| SIGN_EXTENDs or ZERO_EXTENDs. |
| |
| 2010-08-19 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/42172 |
| * combine.c (combine_validate_cost): New arg I0. All callers changed. |
| Take its cost into account if nonnull. |
| (insn_a_feeds_b): New static function. |
| (combine_instructions): Look for four-insn combinations. |
| (can_combine_p): New args PRED2, SUCC2. All callers changed. Take |
| them into account when computing all_adjacent and looking for other |
| uses. |
| (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers |
| changed. Treat them like I1DEST and I1_NOT_IN_SRC. |
| (try_combine): New arg I0. Handle four-insn combinations. |
| (distribute_notes): New arg ELIM_I0. All callers changed. Treat it |
| like ELIM_I1. |
| |
| 2010-08-19 Jason Merrill <jason@redhat.com> |
| |
| PR c++/45307 |
| * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED |
| if ctor is empty. |
| (gimplify_modify_expr_rhs): Adjust. |
| |
| 2010-08-19 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to |
| bitmap_bit_p. |
| * config/bfin/bifn.c (bfin_discover_loop): Likewise. |
| * dominance.c (iterate_fix_dominators): Likewise. |
| * dse.c (set_usage_bits): Likewise. |
| (set_position_unneeded, record_store): Likewise. |
| * gimple-fold.c (get_maxval_strlen): Likewise. |
| * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise. |
| * ipa-inline.c (update_caller_keys): Likewise. |
| * ipa-split.c (verify_non_ssa_vars): Likewise. |
| * ipa-type-escape.c (mark_type, close_type_seen): Likewise. |
| (close_type_exposed_parameter, close_type_full_escape): Likewise. |
| (close_addressof_down): Likewise. |
| * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise. |
| (setup_allocno_left_conflicts_size): Likewise. |
| (ira_reassign_conflict_allocnos): Likewise. |
| (ira_reassign_pseudos): Likewise. |
| * ira-emit.c (change_loop): Likewise. |
| * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise. |
| * lto-streamer-out.c (write_symbol): Likewise. |
| * predict.c (expr_expected_value_1): Likewise. |
| * regstat.c (regstat_bb_compute_ri): Likewise. |
| * sel-sched.c (create_block_for_bookkeeping): Likewise. |
| (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise. |
| * stmt.c (expand_case): Likewise. |
| * tree-eh.c (emit_eh_dispatch): Likewise. |
| * tree-into-ssa.c (prune_unused_phi_nodes): Likewise. |
| * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes): |
| Likewise. |
| (rdg_flag_vertex, rdg_flag_loop_exits): Likewise. |
| (rdg_build_components): Likewise. |
| * tree-object-size.c (collect_object_sizes_for): Likewise. |
| * tree-sra.c (convert_callers): Likewise. |
| * tree-ssa-coalesce.c (live_track_add_partition): Likewise. |
| * tree-ssa-live.c (mark_all_vars_used_1): Likewise. |
| * tree-ssa-pre.c (bitmap_set_replace_value): Likewise. |
| |
| 2010-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*lea_1): Use P mode iterator. |
| (lea add splitter): Also handle DImode operands. |
| (DImode lea add splitter): Use x86_64_immediate_operand for operand 2 |
| predicate. Do not use ix86_lea_for_add_ok. |
| (zext DImode lea add splitter): Use ix86_lea_for_add_ok. |
| (lea ashift splitter): Also handle DImode operands. |
| (DImode lea ashift splitter): Remove splitter. |
| |
| 2010-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use |
| ix86_binary_operator_ok. |
| |
| 2010-08-19 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/44691 |
| * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG |
| is not a register. |
| |
| 2010-08-19 Ian Bolton <ian.bolton@arm.com> |
| |
| PR target/45070 |
| * config/arm/arm.c (arm_output_epilogue): Ensure that return |
| value of size 1-3 is handled correctly. |
| |
| 2010-08-19 Ian Bolton <ian.bolton@arm.com> |
| |
| * tree-switch-conversion.c (gen_inbound_check): Ensure that the |
| type for the conditional has wide enough range. |
| |
| 2010-08-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45327 |
| * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use |
| ix86_binary_operator_ok. |
| |
| 2010-08-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea. |
| <default>: Swap operands 1 and 2 for alternative 2 to use existing |
| code to output insn mnemonic. Fix comment. |
| (*addsi_1_zext): Add r-r-0 alternative 1. |
| <TYPE_LEA>: Split insn to lea. |
| <default>: Handle alternative 1. |
| (*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of |
| multi-level if_then_else RTX to set "type" attribute. |
| <default>: Handle alternative 2. |
| (*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4. |
| Use cond RTX instead of multi-level if_then_else RTX to set |
| "type" attribute. |
| <default>: Handle alternatives 2 and 4. |
| (lea splitters): Update calls to ix86_lea_for_add_ok. |
| |
| * config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code" |
| argument. |
| * config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype. |
| |
| 2010-08-18 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts, |
| use operand helpers. |
| |
| 2010-08-18 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR middle-end/45292 |
| * optabs.c (expand_bool_compare_and_swap): Expand pending |
| pops before trying the optab. |
| |
| 2010-08-18 Yao Qi <yao@codesourcery.com> |
| |
| PR target/45094 |
| * config/arm/arm.c (output_move_double): Fix typo generating |
| instructions ('ldr'->'str'). |
| |
| 2010-08-18 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR rtl-optimization/42575 |
| * optabs.c (expand_doubleword_mult): Generate new pseudos to shorten |
| live ranges. |
| |
| 2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/arm/arm-protos.h (arm_expand_sync): New. |
| (arm_output_memory_barrier, arm_output_sync_insn): New. |
| (arm_sync_loop_insns): New. |
| * config/arm/arm.c (FL_ARCH7): New. |
| (FL_FOR_ARCH7): Include FL_ARCH7. |
| (arm_arch7): New. |
| (arm_print_operand): Support %C markup. |
| (arm_legitimize_sync_memory): New. |
| (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New. |
| (arm_process_output_memory_barrier, arm_output_memory_barrier): New. |
| (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New. |
| (arm_output_op2, arm_output_op3, arm_output_sync_loop): New. |
| (arm_get_sync_operand, FETCH_SYNC_OPERAND): New. |
| (arm_process_output_sync_insn, arm_output_sync_insn): New. |
| (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New. |
| * config/arm/arm.h (struct arm_sync_generator): New. |
| (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New. |
| (TARGET_HAVE_MEMORY_BARRIER): New. |
| (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New. |
| * config/arm/arm.md: Include sync.md. |
| (UNSPEC_MEMORY_BARRIER): New. |
| (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New. |
| (VUNSPEC_SYNC_OP):New. |
| (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New. |
| (sync_result, sync_memory, sync_required_value): New attributes. |
| (sync_new_value, sync_t1, sync_t2): Likewise. |
| (sync_release_barrier, sync_op): Likewise. |
| (length): Add logic to length attribute defintion to call |
| arm_sync_loop_insns when appropriate. |
| * config/arm/sync.md: New file. |
| |
| 2010-08-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (host_integerp): Add ATTRIBUTE_PURE when not |
| ENABLE_TREE_CHECKING. |
| (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING |
| and GCC >= 4.3. |
| |
| 2010-08-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU |
| or optimizing for size, always avoid lea if possible. |
| |
| * config/i386/i386.md (*add<mode>_1): Always avoid lea if possible. |
| |
| 2010-08-17 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction): |
| Dunmmy function with NULL return unless the target is |
| OSX >= 10.6 (Darwin10). |
| |
| 2010-08-17 Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| PR target/45258 |
| * gcc.c (spec_function): Add remove-outfile. |
| (remove_outfile_spec_function): New function. |
| * config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread. |
| * invoke.texi (replace-outfile): Document. |
| |
| 2010-08-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45296 |
| * reginfo.c (globalize_reg): Reject stack registers. |
| |
| 2010-08-17 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-dom.c (struct edge_info): Use a VEC for the |
| list of conditional equivalences. |
| (free_all_edge_infos): Adjust. |
| (record_equivalences_from_incoming_edge): Likewise. |
| (record_cond): Likewise. |
| (build_and_record_new_cond): Likewise. |
| (record_conditions): Likewise. |
| (dom_opt_leave_block): Likewise. |
| |
| 2010-08-17 Kai Tietz <kai.tietz@onevision.com> |
| |
| * doc/invoke.texi (ms-extension): Add documentation. |
| |
| 2010-08-17 Richard Guenther <rguenther@suse.de> |
| |
| * fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR. |
| |
| 2010-08-17 Shujing Zhao <pearly.zhao@oracle.com> |
| |
| PR c/40563 |
| * c-decl.c (diagnose_uninitialized_cst_member): New function. |
| (finish_decl): Use it to issue a -Wc++-compat warning about |
| uninitialized const field in struct or union. |
| |
| (finish_struct): Use strip_array_types. |
| |
| 2010-08-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * function.c (block_fragments_nreverse, blocks_nreverse_all): New |
| functions. |
| (reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse. |
| (reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't |
| call block_nreverse here. |
| (blocks_nreverse): Rename decl temporary to block. |
| |
| 2010-08-16 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/arm/thumb2.md (thumb2_notsi_shiftsi, |
| thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch, |
| thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi, |
| thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0, |
| thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi, |
| thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch, |
| thumb2_iorsi3): Delete. |
| (orsi_notsi_si): No longer a named pattern. |
| (orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si. |
| * config/arm/predicates.md (shift_amount_operand): New. |
| (mult_operator): New. |
| * config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled, |
| attr enabled): New. |
| (iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if |
| arch matches t2. |
| (not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant. |
| (not_shiftsi_compare0): Likewise, renamed from |
| arm_notsi_shiftsi_compare0. |
| (not_shiftsi_compare0_scratch): Likweise, renamed from |
| arm_notsi_shiftsi_compare0_scratch. |
| (cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi. |
| (cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp. |
| (arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute |
| so that the register alternative is disabled when the shift_operator |
| is MULT. Use "M" as the constraint for constants. |
| (arith_shiftsi splitter): Enable for TARGET_32BIT. |
| (arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the |
| constraint for constants. |
| (arith_shiftsi_compare0_scratch): Likewise. |
| (sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch): |
| Handle Thumb2 alternative. |
| |
| 2010-08-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/options.texi (NoDriverArg): Document. |
| * gcc.c (cpp_unique_options): Generate -MD and -MMD instead of |
| -MDX and -MMDX. |
| * opt-functions.awk (switch_flags): Handle NoDriverArg. |
| * opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE |
| marking for CL_NO_DRIVER_ARG options when in the driver. |
| * opts.h (CL_NO_DRIVER_ARG): Define. |
| (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET, |
| CL_COMMON): Update values. |
| |
| 2010-08-16 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt: Add driver options. |
| (auxbase, auxbase-strip, quiet, version): Mark RejectDriver. |
| * doc/options.texi (Driver, RejectDriver): Document. |
| * gcc.c (pass_exit_codes, print_search_dirs, print_file_name, |
| print_prog_name, print_multi_directory, print_sysroot, |
| print_multi_os_directory, print_multi_lib, |
| print_sysroot_headers_suffix, report_times, combine_flag, |
| use_pipes, wrapper_string): Remove. |
| (save_switch, driver_unknown_option_callback, |
| driver_wrong_lang_callback, driver_post_handling_callback, |
| driver_handle_option): New. |
| (spec_lang, last_language_n_infiles): Make file-scope static |
| instead of local to process_command. |
| (process_command): Use decode_cmdline_options_to_array and |
| read_cmdline_option for option processing. Compute have_c in |
| prescan of decoded options. |
| * opt-functions.awk (switch_flags): Handle Driver and |
| RejectDriver. |
| (var_type, var_type_struct): Handle Separate options as generating |
| const char * variables. |
| * opts-common.c (decode_cmdline_option): Expect CL_COMMON and |
| CL_TARGET to be passed by caller if required. |
| (decode_cmdline_options_to_array): Update comment. |
| * opts.c (complain_wrong_lang): Handle options only valid for the |
| driver. |
| (decode_options): Update call to decode_cmdline_options_to_array. |
| (print_filtered_help): Ignore driver-only options. |
| (print_specific_help): Ignore CL_DRIVER. |
| (common_handle_option): Don't call print_specific_help for CL_DRIVER. |
| * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define. |
| (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON): |
| Update values. |
| |
| 2010-08-16 Richard Guenther <rguenther@suse.de> |
| |
| * tree-cfg.c (verify_types_in_gimple_reference): Verify |
| TARGET_MEM_REF a bit. |
| * tree-ssa-address.c (addr_for_mem_ref): Adjust. |
| (create_mem_ref_raw): Always create TMR_OFFSET, store the |
| alias pointer type via it. |
| (copy_mem_ref_info): Adjust. |
| (maybe_fold_tmr): Likewise. |
| * tree.c (mem_ref_offset): Also handle TARGET_MEM_REF. |
| (reference_alias_ptr_type): Likewise. |
| * tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand, |
| adjust documentation of TMR_OFFSET operand. |
| * alias.c (get_alias_set): Do not look at TMR_ORIGINAL but |
| use the alias pointer type. |
| * expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to |
| initialize mem attrs but the TMR itself. |
| * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF |
| similar to MEM_REF. |
| * tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL. |
| * tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove. |
| (unshare_and_remove_ssa_names): Likewise. |
| (copy_ref_info): Adjust. |
| * tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify |
| TARGET_MEM_REF case. |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look |
| at TMR_ORIGINAL. |
| * tree.h (TMR_ORIGINAL): Remove. |
| * gimple.c (get_base_address): For TARGET_MEM_REF with a |
| symbol return that. |
| * tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF |
| with a symbol. |
| (get_addr_base_and_unit_offset): Likewise. |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle |
| TARGET_MEM_REFs. |
| (indirect_ref_may_alias_decl_p): Likewise. |
| (refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs. |
| |
| 2010-08-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * doc/invoke.texi (-fomit-frame-pointer): Document that starting |
| with GCC version 4.6, the default setting (when not optimizing |
| for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has |
| been changed to -fomit-frame-pointer. |
| |
| 2010-08-15 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for |
| Darwin10. Do not link libgcc.a for Darwin >= 9. |
| |
| 2010-08-15 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/invoke.texi (Warning Options): Fix terminology and markup |
| in the description of how unknown warning options are handled. |
| |
| 2010-08-15 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vect-data-refs.c (vect_setup_realignment): Support realignment |
| in basic blocks. |
| (vect_supportable_dr_alignment): Check alignment for basic blocks. |
| * tree-vect-slp.c (vect_build_slp_tree): Allow different codes for |
| data references. |
| (vect_bb_vectorization_profitable_p): New function. |
| (vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to |
| check if it's worthwhile to vectorize the basic block. |
| |
| 2010-08-14 Anatoly Sokolov <aesok@post.ru> |
| |
| * reload.h (register_move_cost, memory_move_secondary_cost, |
| secondary_reload_class): Adjust prototype. |
| * rtl.h (reg_class_subset_p): Adjust prototype. |
| * reload.c (secondary_reload_class): Change arguments type from |
| enum reg_class to reg_class_t. Change result type to reg_class_t. |
| * reginfo.c (register_move_cost, reg_class_subset_p): Change |
| arguments type from enum reg_class to reg_class_t. |
| (memory_move_secondary_cost): Change arguments type from |
| enum reg_class to reg_class_t. Change type of saved_flags to |
| reg_class_t. |
| |
| * config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): |
| Remove macros. |
| (mips_cost): Remove. |
| (struct mips_rtx_cost_data): Moved to mips.c. |
| * config/mips/mips-protos.h (mips_register_move_cost): Remove. |
| * config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h. |
| (mips_cost): Make static. |
| (mips_canonicalize_move_class): Change argument type to reg_class_t. |
| Change result type to reg_class_t. |
| (mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments |
| type from enum reg_class to reg_class_t. |
| (mips_register_move_cost): Make static. Change arguments |
| type from enum reg_class to reg_class_t. |
| (mips_memory_move_cost): New function. |
| (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. |
| |
| 2010-08-14 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/43358 |
| * ira-lives.c (process_single_reg_class_operands): Adjust the costs |
| of a single hard register, using simplify_subreg_regno to decide |
| what that register should be. |
| |
| 2010-08-14 Mingjie Xing <mingjie.xing@gmail.com> |
| |
| * config/mips/mips.c (CODE_FOR_loongson_pmullh): Define. |
| * config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete. |
| (loongson_pmull<V_suffix>): Rename to... |
| (mul<mode>3): ...this and use MULT instead of an UNSPEC. |
| |
| 2010-08-13 Jack Howarth <howarth@bromo.med.uc.edu> |
| |
| * configure.ac: Enable -fomit-frame-pointer on darwin |
| which support dwarf2. |
| * config/i386/i386.c (override_options): Same. |
| |
| 2010-08-13 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE. |
| |
| 2010-08-12 Joseph Myers <joseph@codesourcery.com> |
| |
| * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and |
| -MMD. |
| |
| 2010-08-12 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give |
| up dot_prod pattern searching if a stmt is outside the loop. |
| |
| 2010-08-12 H.J. Lu <hongjiu.lu@intel.com> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| * config.gcc: Handle --enable-frame-pointer. |
| |
| * configure.ac: Add --enable-frame-pointer. |
| * configure: Regenerated. |
| |
| * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0. |
| (override_options): If not configured with --enable-frame-pointer, |
| enable -fomit-frame-pointer (but not for TARGET_MACHO or when |
| optimizing for size), -fasynchronous-unwind-tables and |
| -maccumulate-outgoing-args by default. |
| |
| 2010-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning. |
| |
| PR middle-end/45262 |
| * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if |
| -a overflows. Normalize the range. |
| |
| 2010-08-12 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45232 |
| * tree-ssa-reassoc.c (can_reassociate_p): Disable re-association |
| for types with undefined overflow. |
| (reassociate_bb): Allow re-associating of bit and min/max |
| operations for types with undefined overflow. |
| * tree-ssa-forwprop.c (associate_plusminus): New function. |
| (tree_ssa_forward_propagate_single_use_vars): Call it. |
| |
| 2010-08-12 Richard Guenther <rguenther@suse.de> |
| |
| * tree-flow.h (struct ptr_info_def): Add align and misalign fields. |
| * tree-ssa-alias.c (get_ptr_info): Move ... |
| * tree-ssanames.c (get_ptr_info): ... here. Initialize |
| align and misalign fields conservatively. |
| * tree-ssa-ccp.c (ccp_finalize): From partially constant pointers |
| derive alignment information. |
| (evaluate_stmt): Derive alignment information from memory |
| allocation functions. |
| * tree.h (get_pointer_alignment): Make unsigned. |
| * builtins.c (get_object_alignment): Use alignment information we |
| have computed for pointers. |
| (get_pointer_alignment): Likewise. Make conservative, return |
| and unsigned value. |
| (expand_builtin_strlen): Adjust. |
| (expand_builtin_memcmp): Likewise. |
| (expand_builtin_strcmp): Likewise. |
| (expand_builtin_strncmp): Likewise. |
| (get_builtin_sync_mem): Use at least mode alignment. |
| (fold_builtin_memset): Adjust. |
| (fold_builtin_memory_op): Likewise. |
| * gimple-pretty-print.c (dump_gimple_phi): Alongside alias |
| information also dump pointer alignment knowledge. |
| (dump_gimple_stmt): Likewise. |
| |
| 2010-08-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (LONG_TYPE_SIZE): Remove. |
| (EMPTY_FIELD_BOUNDARY): Remove. |
| * config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove. |
| |
| 2010-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45259 |
| * caller-save.c (save_call_clobbered_regs): Only swap notes with |
| DEBUG_INSNs if n_regs_saved. |
| |
| 2010-08-12 Wei Guozhi <carrot@google.com> |
| |
| PR target/44999 |
| * config/arm/arm.md (andsi3): Change to zero extension if possible. |
| * config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name. |
| |
| 2010-08-11 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira-int.h (ira_remove_allocno_copy_from_list): Remove. |
| |
| * ira-build.c (ira_remove_allocno_copy_from_list): Remove. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back |
| the case removed in the previous patch, when the only phi argument |
| is defined in the same loop as the phi node itself. Handle it |
| separately from the invariant case by both propagating it outside |
| the region and replacing the phi node with an assign. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only |
| constant phi nodes with one argument are is_gimple_min_invariant |
| and SSA_NAME_IS_DEFAULT_DEF. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-cloog-util.c (oppose_constraint): |
| Extend loop counter's value range (CLOOG_ORG). |
| (cloog_matrix_to_ppl_constraint): Same. |
| (new_Constraint_System_from_Cloog_matrix): Same. |
| * graphite-cloog-compat.h (matrix_num_type): New. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite.c (graphite_initialize): Do not initialize |
| CLooG and initialize the Parma Polyhedra Library |
| manually when using CLOOG_ORG. |
| (graphite_finalize): Do not finalize CLooG and finalize |
| the Parma Polyhedra Library manually when using CLOOG_ORG. |
| * graphite-cloog-compat.h (cloog_initialize): Hide function |
| when using CLOOG_ORG. |
| (cloog_finalize): Same. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c (free_scattering): Change |
| CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering |
| (CLOOG_ORG). |
| (build_cloog_prog): Same. |
| * graphite-cloog-compat.h (cloog_domain): Removed. |
| (cloog_scattering): New. |
| (cloog_set_domain): Removed. |
| (cloog_set_scattering): New. |
| (cloog_next_domain): Removed. |
| (cloog_next_scattering): New. |
| (cloog_set_next_domain): Removed. |
| (cloog_set_next_scattering): New. |
| (CloogScatteringList): New. |
| (CloogScattering): New. |
| (cloog_scattering_free): New. |
| (new_Cloog_Scattering_from_ppl_Polyhedron): New. |
| * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron): |
| New. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c (build_cloog_prog): Extend with |
| CloogState. |
| (set_cloog_options): Same. |
| (print_clast_stmt): Same. |
| (scop_to_clast): Same. |
| (print_generated_program): Same. |
| (gloog): Same. |
| * graphite-clast-to-gimple.h: Include graphite-cloog-util.h. |
| (scop_to_clast): Extend with CloogState. |
| * graphite-cloog-util.c: Include graphite-cloog-compat.h |
| (new_Cloog_Domain_from_ppl_Polyhedron): |
| Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG). |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState. |
| (new_Cloog_Domain_from_ppl_Polyhedron): Same. |
| * graphite-cloog-util.h (build_cloog_prog): Same. |
| * graphite-cloog-copat.h (build_cloog_prog): New. |
| (CloogState): New. |
| (cloog_state_malloc): New. |
| (cloog_state_free): New. |
| (cloog_loop_malloc): New. |
| (cloog_options_malloc): New. |
| (cloog_statement_alloc): New. |
| (cloog_domain_from_cloog_matrix): New. |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): New. |
| (new_Cloog_Domain_from_ppl_Polyhedron): New. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter |
| type of NAME now depends on used CLooG version. |
| (clast_to_gcc_expression): Replace expr_* with clast_expr_*. |
| (gcc_type_for_clast_expr): Same. |
| (print_clast_stmt): Replace pprint with clast_pprint. |
| * graphite-cloog-compat.h: Provide compatibility macros for |
| CLooG Legacy. |
| (clast_name_p): New. |
| (clast_expr_term): New. |
| (clast_expr_red): New. |
| (clast_expr_bin): New. |
| (clast_pprint): New. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options |
| compatible to newer CLooG releases (CLOOG_ORG). |
| (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG). |
| (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG). |
| * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy. |
| (build_cloog_prog) : New. |
| (cloog_program_extract_scalars): New. |
| (cloog_program_scatter): New. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h |
| conditionally (CLOOG_ORG). |
| * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h. |
| (cloog_statement_usr): New. |
| (cloog_domain): Same. |
| (cloog_set_domain): Same. |
| (cloog_next_domain): Same. |
| (cloog_set_next_domain): Same. |
| (cloog_program_nb_scattdims): Same. |
| (cloog_program_set_nb_scattdims): Same. |
| (cloog_program_names): Same. |
| (cloog_program_set_names): Same. |
| (cloog_program_set_context): Same. |
| (cloog_program_set_loop): Same. |
| (cloog_program_blocklist): Same. |
| (cloog_program_set_blocklist): Same. |
| (cloog_program_scaldims): Same. |
| (cloog_program_set_scaldims): Same. |
| (cloog_names_nb_parameters): Same. |
| (cloog_names_set_nb_parameters): Same. |
| (cloog_names_parameters): Same. |
| (cloog_names_set_parameters): Same. |
| (cloog_names_set_nb_iterators): Same. |
| (cloog_names_set_iterators): Same. |
| (cloog_names_set_nb_scattering): Same. |
| (cloog_names_set_scattering): Same. |
| (cloog_statement_set_usr): Same. |
| (cloog_loop_set_next): Same. |
| (cloog_loop_set_domain): Same. |
| (cloog_loop_set_block): Same. |
| (cloog_block_list_next): Same. |
| (cloog_block_list_set_next): |
| (cloog_block_list_set_block): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns |
| a bool. |
| (rewrite_commutative_reductions_out_of_ssa_close_phi): Same. |
| (rewrite_commutative_reductions_out_of_ssa_loop): Same. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab |
| when something has been changed. |
| (rewrite_commutative_reductions_out_of_ssa): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (propagate_expr_outside_region): Also |
| handle the case when def is in the sese region. |
| (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region |
| for invariant expressions. |
| (rewrite_cross_bb_phi_deps): Removed. |
| (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call |
| rewrite_cross_bb_phi_deps. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c |
| (rewrite_commutative_reductions_out_of_ssa_loop): Call |
| scev_analyzable_p only on is_gimple_reg |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (propagate_expr_outside_region): New. |
| (rewrite_close_phi_out_of_ssa): Propagate constant values or |
| parametric expressions outside the scop region. |
| (rewrite_cross_bb_scalar_deps): Same. |
| * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use |
| SSA_NAME_DEF_STMT only on SSA_NAMEs. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-scalar-evolution.c (instantiate_scev_name): Do not |
| instantiate default definitions. |
| |
| 2010-08-11 Vladimir Kargov <kargov@gmail.com> |
| Sebastian Pop <sebastian.pop@amd.com> |
| |
| * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p. |
| (loop_exits_from_bb_p): New. |
| * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p. |
| (loop_exits_from_bb_p): Declared. |
| * graphite-scop-detection.c (scopdet_basic_block_info): Call |
| loop_exits_to_bb_p. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an |
| extra parameter for the region. Call scev_analyzable_p. |
| (rewrite_reductions_out_of_ssa): Update call to |
| rewrite_close_phi_out_of_ssa. |
| (rewrite_cross_bb_phi_deps): Same. |
| (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra |
| parameter for the region. Call scev_analyzable_p. |
| (rewrite_commutative_reductions_out_of_ssa): Update call to |
| rewrite_commutative_reductions_out_of_ssa_loop. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.c (rename_uses): Call unshare_expr before force_gimple_operand. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of |
| SSA scalar phi nodes that can be scev_analyzable_p. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly |
| handle SSA_NAME_IS_DEFAULT_DEF. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.c (rename_uses): Handl unconditionally gimple_debug statements. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special |
| case non close-phi nodes with one argument. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * sese.h (scev_analyzable_p): Scevs could be expressions without |
| chrecs and still be scev_analyzable_p. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv. |
| * cfgloop.h (struct loop): Remove single_iv field. |
| * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed. |
| (scop_canonicalize_loops): Removed. |
| (scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate |
| over all the loop phi nodes in loop->header. |
| (build_poly_scop): Remove use of scop_canonicalize_loops. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also |
| handle GIMPLE_CALL. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-chrec.c (chrec_apply): Should only apply to the specified |
| variable. Also handle multivariate chains of recurrences that |
| satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (debug_clast_name_index): Removed. |
| (debug_clast_name_indexes_1): Removed. |
| (debug_clast_name_indexes): Removed. |
| (pbb_to_depth_to_oldiv): Removed. |
| (build_iv_mapping): Replace the use of rename_map with iv_map. |
| (translate_clast_user): Remove uses of rename_map. Allocate and |
| free iv_map. |
| (translate_clast_for_loop): Remove uses of rename_map. |
| (translate_clast_for): Same. |
| (translate_clast_guard): Same. |
| (translate_clast): Same. |
| (gloog): Same. |
| * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed. |
| * graphite-sese-to-poly.c (scev_analyzable_p): Moved... |
| * sese.c (set_rename): Now static. |
| (rename_variables_in_stmt): Removed. |
| (rename_uses): New. |
| (is_parameter): Removed. |
| (is_iv): Removed. |
| (expand_scalar_variables_call): Removed. |
| (expand_scalar_variables_ssa_name): Removed. |
| (expand_scalar_variables_expr): Removed. |
| (expand_scalar_variables_stmt): Removed. |
| (expand_scalar_variables): Removed. |
| (rename_variables): Removed. |
| (remove_condition): Removed. |
| (get_true_edge_from_guard_bb): Removed. |
| (get_false_edge_from_guard_bb): Removed. |
| (struct igp): Removed. |
| (default_before_guard): Removed. |
| (convert_for_phi_arg): Removed. |
| (add_guard_exit_phis): Removed. |
| (insert_guard_phis): Removed. |
| (graphite_copy_stmts_from_block): Now also uses iv_map and a |
| region. Do not copy conditions. Do not copy induction variables. |
| Call rename_uses. |
| (copy_bb_and_scalar_dependences): Allocate a local rename_map for |
| the translated statement. Use the iv_map for the induction |
| variable renaming. |
| * sese.h (copy_bb_and_scalar_dependences): Update declaration. |
| (set_rename): Removed declaration. |
| (scev_analyzable_p): ...here. |
| * tree-chrec.c (chrec_apply_map): New. |
| * tree-chrec.h (chrec_apply_map): Declared. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call |
| insert_loop_close_phis. |
| * sese.c (name_defined_in_loop_p): Removed. |
| (expr_defined_in_loop_p): Removed. |
| (alive_after_loop): Removed. |
| (close_phi_not_yet_inserted_p): Removed. |
| (struct alep): Removed. |
| (add_loop_exit_phis): Removed. |
| (insert_loop_close_phis): Removed. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-cloog-util.c |
| (cloog_matrix_to_ppl_constraint): Fix flipped condition. |
| * graphite-poly.c |
| (psct_scattering_dim_for_loop_depth): Same. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-cloog-util.h: Added cloog.h. |
| * graphite-blocking.c: Removed cloog.h. |
| * graphite-dependences.c: Same. |
| * graphite-interchange.c: Same. |
| * graphite-poly.c: Same. |
| * graphite-ppl.c: Same. |
| * graphite-scop-detection.c: Same. |
| * graphite-sese-to-poly.c: |
| Removed cloog.h. |
| Removed graphite-clast-to-gimple.h. |
| (check_poly_representation): Removed (unused). |
| * graphite-sese-to-poly.h |
| (check_poly_representation): Removed (unused). |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * Makefile.in (OBJS-common): Added graphite-cloog-util.o. |
| (graphite-clast-to-gimple.o): Added graphite-cloog-util.h. |
| (graphite-cloog-util.o): New. |
| (graphite-ppl.o): Added graphite-cloog-util.h. |
| * graphite-clast-to-gimple.c: |
| Added graphite-cloog-util.h to include statements. |
| * graphite-cloog-util.c: New. |
| (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c. |
| (new_Cloog_Domain_from_ppl_Polyhedron): Same. |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. |
| (new_C_Polyhedron_from_Cloog_Matrix): Same. |
| (insert_constraint_into_matrix): Same. |
| (ppl_Constrain_System_number_of_constraints): Same. |
| (new_Cloog_Matrix_from_ppl_Constraint_System): Same. |
| (oppose_constraint): Same. |
| (cloog_matrix_to_ppl_constraint): Same. |
| (new_Constraint_System_from_Cloog_Matrix): Same. |
| * graphite-cloog-util.h: New. |
| (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h. |
| (new_Cloog_Domain_from_ppl_Polyhedron): Same. |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. |
| (new_C_Polyhedron_from_Cloog_Matrix): Same. |
| (insert_constraint_into_matrix): Same. |
| * graphite-ppl.c: |
| Added graphite-cloog-util.h to include statements. |
| (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c. |
| (new_Cloog_Domain_from_ppl_Polyhedron): Same. |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. |
| (new_C_Polyhedron_from_Cloog_Matrix): Same. |
| (insert_constraint_into_matrix): Same. |
| (ppl_Constrain_System_number_of_constraints): Same. |
| (new_Cloog_Matrix_from_ppl_Constraint_System): Same. |
| (oppose_constraint): Same. |
| (cloog_matrix_to_ppl_constraint): Same. |
| (new_Constraint_System_from_Cloog_Matrix): Same. |
| * graphite-ppl.h: |
| (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to |
| graphite-cloog-util.h. |
| (new_Cloog_Domain_from_ppl_Polyhedron): Same. |
| (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. |
| (new_C_Polyhedron_from_Cloog_Matrix): Same. |
| (insert_constraint_into_matrix): Same. |
| |
| 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> |
| |
| * graphite-clast-to-gimple.c |
| (precision_for_value): Resolve value_* calls to matching mpz_* calls. |
| (precision_for_interval): Same. |
| (gcc_type_for_interval): Same. |
| (compute_type_for_level): Same. |
| * graphite-interchange.c |
| (lst_interchange_profitable_p): Same. |
| * graphite-poly.c |
| (psct_scattering_dim_for_loop_depth): Same. |
| * graphite-ppl.c |
| (ppl_max_for_le_pointset): Same. |
| (ppl_min_for_le_pointset): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_degenerate_phi): New. |
| (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call |
| rewrite_close_phi_out_of_ssa. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with |
| rename_map. |
| * sese.c (debug_rename_map): Same. |
| (get_rename): Same. |
| (set_rename): Same. |
| (rename_variables_in_stmt): Same. |
| (expand_scalar_variables_call): Same. |
| (expand_scalar_variables_ssa_name): Same. |
| (expand_scalar_variables_expr): Same. |
| (expand_scalar_variables_stmt): Same. |
| (expand_scalar_variables): Same. |
| (rename_variables): Same. |
| (graphite_copy_stmts_from_block): Same. |
| (copy_bb_and_scalar_dependences): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (copy_renames): Removed. |
| (translate_clast_for): Do not call copy_renames. |
| (translate_clast_guard): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up. |
| (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps. |
| (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps |
| before rewrite_cross_bb_scalar_deps. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa): |
| Early return in when flag_associative_math is not set. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out |
| of SSA copies on edges except for loop->latch. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa): |
| Split out of rewrite_reductions_out_of_ssa. |
| * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa): |
| Declared. |
| * graphite.c (graphite_transform_loops): Call it. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls. |
| |
| 2010-08-11 Alexander Monakov <amonakov@ispras.ru> |
| |
| * dbgcnt.def (graphite_scop): New counter. |
| * graphite.c: Include dbgcnt.h. |
| (graphite_transform_loops): Use new counter to limit transformations. |
| * Makefile.in (graphite.o): Depend on DBGCNT_H. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * passes.c (init_optimization_passes): Add pass_graphite. |
| Schedule a pass_copy_prop before pass_graphite_transforms. |
| * timevar.def (TV_GRAPHITE): Declared. |
| * tree-pass.h (pass_graphite): Declared. |
| * tree-ssa-loop.c (pass_graphite): New. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter. |
| Remove calls to rename_nb_iterations and rename_sese_parameters. |
| * graphite-clast-to-gimple.h (gloog): Update declaration. |
| * graphite.c (graphite_transform_loops): Update call to gloog. |
| * sese.c (rename_variables_in_expr): Removed. |
| (rename_nb_iterations): Removed. |
| (rename_sese_parameters): Removed. |
| * sese.h (rename_nb_iterations): Removed. |
| (rename_sese_parameters): Removed. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-clast-to-gimple.c (gloog): Remove call to |
| sese_adjust_liveout_phis. |
| * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an |
| SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps. |
| (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call |
| rewrite_phi_out_of_ssa. |
| * sese.c (get_vdef_before_sese): Removed. |
| (sese_adjust_vphi): Removed. |
| (sese_adjust_liveout_phis): Removed. |
| * sese.h (sese_adjust_liveout_phis): Removed. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra |
| argument for the place after which to insert the out of SSA copy. |
| (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy. |
| (rewrite_phi_out_of_ssa): Same. |
| (rewrite_cross_bb_scalar_deps): Same. |
| (insert_copyout): Removed. |
| (insert_copyin): Removed. |
| (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and |
| insert_out_of_ssa_copy_on_edge instead of insert_copyout and |
| insert_copyin. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore. |
| (rewrite_reductions_out_of_ssa): Same. |
| (rewrite_commutative_reductions_out_of_ssa): Same. |
| (build_poly_scop): Do not call these functions. |
| * graphite-sese-to-poly.h (build_poly_scop): Declared. |
| (rewrite_reductions_out_of_ssa): Declared. |
| (rewrite_commutative_reductions_out_of_ssa): Declared. |
| * graphite.c (graphite_transform_loops): Call on every scop |
| rewrite_commutative_reductions_out_of_ssa before calling |
| rewrite_reductions_out_of_ssa and build_scop_bbs. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-dependences.c (dot_deps): Make system call to dotty run |
| in background. |
| (dot_deps_stmt): Same. |
| * graphite-poly.c (dot_lst): Same. |
| |
| 2010-08-11 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed |
| phi_arg_in_outermost_loop. |
| (remove_simple_copy_phi): Call phi_arg_in_outermost_loop. |
| (remove_invariant_phi): Same. |
| |
| 2010-08-11 Anatoly Sokolov <aesok@post.ru> |
| |
| * target.def (output_addr_const_extra): New hook. |
| * doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_asm_output_addr_const_extra): New function. |
| * targhooks.h (default_asm_output_addr_const_extra): Declare. |
| * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA |
| target hook. |
| |
| * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove. |
| * config/i386/i386-protos.h (output_addr_const_extra): Remove. |
| * config/i386/i386.h (output_addr_const_extra): Rename to... |
| (i386_asm_output_addr_const_extra): ...this. Make static. |
| (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. |
| |
| 2010-08-11 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New. |
| |
| 2010-08-11 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16-lib2.c (__cmpsi2): New function. |
| * config/stormy16/stormy16-lib2-cmpsi2.c: New file. |
| * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add |
| stormy16-lib2-cmpsi.c. |
| |
| * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to |
| -O2. |
| |
| 2010-08-11 Joseph Myers <joseph@codesourcery.com> |
| |
| * opts.h (struct cl_option_handler_func): Make handler take |
| cl_decoded_option structure as parameter, not individual elements. |
| (struct cl_option_handlers): Make callbacks take cl_decoded_option |
| structure as parameter, not individual elements. |
| (handle_option): Take cl_decoded_option structure as parameter, |
| not individual elements. |
| (handle_generated_option): Declare. |
| * opts-common.c (handle_option): Take cl_decoded_option structure |
| as parameter, not individual elements. Update calls to callback |
| and handler functions. |
| (handle_generated_option): New. |
| (read_cmdline_option): Update calls to callback functions and |
| handle_option. |
| * opts.c (common_handle_option, complain_wrong_lang, |
| unknown_option_callback, post_handling_callback, |
| lang_handle_option, target_handle_option): Take cl_decoded_option |
| structure as parameter, not individual elements. |
| (lang_handle_option, target_handle_option, common_handle_option): |
| Assert option has at most one argument. |
| (enable_warning_as_error): Call handle_generated_option instead of |
| handle_option. Do not pass -Werror argument as argument of |
| generated option. |
| |
| 2010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with |
| 'unsigned short' and 'unsigned char' instead of 'short' and 'char'. |
| (SUBWORD_BOOL_CAS): Likewise. |
| (SUBWORD_SYNC_OP): Likewise. |
| (SUBWORD_TEST_AND_SET): Likewise. |
| (FETCH_AND_OP_WORD): Parenthesise INF_OP |
| (SUBWORD_SYNC_OP): Likewise. |
| (OP_AND_FETCH_WORD): Likewise. |
| |
| 2010-08-10 Xinliang David Li <davidxl@google.com> |
| |
| * tree-ssa-loop-ivopts.c (get_address_cost): Properly |
| compute max/min offset in address. |
| |
| 2010-08-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * ira-live.c: Include sbitmap.h. |
| (remove_some_program_points_and_update_live_ranges): Use sbitmaps. |
| Compress live ranges even more. |
| |
| 2010-08-10 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * coverage.c (ctr_labels): Delete. |
| |
| 2010-08-10 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR bootstrap/45177 |
| * config/arm/arm.c (multiple_operation_profitable_p): Move xscale |
| test here from arm_gen_load_multiple_1. |
| (arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use |
| multiple_operation_profitable_p. |
| |
| 2010-08-10 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks. |
| (fini_pre): Call free_aux_for_blocks. Delete unused bb variable. |
| |
| 2010-08-10 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_compute_frame_layout): Re-align stack |
| after saving registers. Assert that SSE registers are only saved |
| with a sufficiently aligned frame. |
| (ix86_emit_save_reg_using_mov): Assert realigned only with DRAP; |
| remove stack_realign_fp handling. |
| (ix86_expand_prologue): Save int registers before stack_realign_fp, |
| and do not mark the stack alignment as frame related. |
| (ix86_expand_epilogue): SP is now invalid with stack_realign_fp. |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register |
| saves when re-aligning the stack. |
| |
| 2010-08-10 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete. |
| * cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static. |
| (alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB. |
| |
| 2010-08-10 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * dwarf2out.c (struct die_struct): Move die_tag to the end. |
| |
| 2010-08-09 Sofiane Naci <sofiane.naci@arm.com> |
| |
| * config/arm/iterators.md: New file. |
| * config/arm/arm.md: Include iterators.md. |
| (QHSI): Move to new file. |
| (LTUGEU, cnb, optab, ior_xor): Likewise. |
| * config/arm/iwmmxt.md (VMMX): Move to new file. |
| (VSHFT, MMX_char): Likewise. |
| * config/arm/neon.md (VD): Move to new file. |
| (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise. |
| (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise. |
| (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise. |
| (V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise. |
| (V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise. |
| (V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise. |
| (V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise. |
| (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise. |
| (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise. |
| (Is_d_reg, V_mode_nunits): Likewise. |
| * config/arm/vec-common.md (VALL): Move to new file. |
| (VALLW, VINT, VINTW): Likewise. |
| |
| 2010-08-10 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR middle-end/45182 |
| * combine.c (make_compound_operation): Don't try to convert |
| shifts into multiplications for modes that aren't SCALAR_INT_MODE_P. |
| |
| 2010-08-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree.h (get_object_alignment): Adjust prototype. |
| * builtins.c (get_object_alignment): Return unsigned int, |
| drop the align parameter. Handle MEM_REF, MISALIGNED_INDIRECT_REF |
| and TARGET_MEM_REF properly. |
| (get_pointer_alignment): Adjust. |
| * emit-rtl.c (get_mem_align_offset): Adjust comment. |
| (set_mem_attributes_minus_bitpos): Adjust. |
| * tree-ssa-ccp.c (get_value_from_alignment): Adjust. |
| |
| 2010-08-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p. |
| (copy_prop_visit_assignment): Simplify. |
| (copy_prop_visit_stmt): Also visit assignments from |
| constants. |
| (copy_prop_visit_phi_node): Use operand_equal_p. |
| |
| 2010-08-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * ipa-split.c (find_split_points): Free stack. |
| |
| 2010-08-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete. |
| * tree.c (tree_node_kind): Delete corresponding entries. |
| |
| 2010-08-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * alias.c (may_alias_p): Remove unused ret. |
| |
| 2010-08-09 Bingfeng Mei <bmei@broadcom.com> |
| |
| * ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of |
| alias_sets_conflict_p. |
| (walk_mems_1): Moved from alias.c. |
| (insns_may_alias_p): New function, originally insn_alias_sets_conflict_p |
| in alias.c. |
| (add_inter_loop_mem_dep): Use insns_may_alias_p now. |
| * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p. |
| * alias.c (walk_mems_2): Moved to ddg.c. |
| (walk_mems_1): Ditto. |
| (insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved |
| to ddg.c. |
| (nonoverlapping_memrefs_p): Add flag to guard offset-based memory |
| disambiguation. |
| *(may_alias_p): New function to check whether two memory expression |
| may alias or not. Currently used in buidling inter-iteration memory |
| dependence. |
| *alias.h (nonoverlapping_memrefs_p): New flag as third argument. |
| (insn_alias_sets_conflict_p): Removed |
| *rtl.h (may_alias_p): New function prototype. |
| |
| 2010-08-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.c (nreverse): Assert that we don't have a BLOCK. |
| |
| 2010-08-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.c (fold_builtin_next_arg): Use stdarg_p. |
| * config/arm/arm.c (arm_get_pcs_model): Likewise. |
| * config/avr/avr.c (init_cumulative_args): Likewise. |
| * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. |
| * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise. |
| * config/m68k/m68k.c (m68k_return_pops_args): Likewise. |
| * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise. |
| * config/pa/pa.c (hppa_builtin_saveregs): Likewise. |
| * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise. |
| * config/rs6000/rs6000.c (init_cumulative_args): Likewise. |
| * dwarf2out.c (gen_subprogram_die): Likewise. |
| * function.c (allocate_struct_function): Likewise. |
| * c-aux-info.c (gen_formal_list_for_func_dec): Likewise. |
| (deserves_ellipsis): Delete. |
| |
| 2010-08-09 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-copy.c (cached_last_copy_of): Remove. |
| (valueize_val): New function. |
| (get_last_copy_of): Remove. |
| (set_copy_of_val): Simplify. |
| (dump_copy_of): Likewise. |
| (copy_prop_visit_cond_stmt): Use valueize_val. |
| (copy_prop_visit_phi_node): Properly handle unvisited names. |
| Drop code managing copy-of chains. |
| (init_copy_prop): Adjust. |
| (fini_copy_prop): Likewise. |
| (execute_copy_prop): Remove obsolete comment. |
| |
| 2010-08-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/44632 |
| * function.c (gimplify_parameters): Do not clear addressable |
| bit of the original parameter. |
| |
| 2010-08-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45212 |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust |
| alignment from MEM_REF offset only if we took it from the |
| base object. |
| |
| 2010-08-09 Eric Fisher <joefoxreal@gmail.com> |
| |
| * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry. |
| |
| 2010-08-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-tree.h (build_arg_info): Declare. |
| * c-decl.c (build_arg_info): Define. |
| (get_parm_info): Call it. Delete initialization code. |
| * c-parser.c (c_parser_parms_declarator): Likewise. |
| (c_parser_parms_list_declaractor): Likewise. |
| |
| 2010-08-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-tree.h (c_arg_tag): Define. Define a VEC containing it. |
| (struct c_arg_info): Change type of tags field. |
| * c-decl.c (grokdeclarator): Update for changed type of tags field. |
| (get_parm_info): Likewise. |
| (store_parm_decls_newstyle): Likewise. |
| |
| 2010-08-08 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.c (branch_island): Define. Define a VEC of it. |
| (branch_island_list): Delete. |
| (branch_islands): Declare. |
| (add_compiler_branch_island): Adjust for branch_islands instead of |
| branch_island_list. |
| (macho_branch_islands): Likewise. |
| (no_previous_def): Likewise. |
| (get_prev_label): Likewise. |
| |
| 2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR boehm-gc/34544 |
| * gthr-posix.h (__gthread_start): Delete. |
| (__gthread_active_init): Use pthread_default_stacksize_np instead of |
| pthread_create to determine if hpux pthreads are active. |
| * gthr-posix95.h (__gthread_start): Delete. |
| (__gthread_active_init): Likewise use pthread_default_stacksize_np. |
| |
| 2010-08-08 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define |
| _WIN64 not expanded. |
| |
| 2010-08-07 Uros Bizjak <ubizjak@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/45213 |
| * config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier |
| to output 32bit SFmode immediate as 8 byte sign extended value. |
| |
| 2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com> |
| |
| * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with |
| 'unsigned short' and 'unsigned char' instead of 'short' and 'char'. |
| (SUBWORD_BOOL_CAS): Likewise. |
| (SUBWORD_SYNC_OP): Likewise. |
| (SUBWORD_TEST_AND_SET): Likewise. |
| (FETCH_AND_OP_WORD): Parenthesise INF_OP |
| (SUBWORD_SYNC_OP): Likewise. |
| (OP_AND_FETCH_WORD): Likewise. |
| |
| 2010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/cortex-a9.md: Rewrite VFP Pipeline description. |
| * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost. |
| (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise. |
| (arm_adjust_cost): Split into xscale_sched_adjust_cost and a |
| generic part. |
| (cortex_a9_sched_adjust_cost): New function. |
| (xscale_sched_adjust_cost): New function. |
| * config/arm/arm-protos.h (struct tune_params): New field |
| sched_adjust_cost. |
| * config/arm/arm-cores.def: Adjust costs for cortex-a9. |
| |
| 2010-08-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/44942 |
| * config/sparc/sparc.c (function_arg_advance): Always take into account |
| the padding, if any. |
| |
| 2010-08-06 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c (struct prop_value_d): Add mask member. |
| (dump_lattice_value): Dump it. |
| (get_default_value): Adjust. |
| (get_constant_value): Likewise. |
| (set_value_varying): Likewise. |
| (set_lattice_value): Make sure to not go up the lattice |
| with bitwise constant values. |
| (get_value_for_expr): Handle ADDR_EXPRs. |
| (value_to_double_int): New function. |
| (get_value_from_alignment): Likewise. |
| (do_dbg_cnt): Adjust. |
| (ccp_lattice_meet): Handle partially constant values. |
| (bit_value_unop_1): New function. |
| (bit_value_binop_1): Likewise. |
| (bit_value_unop): Likewise. |
| (bit_value_binop): Likewise. |
| (evaluate_stmt): Track partially constant values if |
| flag_tree_bit_ccp is set. |
| (ccp_fold_stmt): Dump if we folded a predicate. |
| (ccp_visit_stmt): Adjust. |
| * common.opt (ftree-bit-ccp): New flag. |
| * doc/invoke.texi (ftree-bit-ccp): Document. |
| * opts.c (decode_options): Enable bit-CCP at -O1. |
| |
| 2010-08-06 Alan Modra <amodra@gmail.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable |
| and -mrelocatable-lib description. |
| |
| 2010-08-05 Bernd Schmidt <bernds@codesourcery.com> |
| |
| From Martin Thuresson <martint@google.com> |
| * postreload.c (reload_cse_simplify_operands): Use |
| SET_REGNO_RAW instead of SET_REGNO. |
| * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of |
| SET_REGNO. |
| * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW |
| instead of SET_REGNO. |
| * rtl.h (SET_REGNO_RAW): New macro. |
| |
| 2010-08-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask |
| computations. Fix formatting issues. |
| (num_sign_bit_copies1): Likewise. |
| (canonicalize_condition): Likewise. |
| |
| 2010-08-05 Richard Henderson <rth@redhat.com> |
| |
| * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New. |
| (floor_log2): Use clz_hwi. |
| (exact_log2): Use ctz_hwi. |
| * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New. |
| * builtins.c (fold_builtin_bitop): Use them. |
| * simplify-rtx.c (simplify_const_unary_operation): Likewise. |
| * combine.c (get_pos_from_mask): Use ctz_hwi. |
| * double-int.c (double_int_ctz): Likewise. |
| * explow.c (force_reg): Likewise. |
| * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi. |
| |
| 2010-08-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/45189 |
| * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure |
| the alignment constant is properly sign-extended. |
| |
| 2010-08-05 Richard Guenther <rguenther@suse.de> |
| |
| * expr.c (store_expr): Use emit_block_move only if both |
| source and target are MEMs. Use store_bit_field if only |
| the target is a MEM. |
| |
| 2010-08-05 Richard Henderson <rth@redhat.com> |
| |
| PR debug/45188 |
| * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition. |
| (INCOMING_RETURN_ADDR_RTX): Likewise. |
| (dwarf2out_do_frame): Remove conditional compilation. |
| (dwarf2out_frame_init): Likewise. |
| |
| 2010-08-05 Nicolas Setton <setton@adacore.com> |
| |
| * gcov.c (flag_display_progress): New static variable. |
| (main): Display progress info on standard output if requested. |
| (options): Add -d/--display-progress. |
| (print_usage): Print them. |
| (process_args): Handle them. |
| * doc/gcov.texi: Document them. |
| |
| 2010-08-05 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-cp.c (ipcp_discover_new_direct_edges): New function. |
| (ipcp_insert_stage): Redirect only edges not flagged with |
| indirect_inlining_edge. Call ipcp_discover_new_direct_edges for all |
| discovered constants. |
| |
| 2010-08-05 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (enum ipa_lattice_type): Changed comments. |
| (struct ipa_param_descriptor): New fields types and |
| cannot_devirtualize. |
| (ipa_param_cannot_devirtualize_p): New function. |
| (ipa_param_types_vec_empty): Likewise. |
| (ipa_make_edge_direct_to_target): Declare. |
| * ipa-cp.c: Fixed first stage driver name in initial comment, |
| described devirtualization there too. |
| (ipcp_analyze_node): Call ipa_analyze_params_uses. |
| (ipcp_print_all_lattices): Print devirtualization info. |
| (ipa_set_param_cannot_devirtualize): New function. |
| (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting |
| lattice to BOTTOM. |
| (ipcp_init_stage): Merged into... |
| (ipcp_generate_summary): ...its caller. |
| (ipcp_change_tops_to_bottom): Also process type lists. |
| (ipcp_add_param_type): New function. |
| (ipcp_copy_types): Likewise. |
| (ipcp_propagate_types): Likewise. |
| (ipcp_propagate_stage): Also propagate types. |
| (ipcp_need_redirect_p): Variable jump_func moved to its scope block. |
| Also return true if propagated types require it. |
| (ipcp_update_callgraph): Dump redirection info. |
| (ipcp_process_devirtualization_opportunities): New function. |
| (ipcp_const_param_count): Include known type information. |
| (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities |
| on new node. Fixed formatting. |
| * ipa-prop.c (make_edge_direct_to_target): Renamed to |
| ipa_make_edge_direct_to_target and changed all callers. Made |
| externally visible. |
| (ipa_node_duplication_hook): Duplicate types vector. |
| * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to |
| redirect outgoing calls for which we can't get a decl from the |
| statement. Check that we can get a decl from the call statement. |
| * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call |
| ipa_analyze_params_uses only when ipa-cp is disabled. |
| * tree-inline.c (get_indirect_callee_fndecl): Removed. |
| (expand_call_inline): Do not call get_indirect_callee_fndecl. |
| * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter. |
| * Makefile.in (ipa-cp.o): Add gimple.h to dependencies. |
| |
| 2010-08-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into |
| temporary. Emit move from temporary to accum, so REG_EQUAL note will |
| be attached to this insn in correct mode. |
| |
| 2010-08-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_decompose_address): Check for SI_REG |
| using REGNO of base_reg directly. |
| |
| 2010-08-05 Jie Zhang <jie@codesourcery.com> |
| |
| PR tree-optimization/45144 |
| * tree-sra.c (type_consists_of_records_p): Return false |
| if the record contains bit-field. |
| |
| 2010-08-04 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (struct ix86_frame): Remove padding and |
| to_allocate members. |
| (ix86_compute_frame_layout): Don't store them. |
| (ix86_can_use_return_insn_p): Use a more direct and more obviously |
| correct condition for the position of the stack pointer. |
| (ix86_expand_prologue): Compute remaining stack allocation based |
| on the ultimate stack pointer offset. |
| (ix86_expand_epilogue): Use more obvious expressions testing for |
| the stack pointer already pointing to the saved registers. |
| |
| * config/i386/i386.c (ix86_expand_epilogue): Eliminate code |
| duplication deconstructing the frame pointer. Simplify |
| deallocation of the local stack frame. |
| |
| * reg-notes.def (CFA_EXPRESSION): New. |
| * dwarf2out.c (dwarf2out_frame_debug): Handle it. |
| (dwarf2out_frame_debug_cfa_expression): New. |
| (dwarf2out_frame_debug_def_cfa): Handle simple MEMs. |
| |
| * config/i386/i386.h (struct machine_frame_state): Add realigned flag. |
| * config/i386/i386.c (ix86_expand_prologue): Set it. |
| (ix86_expand_epilogue): Clear it. |
| (ix86_emit_save_reg_using_mov): For registers saved in a realigned |
| context, add REG_CFA_EXPRESSION notes. |
| |
| * config/i386/i386.h (struct machine_frame_state): Rename from |
| machine_cfa_state. Add members tracking SP and FP regardless |
| of the current CFA register. |
| (ix86_cfa_state): Remove. |
| * config/i386/i386.c (struct ix86_frame): Add reg_save_offset |
| and sse_reg_save_offset members. |
| (ix86_compute_frame_layout): Set them. |
| (gen_push): Increment sp_offset too. |
| (choose_baseaddr_len, choose_baseaddr): New. |
| (ix86_emit_save_reg_using_mov): New. |
| (ix86_emit_save_regs_using_mov): Use it. |
| (ix86_emit_save_sse_regs_using_mov): Likewise. |
| (ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument; |
| compare vs the saved red_zone_offset. |
| (pro_epilogue_adjust_stack): Adjust sp_offset. |
| (ix86_adjust_stack_and_probe): Likewise. |
| (ix86_expand_prologue): Set up, use, and validate the new |
| frame_state_info members. Use gen_frame_mem. |
| (ix86_emit_restore_regs_using_pop): Remove red_offset parameter. |
| (ix86_emit_restore_reg_using_pop): Likewise. Use and update the |
| new frame_state_info members. |
| (ix86_emit_leave): Likewise. |
| (ix86_emit_restore_regs_using_mov): Likewise. Don't check for |
| out-of-range stack pointer offsets here. |
| (ix86_emit_restore_sse_regs_using_mov): Likewise. |
| (ix86_expand_epilogue): Use and validate the new frame_state_info |
| members. Break up and simplify the logic selecting the |
| restore_regs_via_mov code path. Ensure that there will be no |
| out-of-range stack pointer offsets. |
| |
| * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove. |
| |
| * config/i386/i386.c (ix86_function_ms_hook_prologue): Fix |
| argument name to reflect the expected tree; fix indentation. |
| (ix86_asm_output_function_label): Output the entire 32-bit |
| ms_hook here as bytes ... |
| (ix86_expand_prologue): ... not here as insns. Attach the |
| unwind info for the ms_hook to a blockage insn. |
| (ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP. |
| (ix86_ms_bitfield_layout_p): Fix indentation. |
| * config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove. |
| |
| * config/i386/i386.c (ix86_using_red_zone): New. |
| (ix86_compute_frame_layout, ix86_add_cfa_restore_note, |
| ix86_expand_prologue, ix86_force_to_memory): Use it. |
| |
| * config/i386/i386.c (ix86_expand_prologue): Simplify logic |
| saving the int registers. |
| |
| * dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO |
| and DWARF2_UNWIND_INFO conditional compilation. |
| |
| 2010-08-04 Richard Henderson <rth@redhat.com> |
| |
| PR debug/45171 |
| * dwarf2out.c (gen_typedef_die): Don't re-generate the die of |
| an is_naming_typedef_decl. |
| |
| 2010-08-04 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/45162 |
| * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs. |
| * dce.c (word_dce_process_block): Likewise. |
| |
| 2010-08-04 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/44583 |
| * config/ia64/constraints.md (Z): New. |
| * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New. |
| (xfreg_or_signed_fp01_operand): New. |
| * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand |
| with fr_reg_or_signed_fp01_operand and constraint G with Z. |
| (subsf3): Ditto. |
| (*maddsf4): Ditto. |
| (*msubsf4): Ditto. |
| (adddf3): Ditto. |
| (adddf3_trunc): Ditto. |
| (subdf3): Ditto. |
| (*subdf3_trunc): Ditto. |
| (*madddf4): Ditto. |
| (*madddf4_trunc): Ditto. |
| (*msubdf4): Ditto. |
| (*msubdf4_trunc): Ditto. |
| (addxf3): Replace xfreg_or_fp01_operand with |
| xfreg_or_signed_fp01_operand and constraint G with Z. |
| (*addxf3_truncsf): Ditto. |
| (*addxf3_truncdf): Ditto. |
| (subxf3): Ditto. |
| (*subxf3_truncsf): Ditto. |
| (*subxf3_truncdf): Ditto. |
| (*maddxf4): Ditto. |
| (*maddxf4_truncsf): Ditto. |
| (*maddxf4_truncdf): Ditto. |
| (*msubxf4): Ditto. |
| (*msubxf4_truncsf): Ditto. |
| (*msubxf4_truncdf): Ditto. |
| |
| 2010-08-04 Richard Guenther <rguenther@suse.de> |
| |
| * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA |
| if either alias-set is zero. |
| |
| 2010-08-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ... |
| * tree-ssa-ccp.c: ... here. |
| * tree-ssa-copy.c: ... and here. |
| * tree-ssa-propagate.h (enum value_range_type, struct value_range_d, |
| value_range_t): Move ... |
| * tree-vrp.c: ... here. |
| * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef. |
| (substitute_and_fold): Adjust prototype. |
| * tree-ssa-propagate.c (replace_uses_in): Adjust. |
| (replace_phi_args_in): Likewise. |
| (substitute_and_fold): Take callback to query lattice instead |
| of pointer to lattice. Replace SSA name defs with lattice |
| values first. |
| * tree-ssa-ccp.c (ccp_finalize): Adjust. |
| * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust. |
| (get_value): New function. |
| (fini_copy_prop): Adjust. |
| * tree-vrp.c (vrp_finalize): Adjust. |
| |
| 2010-08-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45176 |
| * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF |
| points-to set for original MEM_REF. |
| |
| 2010-08-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c (get_constant_value): New function. |
| (get_rhs_assign_op_for_ccp): Remove. |
| (valueize_op): New function. |
| (ccp_fold): Use get_constant_value and valueize_op. |
| (fold_const_aggregate_ref): Likewise. |
| (ccp_fold_stmt): Likewise. |
| (visit_assignment): Simplify. |
| |
| 2010-08-04 Richard Guenther <rguenther@suse.de> |
| |
| * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency. |
| * double-int.h (double_int_ctz): Declare. |
| * double-int.c (double_int_ctz): New function. |
| |
| 2010-08-04 Hariharan Sandanagobalane <hariharan@picochip.com> |
| |
| * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): |
| Define. |
| picochip_expand_movmemhi : Expand movmem pattern. |
| * config/picochip/picochip-protos.h (picochip_expand_movmemhi) : |
| Declare. |
| * config/picochip/picochip.md (movmemhi) : New pattern. |
| |
| 2010-08-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl. |
| |
| 2010-08-03 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away |
| NEG as operand of a MULT by merging it with the other operand. |
| * combine.c (make_compound_operation): Use trunc_int_for_mode when |
| generating a MULT with constant. Canonicalize PLUS and MINUS involving |
| MULT. |
| * config/arm/constraints.md (M): Examine only 32 bits of a |
| HOST_WIDE_INT. |
| * config/arm/predicates.md (power_of_two_operand): Likewise. |
| |
| 2010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of |
| non-NOTE insns. |
| |
| 2010-08-03 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-split.c (struct split_point): Add split_part_set_retval. |
| (find_retval): Forward declare. |
| (test_nonssa_use, mark_nonssa_use): Special case return by reference. |
| (consider_split): Compute current->split_part_set_retval. |
| (visit_bb): Do not look into return value. |
| (split_function): Handle !split_part_set_retval |
| |
| 2010-08-03 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (completely_scalarize_record): New parameter REF, create |
| its own access->expr intead of using build_ref_for_offset. |
| |
| 2010-08-03 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define. |
| * config/alpha/osf5.h (LIB_SPEC): Don't handle -a. |
| * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options. |
| * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework. |
| * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define. |
| * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove. |
| * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using |
| DEFAULT_SWITCH_TAKES_ARG. |
| * config/rx/rx.opt (-patch=): Remove option. |
| * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_. |
| * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib. |
| * doc/invoke.texi (RX Options): Remove -patch=. |
| * gcc.c (cc1_options): Pass -aux-info* instead of -a* options. |
| (option_map): Remove --profile-blocks, --quiet and --silent. |
| |
| 2010-08-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove. |
| * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove. |
| (ix86_expand_branch): Add op0 and op1 arguments. Do not access |
| ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead. |
| Update calls to ix86_expand_compare and ix86_expand_branch. |
| (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to |
| ix86_expand_compare. |
| (ix86_expand_compare): Add op0 and op1 arguments. Do not access |
| ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead. |
| Make static. |
| (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0 |
| and ix86_compare_op1. Update calls to ix86_expand_compare. |
| (ix86_expand_int_movcc): Ditto. |
| (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc. |
| * config/i386/i386-protos.h (ix86_expand_branch): Update prototype. |
| (ix86_expand_setcc): Ditto. |
| (ix86_expand_compare): Remove prototype. |
| * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set |
| ix86_compare_op0 and ix86_compare_op1. Update calls |
| to ix86_expand_branch to directly pass operands[1] and operands[2]. |
| (cbranchxf4): Ditto. |
| (cbranch<MODEF:mode>4): Ditto. |
| (cbranchcc4): Ditto. |
| (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1. |
| Update calls to ix86_expand_setcc to directly pass operands[2] and |
| operands[3]. |
| (cstorexf4): Ditto. |
| (cstore<MODEF:mode>4): Ditto. |
| (cstorecc4): Ditto. |
| |
| 2010-08-02 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/45063 |
| * caller-save.c (save_call_clobbered_regs): Remove regs from |
| hard_regs_saved when they are set. |
| |
| 2010-08-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/41089 |
| * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset |
| as volatile. |
| |
| 2010-08-02 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * common.opt (ftree-loop-distribute-patterns): New. |
| * invoke.texi (-ftree-loop-distribute-patterns): Documented. |
| * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns |
| at -O3. |
| * tree-data-ref.c (stores_zero_from_loop): New. |
| * tree-data-ref.h (stores_zero_from_loop): Declared. |
| * tree-loop-distribution.c (tree_loop_distribution): Call |
| stores_zero_from_loop. |
| (tree_loop_distribution): Check flag_tree_loop_distribute_patterns. |
| |
| 2010-08-02 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (reload_cse_simplify_operands): Take attribute enabled |
| into account. |
| |
| * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally. |
| * config/arm/arm.c (thumb1_code): New variable. |
| (arm_override_options): Set it. |
| (thumb1_final_prescan_insn): Keep track of condition code status. |
| (arm_adjust_cost): For Thumb, try to keep cc-setting insns next to |
| jumps that depend on them. |
| * config/arm/arm.h (thumb1_code): Declare variable. |
| (struct machine_function): Guard with #ifndef GENERATOR_FILE. Add |
| members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and |
| thumb1_cc_mode. |
| (CC_STATUS_INIT): New macro. |
| * config/arm/constraints.md (Pd): New constraint. |
| * config/arm/predicates.md (noov_comparison_operator): New predicate. |
| * config/arm/arm.md (is_thumb1): New define_attr. |
| (conds): Set default to "clob" when generating Thumb1 code. |
| (thumb1_bicsi3): Renamed from bicsi3. All uses changed. Condition |
| code are set. Use two-operand assembly syntax. |
| (thumb1_subsi3_insn): Condition codes are set. Now a properly named |
| pattern. |
| (thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition |
| codes are set. Use two-operand assembly syntax. |
| (zero_extendhisi splitter): Remove constraints. |
| (thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf, |
| thumb1_movsf_insn): Set conds attribute as appropriate. |
| (cbranchsi4_insn): Use condition code status from struct |
| machine_function to determine whether the comparison can be eliminated. |
| Discourage the alternative using high registers. |
| (movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch, |
| orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch, |
| bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch, |
| subsi3_cbranch): Delete. |
| (movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of |
| one subtract and one cbranch insn. |
| |
| * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn, |
| thumb2_movdf_soft_insn): Delete patterns. |
| * config/arm/arm.md (arm_pool_range, thumb2_pool_range, |
| arm_neg_pool_range, thumb2_neg_pool_range): New attributes. |
| (pool_range, neg_pool_range): Use them to define defaults. |
| (movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them |
| and allow for TARGET_32BIT. |
| |
| PR target/40457 |
| * config/arm/arm.h (arm_regs_in_sequence): Declare. |
| * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq, |
| load_multiple_sequence, store_multiple_sequence): Delete |
| declarations. |
| (arm_gen_load_multiple, arm_gen_store_multiple): Adjust |
| declarations. |
| * config/arm/ldmstm.md: New file. |
| * config/arm/arm.c (arm_regs_in_sequence): New array. |
| (load_multiple_sequence): Now static. New args SAVED_ORDER, |
| CHECK_REGS. All callers changed. |
| If SAVED_ORDER is nonnull, copy the computed order into it. |
| If CHECK_REGS is false, don't sort REGS. Handle Thumb mode. |
| (store_multiple_sequence): Now static. New args NOPS_TOTAL, |
| SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed. |
| If SAVED_ORDER is nonnull, copy the computed order into it. |
| If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just |
| like REGS. Handle Thumb mode. |
| (arm_gen_load_multiple_1): New function, broken out of |
| arm_gen_load_multiple. |
| (arm_gen_store_multiple_1): New function, broken out of |
| arm_gen_store_multiple. |
| (arm_gen_multiple_op): New function, with code from |
| arm_gen_load_multiple and arm_gen_store_multiple moved here. |
| (arm_gen_load_multiple, arm_gen_store_multiple): Now just |
| wrappers around arm_gen_multiple_op. Remove argument UP, all callers |
| changed. |
| (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions. |
| * config/arm/predicates.md (commutative_binary_operator): New. |
| (load_multiple_operation, store_multiple_operation): Handle more |
| variants of these patterns with different starting offsets. Handle |
| Thumb-1. |
| * config/arm/arm.md: Include "ldmstm.md". |
| (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2, |
| ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1, |
| stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related |
| peepholes): Delete. |
| * config/arm/ldmstm.md: New file. |
| * config/arm/arm-ldmstm.ml: New file. |
| |
| * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the |
| if statement which adds extra costs to frame-related expressions. |
| |
| 2010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/arm.c (COSTS_N_INSNS): Remove definition. |
| |
| 2010-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/45142 |
| * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for |
| alternative 2. |
| (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also |
| split V4SI operands. |
| |
| 2010-08-01 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro. |
| * config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove. |
| * config/mmix/mmix.c (mmix_asm_output_source_filename): Make static. |
| (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define. |
| |
| 2010-07-31 Kai Tietz <kai.tietz@onevision.com> |
| |
| * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before |
| LOCAL_INCLUDE_DIR. |
| |
| 2010-07-31 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type |
| used in the call to optab_for_tree_code. Fix the second |
| is_widening_mult_p call. Check that both unwidened operands |
| have the same sign. |
| |
| 2010-07-31 John Tytgat <John.Tytgat@aaug.net> |
| |
| * config/arm/arm.c (arm_function_arg): Remove superfluous test. |
| |
| 2010-07-31 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro. |
| |
| 2010-07-30 DJ Delorie <dj@redhat.com> |
| |
| * config/rx/predicates.md (rx_constshift_operand): New. |
| * config/rx/rx.md (zs_cond): New. |
| (cbranchsi4): Remove mode. |
| (*cbranchsi4_<code>): Likewise. |
| (*tstbranchsi4_<code>): New. |
| (*tstbranchsi4r_<code>): New. |
| (*tstbranchsi4m_eq): New. |
| (*tstbranchsi4m_ne): New. |
| (cbranchsf4): Remove mode. |
| (*cbranchsf4_<code>): Likewise. |
| |
| 2010-07-30 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * rtlanal.c (simplify_subreg_regno): Don't treat |
| HARD_FRAME_POINTER_REGNUM specially. |
| |
| 2010-07-30 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (-G): Don't define option here. |
| * config/g.opt: New. |
| * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips, |
| rs6000/powerpc and score targets. |
| * opts.c (common_handle_option): Don't handle -G here. |
| * config/alpha/alpha.c (alpha_handle_option): Handle -G. |
| * config/frv/frv.c (frv_handle_option): Handle -G. |
| * config/ia64/ia64.c (ia64_handle_option): Handle -G. |
| * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New. |
| * config/m32r/m32r.c (m32r_handle_option): Handle -G. |
| * config/mips/mips.c (mips_handle_option): Handle -G. |
| * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G. |
| * config/score/score.c (score_handle_option): Handle -G. |
| |
| 2010-07-30 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mmix/mmix.c: Include basic-block.h. |
| |
| 2010-07-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45055 |
| PR rtl-optimization/45137 |
| * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New |
| prototypes. |
| * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): |
| New functions. |
| * combine.c (next_nonnote_nondebug_insn): Removed. |
| * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn. |
| * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn. |
| * sched-deps.c (sched_analyze_insn): Likewise. |
| (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn. |
| * rtlanal.c (canonicalize_condition): Likewise. |
| * postreload.c (reload_combine_recognize_pattern): Likewise. |
| (reload_cse_move2add): Use next_nonnote_nondebug_insn. |
| |
| 2010-07-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (int_cond): Remove code iterator. |
| (fp_cond): Ditto. |
| (cbranch<mode>4): Use ordered_comparison_operator predicate |
| for operator0. |
| (cstore<mode>4): Ditto for operator1. |
| (mov<SWIM:mode>cc and corresponding splitter): Ditto. |
| (add<mode>cc): ditto. |
| |
| 2010-07-30 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45141 |
| * expr.c (expand_expr_real_1): Check for not handled base address. |
| |
| 2010-07-30 Richard Guenther <rguenther@suse.de> |
| |
| * ipa-prop.c (ipa_modify_formal_parameters): Use |
| build_distinct_type_copy. |
| |
| 2010-07-30 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/rtems.h: New file. |
| * config.gcc: Add moxie-rtems support. |
| |
| 2010-07-29 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * dce.c (run_word_dce): Take flag_dce into account. Clear and restore |
| df flags as in run_fast_df_dce. |
| |
| 2010-07-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Revert: |
| 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * rtl.def (NOTE): Swap operands 4 and 5. |
| * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, |
| NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND): |
| Adjust accordingly. |
| * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs. |
| |
| 2010-07-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45110 |
| * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer. |
| (gen_formal_types_die): Add DW_AT_object_pointer in methods. |
| (gen_subprogram_die): Likewise. Remove it when removing declaration's |
| formal parameters. |
| (gen_decl_die): Change return type to dw_die_ref, return what |
| gen_formal_parameter_die returned. |
| |
| 2010-07-29 Martin Jambor <mjambor@suse.cz> |
| |
| * dbgcnt.def (eipa_sra): New counter. |
| * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter. |
| |
| 2010-07-29 Xinliang David Li <davidxl@google.com> |
| |
| PR bootstrap/45119 |
| * tree-ssa-loop-ivopts.c (get_address_cost): Revert change |
| in revision 162652. |
| |
| 2010-07-29 Richard Guenther <rguenther@suse.de> |
| |
| * timevar.def (TV_TREE_STORE_COPY_PROP): Remove. |
| (TV_TREE_STORE_CCP): Likewise. |
| (TV_TREE_REDPHI): Likewise. |
| |
| 2010-07-29 Richard Guenther <rguenther@suse.de> |
| |
| * double-int.h (double_int_and_not): New function. |
| * combine.c (try_combine): Use it. |
| * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise. |
| |
| 2010-07-29 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR rtl-optimization/42575 |
| * dce.c (word_dce_process_block): Renamed from byte_dce_process_block. |
| Argument AU removed. All callers changed. Ignore artificial refs. |
| Use return value of df_word_lr_simulate_defs to decide whether an insn |
| is necessary. |
| (fast_dce): Rename arg to WORD_LEVEL. |
| (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer |
| static. |
| (pass_fast_rtl_byte_dce): Delete. |
| * dce.h (run_word_dce): Declare. |
| * df-core.c (df_print_word_regset): Renamed from df_print_byteregset. |
| All callers changed. Simplify code to only deal with two-word regs. |
| * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR. |
| (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO. |
| (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN. |
| (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT. |
| (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info. |
| (df_word_lr_mark_ref): Declare. |
| (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs, |
| df_word_lr_simulate_uses): Declare or rename from byte variants. |
| (df_byte_lr_simulate_artificial_refs_at_top, |
| df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, |
| df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete |
| declarations. |
| (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info. |
| (enum df_mm): Delete. |
| * df-byte-scan.c: Delete file. |
| * df-problems.c (df_word_lr_problem_data): Renamed from |
| df_byte_lr_problem_data, all members deleted except for |
| WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed. |
| (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top, |
| df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, |
| df_byte_lr_get_regno_len, df_byte_lr_check_regs, |
| df_byte_lr_confluence_0): Delete functions. |
| (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all |
| callers changed. |
| (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed. |
| Don't initialize members that were deleted, don't try to discover data |
| about registers. Ignore hard regs. |
| (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed. |
| (df_word_lr_mark_ref): New function. |
| (df_word_lr_bb_local_compute): Renamed from |
| df_byte_bb_lr_local_compute; all callers changed. Use |
| df_word_lr_mark_ref. Assert that artificial refs don't include |
| pseudos. Ignore hard registers. |
| (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute. |
| Assert that exit block uses don't contain pseudos. |
| (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed. |
| (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all |
| callers changed. Ignore hard regs. |
| (df_word_lr_transfer_function): Renamed from |
| df_byte_lr_transfer_function; all callers changed. |
| (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed. |
| (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers |
| changed. |
| (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all |
| callers changed. |
| (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed; |
| confluence operator 0 set to NULL. |
| (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all |
| callers changed. |
| (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs. |
| Return bool, true if bitmap changed or insn otherwise necessary. |
| All callers changed. Simplify using df_word_lr_mark_ref. |
| (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses; |
| all callers changed. Simplify using df_word_lr_mark_ref. |
| * lower-subreg.c: Include "dce.h" |
| (decompose_multiword_subregs): Call run_word_dce if df available. |
| * Makefile.in (lower-subreg.o): Adjust dependencies. |
| (df-byte-scan.o): Delete. |
| * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR. |
| |
| 2010-07-29 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (build_vector): Assert that the vector constant |
| has enough elements. |
| (build_vector_from_ctor): Pad with trailing zeros. |
| |
| 2010-07-29 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45120 |
| * tree-ssa-structalias.c (get_constraint_for_component_ref): |
| Handle offset in DEREFs properly. |
| (get_constraint_for_1): Handle MEM_REF offset properly. |
| |
| 2010-07-29 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45034 |
| * convert.c (convert_to_integer): Always use an unsigned |
| type for narrowed negate and bitwise not. |
| |
| 2010-07-29 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch |
| to outer loop when creating reduction epilogue for double reduction, |
| and switch back to the inner loop when updating the phi nodes. |
| Update uses of outer loop exit phi nodes in double reduction (instead |
| of uses of reduction). |
| |
| 2010-07-28 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for |
| popcount on power7 and parity on power6 systems. |
| (rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2. |
| (rs6000_emit_parity): Add support for power6 prtyd/prtyw |
| instructions. |
| |
| * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec. |
| (UNSPEC_PARITY): Ditto. |
| (SFDF): New iterator for SF/DF. |
| (rreg2): New mode attribute for floating register constraint. |
| (TARGET_FLOAT): New mode attribute for whether single/double float |
| is supported. |
| (popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one |
| pattern. |
| (parity<mode>2_cmpb): New insn for parity on power6 and newer |
| machines. |
| (copysign<mode>3): Combine copysignsf3, copysigndf3 into one |
| pattern. Add support for fcpsgn instruction added in power6. |
| (copysignsf3): Delete. |
| (copysigndf3): Delete. |
| (copysign<mode>3_fcpsgn): New insn to generate fcpsgn. Use UNSPEC |
| instead of if_then_else in RTL to avoid problems with -0. |
| |
| * config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead |
| of if_then_else to mirror scalar code. |
| (vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in |
| rs6000.md. |
| |
| * config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC |
| instead of if_then_else. |
| |
| 2010-07-28 Xinliang David Li <davidxl@google.com> |
| |
| * tree-ssa-loop-ivopts.c (avg_loop_niter): New function. |
| (dump_cand): Dump var_before/after. |
| (htab_inv_expr_eq): New function. |
| (htab_inv_expr_hash): New function. |
| (tree_ssa_iv_optimize_init): Support pseudo invariants. |
| (add_candidate_1): consider base type precision. |
| (set_use_iv_cost): New parameter. |
| (adjust_setup_cost): Use profile information. |
| (get_address_cost): Do not hard code width in computing address |
| offset limits. |
| (compare_aff_trees): New function. |
| (get_loop_invariant_expr_id): New function. |
| (get_computation_cost_at): New parameter and use profile information. |
| (get_computation_cost): New parameter. |
| (determine_use_iv_cost_generic): Pass new parameter. |
| (determine_use_iv_cost_address): Ditto. |
| (determine_use_iv_cost_condition): Ditto. |
| (autoinc_possible_for_pair): Ditto. |
| (determine_use_iv_costs): More dumps. |
| (iv_ca_get_num_inv_exprs): New function. |
| (iv_ca_recount_cost): Consider loop invariants in register pressure |
| cost. |
| (iv_ca_add_use): New parameter. |
| (iv_ca_dump): Better dumping. |
| (iv_ca_extend): New parameter. |
| (try_add_cand_for): Attempt to get better partial solution. |
| (try_improve_iv_set): Pass new parameter to iv_ca_extend. |
| (create_new-ivs): More dumps. |
| (rewrite_use_compare): Ditto. |
| (free_loop_data): More cleanup. |
| (treee_ssa_iv_optimize_finalize): Ditto. |
| |
| 2010-07-28 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New. |
| * config/i386/i386.c (ix86_profile_before_prologue): New. |
| (override_options): Add special handling for -mfentry. |
| (ix86_function_regparm): Likewise. |
| (ix86_function_sseregparm): Likewise. |
| (ix86_frame_pointer_required): Likewise. |
| (ix86_expand_prologue): Check for ms_hook_prologue. |
| (x86_function_profiler): Adjust mcount output. |
| (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook. |
| * config/i386/i386.opt (mfentry): New. |
| * doc/invoke.texi (mfentry): Add documentation. |
| * doc/tm.texi: Regenerated.. |
| * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New. |
| * final.c (final_start_function): Replace macro |
| PROFILE_BEFORE_PROLOGUE by target hook. |
| * function.c (thread_prologue_and_epilogue_insns): Likewise. |
| * target.def (profile_before_prologue): New hook. |
| * targhooks.c (default_profile_before_prologue): New. |
| * targhooks.h (default_profile_before_prologue): New. |
| |
| 2010-07-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45105 |
| * gcse.c (hoist_code): Use FOR_BB_INSNS macro. |
| |
| PR debug/45103 |
| * dwarf2out.c (dwarf2out_var_location): Always consider |
| NOTE_DURING_CALL_P notes, even when not followed by real instructions. |
| |
| 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR rtl-optimization/45107 |
| * gcse.c (hash_scan_set): Use max_distance for gcse-las. |
| |
| 2010-07-28 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c: Remove comment regarding STORE-CCP. |
| (set_lattice_value): Do not query an old default value. |
| (get_value_for_expr): New function. Properly canonicalize |
| float values. |
| (ccp_visit_phi_node): Use it. |
| |
| 2010-07-28 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/arm/arm.c (arm_pcs_default): Remove static. |
| * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or |
| __ARM_PCS_VFP to indicate soft/hard-float calling convention. |
| (arm_pcs_default): Declare. |
| |
| 2010-07-28 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): |
| Use TARGET_MACHO inline, move darwin_one_byte_bool from here... |
| ... to darwin_rs6000_override_options. |
| (rs6000_return_in_memory): Update preceding comment for darwin |
| 64 bit ABI. Use TARGET_MACHO inline. |
| (rs6000_darwin64_struct_check_p): New. |
| (function_arg_advance): Use rs6000_darwin64_struct_check_p. |
| (function_arg): Likewise. |
| (rs6000_arg_partial_bytes): Likewise. |
| (rs6000_function_value): Likewise. |
| |
| 2010-07-28 Andi Kleen <ak@linux.intel.com> |
| |
| * lto-opts.c (lto_file_read_options): Add loop over all inputs. |
| |
| 2010-07-28 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/44903 |
| * builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT |
| targets try harder to not generate unaligned accesses. |
| |
| 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR rtl-optimization/45101 |
| * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table |
| for gcse-las. |
| |
| 2010-07-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/44885 |
| * tree-sra.c (find_param_candidates): Skip pointer types to arrays |
| with non-aliased component. |
| |
| 2010-07-28 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/darwin-driver.c (SWITCH_TAKES_ARG, |
| WORD_SWITCH_TAKES_ARG): Remove. |
| * cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove. |
| * defaults.h (DEFAULT_SWITCH_TAKES_ARG, |
| DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h. |
| (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default |
| definitions from gcc.c. |
| * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to |
| defaults.h. |
| * gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG): |
| Move to defaults.h. |
| * opts-common.c: Include tm.h. |
| (decode_cmdline_option): Use SWITCH_TAKES_ARG and |
| WORD_SWITCH_TAKES_ARG to count arguments to unknown options. |
| Handle more than one argument. Set canonical_option_num_elements. |
| (decode_cmdline_options_to_array): Set |
| canonical_option_num_elements and trailing elements of |
| canonical_option. |
| * opts.h (struct cl_decoded_option): Allow four elements in |
| canonical_option. Add field canonical_option_num_elements. |
| * Makefile.in (opts-common.o): Update dependencies. |
| |
| 2010-07-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/44790 |
| PR middle-end/44993 |
| * expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make |
| sure the base has address_mode before adding the offset. |
| |
| 2010-07-27 Xinliang David Li <davidxl@google.com> |
| |
| * tree-flow.h (create_mem_ref): Add one new parameter. |
| * tree-ssa-address.c (create_mem_ref): New parameter. |
| (addr_to_parts): Ditto. |
| (move_variant_to_index): New function. |
| * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument. |
| |
| 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands |
| 4 and 5. |
| * rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME, |
| NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, |
| NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly. |
| * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of |
| CODE_LABELs and NOTEs. |
| * caller-save.c (init_caller_save): Fix up gen_rtx_INSN call. |
| * combine.c (try_combine): Likewise. |
| * ira.c (setup_prohibited_mode_move_regs): Likewise. |
| * print-rtl.c (print_rtx): Start REG_NOTES on a new line. |
| |
| 2010-07-27 Joseph Myers <joseph@codesourcery.com> |
| |
| * coretypes.h (struct cl_option_handlers): Declare. |
| * hooks.c (hook_int_size_t_constcharptr_int_0): Remove. |
| * hooks.h (hook_int_size_t_constcharptr_int_0): Remove. |
| * langhooks-def.h (lhd_handle_option): Declare. |
| (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option. |
| * langhooks.c (lhd_handle_option): New. |
| * langhooks.h (struct lang_hooks): Update prototype and return |
| value type of handle_option hook. |
| * optc-gen.awk: Generate target_flags_explicit definition for the |
| driver. |
| * opts-common.c: Include diagnostic.h. |
| (handle_option): Move from opts.c. Update prototype and return |
| value type. Use handlers structure. |
| (read_cmdline_option): Move from opts.c. Update prototype. Use |
| handlers structure. |
| (set_option): Move from opts.c. |
| * opts.c (common_handle_option): Update prototype and return value |
| type. Update calls to handle_option and enable_warning_as_error. |
| (unknown_option_callback, post_handling_callback, |
| lang_handle_option, target_handle_option): New. |
| (handle_option, read_cmdline_option): Move to opts-common.c. |
| (read_cmdline_options): Update prototype. Update call to |
| read_cmdline_option. |
| (decode_options): Initialize and use handlers structure. |
| (set_option): Move to opts-common.c. |
| (enable_warning_as_error): Update prototype. Update call to |
| handle_option. |
| * opts.h (struct cl_option_handler_func, struct |
| cl_option_handlers): New. |
| (handle_option, enable_warning_as_error): Update prototypes. |
| (read_cmdline_option): Declare. |
| * Makefile.in (opts-common.o): Update dependencies. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config/arm/arm.c (params.h): Include. |
| (arm_override_options): Tune gcse-unrestricted-cost. |
| * config/arm/t-arm (arm.o): Define dependencies. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/42495 |
| PR middle-end/42574 |
| * basic-block.h (get_dominated_to_depth): Declare. |
| * dominance.c (get_dominated_to_depth): New function, use |
| get_all_dominated_blocks as a base. |
| (get_all_dominated_blocks): Use get_dominated_to_depth. |
| |
| * gcse.c (occr_t, VEC (occr_t, heap)): Define. |
| (hoist_exprs): Remove. |
| (alloc_code_hoist_mem, free_code_hoist_mem): Update. |
| (compute_code_hoist_vbeinout): Add debug print outs. |
| (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth. |
| |
| * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid |
| quadratic behavior. |
| * params.h (MAX_HOIST_DEPTH): New macro. |
| * doc/invoke.texi (max-hoist-depth): Document. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR rtl-optimization/40956 |
| * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple |
| constants. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/42495 |
| PR middle-end/42574 |
| * config/arm/arm.c (legitimize_pic_address): Use |
| gen_calculate_pic_address pattern to emit calculation of PIC address. |
| (will_be_in_index_register): New function. |
| (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,) |
| (thumb1_legitimate_address_p): Use it provided !strict_p. |
| * config/arm/arm.md (calculate_pic_address): New expand and split. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/42495 |
| PR middle-end/42574 |
| * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants. |
| * config/arm/arm.md (define_split "J", define_split "K"): Make |
| IRA/reload friendly. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * gcse.c (insert_insn_end_basic_block): Update signature, remove |
| unused checks. |
| (pre_edge_insert, hoist_code): Update. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/42495 |
| PR middle-end/42574 |
| * gcse.c (hoist_expr_reaches_here_p): Remove excessive check. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * gcse.c (hoist_code): Generate new pseudo for every new set insn. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR rtl-optimization/40956 |
| PR target/42495 |
| PR middle-end/42574 |
| * gcse.c (compute_code_hoist_vbeinout): Consider more expressions |
| for hoisting. |
| (hoist_code): Count occurences in current block too. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * gcse.c (struct expr:max_distance): New field. |
| (doing_code_hoisting_p): New static variable. |
| (want_to_gcse_p): Change signature. Allow constrained hoisting of |
| simple expressions, don't change behavior for PRE. Set max_distance. |
| (insert_expr_in_table): Set new max_distance field. |
| (hash_scan_set): Update. |
| (hoist_expr_reaches_here_p): Stop search after max_distance |
| instructions. |
| (find_occr_in_bb): New static function. Use it in ... |
| (hoist_code): Calculate sizes of basic block before any changes are |
| done. Pass max_distance to hoist_expr_reaches_here_p. |
| (one_code_hoisting_pass): Set doing_code_hoisting_p. |
| |
| * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,) |
| (PARAM_GCSE_UNRESTRICTED_COST): New parameters. |
| * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New |
| macros. |
| * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost): |
| Document. |
| |
| 2010-07-27 Jeff Law <law@redhat.com> |
| Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * gcse.c (compute_transpout, transpout): Remove, move logic |
| to prune_expressions. |
| (compute_pre_data): Move pruning of trapping expressions ... |
| (prune_expressions): ... here. New static function. |
| (compute_code_hoist_data): Use it. |
| (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update. |
| |
| 2010-07-27 Xinliang David Li <davidxl@google.com> |
| |
| * tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function. |
| (rewrite_use_address): Adjust iv update position when needed. |
| |
| 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * dbgcnt.def (hoist_insn): New debug counter. |
| * gcse.c (hoist_code): Use it. |
| |
| 2010-07-27 Xinliang David Li <davidxl@google.com> |
| |
| * tree-ssa-loop-ivopts.c (niter_for_exit): New parameter. |
| (niter_for_single_dom_exit): Passes additional parameter. |
| (iv_period): Fix comments. |
| (may_eliminate_iv): Handles multiple exit loops properly. |
| (free_tree_niter_desc): New function. |
| (free_loop_data): Frees up loop iteration descriptors. |
| |
| 2010-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/44542 |
| * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum |
| of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY |
| instead of MAX_SUPPORTED_STACK_ALIGNMENT. |
| (expand_one_var): Don't consider DECL_ALIGN for variables for |
| which expand_one_stack_var_at has been already called. |
| |
| PR testsuite/44701 |
| * doc/md.texi: Clarify m and es constraints on PowerPC and m and S |
| constraints on IA-64. |
| |
| 2010-07-27 Jie Zhang <jie@codesourcery.com> |
| |
| PR target/44290 |
| Revert: |
| 2010-07-23 Jie Zhang <jie@codesourcery.com> |
| |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Return |
| false if ! tree_versionable_function_p. |
| |
| 2010-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (add_data_member_location_attribute): Use |
| add_AT_unsigned instead of add_AT_int if offset is non-negative. |
| |
| 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (try_replace_in_use): New static function. |
| (reload_combine_recognize_const_pattern): Use it here. Allow |
| substituting into a final add insn, and substituting into a memory |
| reference in an insn that sets the reg. |
| |
| 2010-07-27 Joseph Myers <joseph@codesourcery.com> |
| |
| * common.opt (o): Add MissingArgError. |
| * doc/options.texi (MissingArgError): Document. |
| * hooks.c (hook_bool_constcharptr_size_t_false): Remove. |
| * hooks.h (hook_bool_constcharptr_size_t_false): Remove. |
| * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. |
| (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer. |
| * langhooks.h (struct lang_hooks): Remove missing_argument. |
| * optc-gen.awk: Handle MissingArgError and output new structure |
| field initializers. |
| * opts.c (read_cmdline_option): Use missing_argument_error field |
| instead of missing_argument langhook. |
| * opts.h (struct cl_option): Add missing_argument_error field. |
| * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison. |
| |
| 2010-07-27 Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR target/29090 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the |
| Darwin64 ABI, for zero-sized objects. |
| |
| 2010-07-27 Iain Sandoe <iains@gcc.gnu.org> |
| |
| PR target/35491 |
| PR target/29090 |
| |
| Merge from Apple local 4.2.1. |
| 2005-05-11 Stan Shebs <shebs@apple.com> |
| Fix 64-bit varargs for Darwin (Radar 4028089). |
| * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr. |
| * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush): |
| Add argument, add case for 8-byte register half-filled with a float. |
| (rs6000_darwin64_record_arg_advance_recurse): Detect and handle |
| single-precision floats specially. |
| |
| 2010-07-27 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/44152 |
| * tree-vect-slp.c (vect_build_slp_tree): Collect nodes with |
| complex numbers for further check. |
| (vect_supported_load_permutation_p): Check nodes with |
| complex numbers. |
| |
| 2010-07-27 Joseph Myers <joseph@codesourcery.com> |
| |
| * langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK, |
| LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New. |
| (LANG_HOOKS_INIT_OPTIONS): Update default definition. |
| (LANG_HOOKS_INITIALIZER): Add new hooks. |
| * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New. |
| * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask |
| and complain_wrong_lang_p. Update init_options prototype. |
| * c-objc-common.c (c_initialize_diagnostics): First call |
| c_common_initialize_diagnostics. |
| * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK, |
| LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define. |
| * coretypes.h (struct cl_option, struct cl_decoded_option): Declare. |
| * hooks.c (hook_uint_uint_constcharptrptr_0): Remove. |
| (hook_uint_void_0): New. |
| * hooks.h (hook_uint_uint_constcharptrptr_0): Remove. |
| (hook_uint_void_0): New. |
| * opts-common.c (decode_cmdline_option, |
| decode_cmdline_options_to_array): Also fill in canonical_option field. |
| * opts.c (complain_wrong_lang): Use langhook to determine whether |
| to complain instead of special-casing LTO. |
| (decode_options): Separate lang_mask determination with |
| option_lang_mask hook from call of init_options hook. |
| * opts.h (struct cl_decoded_option): Add canonical_option. |
| |
| 2010-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/45083 |
| * tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR. |
| |
| 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (reload_combine_recognize_const_pattern): Move test |
| for limiting the insn movement to the right scope. |
| |
| PR rtl-optimization/45051 |
| * reload1.c (delete_output_reload): Use refers_to_regno_p rather |
| than reg_mentioned_p. |
| |
| 2010-07-26 Richard Henderson <rth@redhat.com> |
| |
| PR target/44132 |
| * tree-emutls.c: New file. |
| * Makefile.in (OBJS-common): Add it. |
| * tree-pass.h (pass_ipa_lower_emutls): Declare. |
| * passes.c (init_optimization_passes): Add it. |
| |
| * dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address, |
| pull the control variable from DECL_VALUE_EXPR, not emutls_decl. |
| * expr.c (emutls_var_address): Delete. |
| (expand_expr_addr_expr_1, expand_expr_real_1): Don't use it. |
| * output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete. |
| (emutls_finish): Delete. |
| * toplev.c (compile_file): Don't call it. |
| * tree.h (emutls_decl): Delete. |
| * varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete. |
| (emutls_finish, emutls_finalize_control_var): Delete. |
| (emutls_object_type): Move to tree-emutls.c. |
| (EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name, |
| default_emutls_var_fields, get_emutls_object_type, |
| get_emutls_init_templ_addr, emutls_decl, emutls_common_1 |
| default_emutls_var_init): Likewise. |
| (get_variable_section): Don't special case emutls. |
| (assemble_variable, do_assemble_alias, categorize_decl_for_section, |
| default_elf_select_section, default_unique_section, |
| default_encode_section_info): Likewise. |
| * varpool.c (decide_is_variable_needed): Likewise. |
| * gimple-iterator.c (update_call_edge_frequencies): New |
| (gsi_insert_on_edge_immediate): Use it. |
| (gsi_insert_seq_on_edge_immediate): Likewise. |
| (gsi_commit_one_edge_insert): Likewise. |
| |
| * config/i386/i386.c (x86_64_elf_select_section): Don't handle |
| SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL. |
| (x86_64_elf_unique_section): Likewise. |
| |
| 2010-07-26 Jan Hubicka <jh@suse.cz> |
| |
| * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with |
| GTY((skip)). |
| |
| 2010-07-26 Anatoly Sokolov <aesok@post.ru> |
| |
| * target.def (output_source_filename): New hook. |
| * doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document. |
| * doc/tm.texi: Regenerate. |
| * toplev.c (output_file_directive) Remove function. |
| * toplev.h (output_file_directive) Remove. |
| * output.h (default_asm_output_source_filename, |
| output_file_directive): Declare. |
| * varasm.h (default_asm_output_source_filename, |
| output_file_directive): New functions. |
| |
| * config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro. |
| * config/mips/mips-protos.h (mips_output_filename): Remove. |
| * config/mips/mips.c (mips_output_filename): Make Static. |
| (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define. |
| |
| 2010-07-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/43784 |
| * tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV |
| if the destination is used by the call. |
| |
| 2010-07-26 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45073 |
| * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize |
| SSA updating on being in SSA form. |
| |
| 2010-07-26 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45056 |
| * gimple-fold.c (fold_stmt_1): Also fold references in debug stmts. |
| |
| 2010-07-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45071 |
| * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always |
| adjust op->opcode. |
| |
| 2010-07-26 Naveen.H.S <naveen.S@kpitcummins.com> |
| |
| * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31, |
| save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31, |
| save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31, |
| save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31, |
| save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31, |
| save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31, |
| save_r31, return_r31, save_interrupt, return_interrupt, |
| save_all_interrupt, return_all_interrupt, L_save_r2_r31, |
| L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt, |
| L_save_##START##_r31c, L_callt_save_r31c): Updated as per the |
| new ABI requirements. |
| (save_r6_r9, L_callt_save_r6_r9): Remove. |
| * config/v850/predicates.md (even_reg_operand, disp23_operand, |
| const_float_1_operand const_float_0_operand): New Predicates. |
| (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue, |
| pattern_is_ok_for_epilogue): Update as per the ABI requirements. |
| * config/v850/t-v850: Update multilibs for new target variants. |
| (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove. |
| * config/v850/t-v850e: Likewise. |
| * config/v850/v850.c (v850_issue_rate): New. |
| (v850_strict_argument_naming): New. |
| (function_arg): Modify to generate a different ABI. |
| (print_operand): Update case 'z' to support float modes. |
| (output_move_single): Modify to generate appropriate and better |
| assembly. |
| (v850_float_z_comparison_operator, v850_select_cc_mode, |
| v850_float_nz_comparison_operator, v850_gen_float_compare, |
| v850_gen_compare): New functions to support comparison of float values. |
| (ep_memory_offset): Add support for V850E2 targets. |
| (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update. |
| (INTERRUPT_REGPARM_NUM): Remove. |
| (compute_register_save_size): Add extra case to save/restore long call. |
| (use_prolog_function): New function to support prologue. |
| (expand_prologue): Add support for V850E2 targets and modified |
| as per the current ABI requirements. |
| (expand_epilogue): Likewise. |
| (construct_restore_jr): Modify based on TARGET_LONG_CALLS. |
| (construct_save_jarl): Likewise. |
| (construct_dispose_instruction): Update as per the current ABI |
| requirements. |
| (construct_prepare_instruction): Likewise. |
| * config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines. |
| (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define |
| (CPP_SPEC): Updated to support v850e2 targets. |
| (STRICT_ALIGNMENT): Modified. |
| (FIRST_PSEUDO_REGISTER): Updated to add even registers. |
| (FIXED_REGISTERS): Likewise. |
| (CALL_USED_REGISTERS): Likewise. |
| (CONDITIONAL_REGISTER_USAGE): Updated. |
| (HARD_REGNO_MODE_OK): Updated. |
| (reg_class): Updated to add even registers. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| (REGNO_REG_CLASS): Updated for CC registers. |
| (REG_CLASS_FROM_LETTER): Added support for even registers. |
| (REGNO_OK_FOR_BASE_P): Updated for CC registers. |
| (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM, |
| ARG_POINTER_REGNUM): Updated. |
| (FUNCTION_ARG_ADVANCE): Define. |
| (REG_PARM_STACK_SPACE): Update as per the current ABI requirements. |
| (OUTGOING_REG_PARM_STACK_SPACE): Remove. |
| (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement. |
| (GO_IF_LEGITIMATE_ADDRESS): Updated. |
| (SELECT_CC_MODE): Define. |
| (REGISTER_NAMES): Updated to add psw and fcc registers. |
| (ADDITIONAL_REGISTER_NAMES): Updated. |
| (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets. |
| (JUMP_TABLES_IN_TEXT_SECTION): Updated. |
| * config/v850/v850.md (define_constants): Define new constants. |
| (type): Update store,bit1,macc,div,fpu and single attributes. |
| (cpu): New attribute. |
| (cc): Add set_z attribute. |
| (unsign23byte_load, sign23byte_load, unsign23hword_load, |
| sign23hword_load, 23word_load, 23byte_store, 23hword_store, |
| 23word_store): New instructions for 23-bit displacement load and store. |
| (movqi_internal, movhi_internal): Update the attributes. |
| (movsi, movsi_internal_v850e): Updated to support v850e2 targets. |
| (movsi_internal_v850e, movsi_internal, movsf_internal): Update |
| the attributes. |
| (v850_tst1): Modified using CC_REGNUM. |
| (tstsi): Remove. |
| (cmpsi): Modified as define_expand from define_insn. |
| (cmpsi_insn, cmpsf, cmpdf): New instructions. |
| (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4, |
| udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, |
| v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3, |
| one_cmplsi2): Clobber the CC_REGNUM register. |
| (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1, |
| v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2, |
| v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly. |
| (setf_insn, set_z_insn, set_nz_insn): New instructions for |
| v850e2v3 target. |
| (movsicc_normal_cc, movsicc_reversed_cc): New instructions. |
| (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2 |
| targets. |
| (sasf_1, sasf_2): Remove. |
| (sasf): New instruction. |
| (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2 |
| targets. CC_REGNUM register is clobbered and attributes are |
| updated. |
| (branch_z_normal, branch_z_invert, branch_nz_normal, |
| branch_nz_invert): New branch related instructions. |
| (jump): Updated the attributes. |
| (switch): Update to support new targets. CC_REGNUM register is |
| clobbered and attributes are updated. |
| (call_internal_short, call_internal_long, call_value_internal_short, |
| call_value_internal_long): Updated the attributes. |
| (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is |
| clobbered and attributes are updated. |
| (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2): |
| Update to support new targets. CC_REGNUM register is clobbered. |
| (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift |
| instructions. |
| (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes |
| are updated. |
| (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3, |
| divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2, |
| negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2, |
| floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2, |
| rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4, |
| cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn, |
| cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn, |
| cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr, |
| movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn, |
| movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating |
| point instructions defined for V850e2v3 target. |
| (callt_save_interrupt, callt_return_interrupt, return_interrupt): |
| Add support for V850E2 targets and CC_REGNUM register is clobbered. |
| (callt_save_all_interrupt, callt_restore_all_interrupt): Add |
| support for new targets. |
| * config/v850/v850-modes.def: New file. |
| * config/v850/v850.opt(mstrict-align): Remove. |
| (mno-strict-align, mjump-tables-in-data-section, mv850e2, |
| mv850e2v3): New command line options for V850. |
| * config.gcc: Update the newly added files. |
| * doc/invoke.texi: Update the newly added command line options for |
| V850 target. |
| |
| 2010-07-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45052 |
| * ipa-pure-const.c (check_stmt): Check volatileness. |
| |
| 2010-07-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/44707 |
| * config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New. |
| * config/sparc/sparc.c: Include reload.h. |
| (legitimize_tls_address): Rename into... |
| (sparc_legitimize_tls_address): ...this. |
| (legitimize_pic_address): Rename into... |
| (sparc_legitimize_pic_address): ...this. |
| (sparc_expand_move): Adjust to above renaming. |
| (sparc_tls_referenced_p): Likewise. |
| (sparc_legitimize_tls_address): Likewise. |
| (sparc_legitimize_pic_address): Likewise. |
| (sparc_legitimize_address): Likewise. |
| (sparc_output_mi_thunk): Likewise. |
| (sparc_legitimize_reload_address): New global function. Recognize |
| (lo_sum (high ...) ...) patterns generated by earlier passes. |
| * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function. |
| |
| 2010-07-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/44484 |
| * config/sparc/predicates.md (memory_reg_operand): Delete. |
| * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks. |
| (*sync_compare_and_swap): Encode the address form in the pattern. |
| (*sync_compare_and_swapdi_v8plus): Likewise. |
| |
| 2010-07-24 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes. |
| Streamline paragraph on compatibility with the system compiler. |
| |
| 2010-07-24 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR middle-end/45035 |
| * alias.c (true_dependence_1): Fix thinko in merge of old |
| true_dependence and canon_true_dependence. |
| |
| 2010-07-23 Jan Hubicka <jh@suse.cz> |
| |
| * lto-streamer-out.c (write_symbol): Fix visibilities of external |
| references. |
| |
| 2010-07-23 Le-Chun Wu <lcwu@google.com> |
| |
| * omega.c (omega_eliminate_redundant): Remove a self-assign statement. |
| * tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement |
| and an unnecessary assignment. |
| * dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid |
| self-assign warning. |
| * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove |
| unnecessary self-init. |
| |
| 2010-07-23 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/43071 |
| * gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug |
| for -flto and -fwhopr. |
| |
| 2010-07-23 Kai Tietz <kai.tietz@onevision.com> |
| |
| PR target/41943 |
| * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New. |
| (stmp-int-hdrs): Prefix/postfix headers by include_next. |
| * config.gcc (user_headers_inc_next_pre): New. |
| (user_headers_inc_next_post): Likewise. |
| (*-w64-mingw*): Use for float.h post-fixing, and for |
| stddef.h/stdarg.h pre-fixing by include_next. |
| * configure.ac (user_headers_inc_next_post): New. |
| (user_headers_inc_next_pre): New. |
| * configure: Regenerated. |
| |
| 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac: Don't disable TLS on Solaris 8/9 by default |
| Set tga_func for Solaris 2/x86 resp. SPARC. |
| Remove duplicate parts of sparc*-sun-solaris2.* TLS check. |
| (LIB_THREAD_LDFLAGS_SPEC): Define. |
| (LIB_TLS_SPEC): Define. Check for required Sun ld version. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with |
| -pthread, -threads, LIB_TLS_SPEC with -pthread. |
| * doc/install.texi (Specific, *-*-solaris2*): Document use of |
| alternate thread libraries on Solaris 8. |
| Document TLS patch requirements. |
| * doc/sourcebuild.texi (Add Options): Sort alphabetically. |
| Document tls. |
| |
| PR target/18788 |
| * config/sol2.h (LIB_SPEC): Link with thread libraries even with |
| -shared. |
| |
| 2010-07-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (struct tree_base): Add nameless_flag bitfield. |
| (TYPE_NAMELESS, DECL_NAMELESS): Define. |
| * omp-low.c (create_omp_child_function, scan_omp_parallel, |
| scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or |
| DECL_ARTIFICIAL where needed. |
| * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS. |
| (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL |
| has DECL_NAMELESS set. |
| |
| 2010-07-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44915 |
| * ipa-cp.c (cgraph_gate_cp): Also check that optimize is true. |
| * ipa-inline.c (cgraph_mark_inline_edge): Likewise. |
| (analyze_function): Likewise. |
| |
| 2010-07-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44914 |
| * tree-sra.c (sra_modify_function_body): Return true if CFG was |
| changed, add purging dead eh edges. |
| (ipa_sra_modify_function_body): Return true if CFG was changed, |
| simplify purging dead eh edges. |
| (modify_function): Return true if CFG was changed. |
| (perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG |
| was changed. |
| (ipa_early_sra): Likewise. |
| |
| 2010-07-23 Jie Zhang <jie@codesourcery.com> |
| |
| PR target/44290 |
| * attribs.c (decl_attributes): Insert "noinline" and "noclone" |
| if "naked". |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Return |
| false if ! tree_versionable_function_p. |
| |
| 2010-07-23 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * builtins.def (BUILT_IN_ARGS_INFO): Remove. |
| * ipa-pure-const.c (special_builtlin_state): Remove |
| BUILT_IN_ARGS_INFO case. |
| * tree-stdarg.c (execute_optimize_stdarg): Likewise. |
| * builtins.c (expand_builtin): Likewise. |
| (expand_builtin_args_info): Remove. |
| * doc/tm.texi (__builtin_args_info): Remove. |
| (__builtin_next_arg): Adjust to not refer to __builtin_args_info. |
| * doc/tm.text.in: Likewise. |
| |
| 2010-07-23 Richard Guenther <rguenther@suse.de> |
| |
| * lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values. |
| (lto_symtab_merge_decls_2): Likewise. |
| * tree-ssa.c (useless_type_conversion_p): Likewise. |
| * lto-streamer-in.c (input_gimple_stmt): Likewise. |
| * gimple.c (gtc_visited2, gtc_ob2): Remove. |
| (struct type_pair_d): Make same_p an array indexed by mode. |
| Update comment. |
| (lookup_type_pair): Update initialization. |
| (struct sccs): Adjust same_p type. |
| (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p): |
| Adjust. |
| (print_gimple_types_stats): Likewise. |
| * gimple.h (enum gtc_mode): New. |
| (gimple_types_compatible_p): Adjust prototype. |
| |
| 2010-07-23 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves |
| again after processing insn. |
| |
| 2010-07-23 Jie Zhang <jie@codesourcery.com> |
| |
| * tree-sra.c (ipa_sra_preliminary_function_checks): Dump |
| proper words when !tree_versionable_function_p. |
| |
| 2010-07-23 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45037 |
| * tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base. |
| |
| 2010-07-23 Jie Zhang <jie@codesourcery.com> |
| |
| * doc/extend.texi: Remove IP2K from the description of naked attribute. |
| Add MCORE instead. |
| |
| 2010-07-10 Andi Kleen <ak@linux.intel.com> |
| |
| PR lto/44992 |
| * lto-opts.c (lto_write_options): Add NULL file_data argument to |
| lto_get_section_name. |
| * lto-section-out.c (lto_destroy_simple_output_block): Likewise. |
| * lto-streamer-out.c (produce_asm): Likewise. |
| (copy_function): Likewise. |
| (produce_symtab): Likewise. |
| (produce_asm_for_decls): Likewise. |
| * lto-streamer.c (lto_get_section_name): Add file_data argument. |
| Rewrite to add random postfix to LTO sections. |
| * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions. |
| (lto_get_section_name): Add file_data argument to prototype. |
| |
| 2010-07-10 Andi Kleen <ak@linux.intel.com> |
| |
| * lto-section-in.c (lto_section_name): Synchronize names |
| with lto_get_section_name. |
| |
| 2010-07-10 Andi Kleen <ak@linux.intel.com> |
| |
| * lto-opts.c (lto_read_file_options): Check for missing section. |
| |
| 2010-07-22 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * ira.c (check_allocation): Correctly handle the case where an allocno |
| with two objects was allocated to a single reg. |
| |
| 2010-07-22 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function. |
| (is_widening_mult_p): Likewise. |
| (convert_to_widen): Use them. |
| (convert_plusminus_to_widen): Likewise. Handle fixed-point types as |
| well as integer ones. |
| |
| 2010-07-22 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * alias.c (true_dependence_1): New function, merged version of |
| true_dependence and canon_true_dependence. |
| (true_dependence): Simplify. |
| (canon_true_dependence): Simplify. |
| |
| 2010-07-22 Richard Henderson <rth@redhat.com> |
| |
| PR target/45027 |
| * config/i386/i386.c (setup_incoming_varargs_64): Force the use |
| of V4SFmode for the SSE saves; increase stack alignment if needed. |
| (ix86_gimplify_va_arg): Don't increase stack alignment here. |
| |
| 2010-07-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/45028 |
| * recgprop.c (copyprop_hardreg_forward_1): If changed is true, |
| call cprop_find_used_regs again via note_uses. |
| |
| 2010-07-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * alias.c (get_alias_set): Fix formatting issues. |
| |
| 2010-07-22 Steve Ellcey <sje@cup.hp.com> |
| |
| PR middle-end/44878 |
| * stmt.c (expand_value_return): Call promote_function_mode with |
| a for_return argument of 2 when returning by reference. |
| |
| 2010-07-22 Dodji Seketeli <dodji@redhat.com> |
| |
| PR debug/45024 |
| * dwarf2out.c (scope_die_for): Don't fall back to the compilation |
| unit DIE if we can find the scope DIE. |
| |
| 2010-07-22 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * ira-build.c (ira_create_object): New arg SUBWORD; all callers |
| changed. Initialize OBJECT_SUBWORD. |
| (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS. |
| (ira_create_allocno_objects): Renamed from ira_create_allocno_object; |
| all callers changed. |
| (merge_hard_reg_conflicts): Iterate over allocno subobjects. |
| (finish_allocno): Likewise. |
| (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise. |
| (remove_low_level_allocnos): Likewise. |
| (update_bad_spill_attribute): Likewise. |
| (setup_min_max_allocno_live_range_point): Likewise. |
| (sort_conflict_id_map): Likewise. |
| (ira_flattening): Likewise. Use ior_hard_reg_conflicts. |
| (ior_hard_reg_conflicts): New function. |
| (ior_allocate_object_conflicts): Renamed first argument to OBJ. |
| (compress_conflict_vecs): Iterate over objects, not allocnos. |
| (ira_add_live_range_to_object): New function. |
| (object_range_compare_func): Renamed from allocno_range_compare_func. |
| All callers changed. |
| (setup_min_max_conflict_allocno_ids): For allocnos with multiple |
| subobjects, widen the min/max range of the lowest-order object to |
| potentially include all other such low-order objects. |
| * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects. |
| (check_allocation): Likewise. Use more fine-grained tests for register |
| conflicts. |
| * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over |
| allocno subobjects. |
| (assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained |
| choices about which bits to set in each set. Don't use |
| ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts |
| using the multiple sets we computed. |
| (push_allocno_to_stack): Iterate over allocno subobjects. |
| (all_conflicting_hard_regs_coalesced): New static function. |
| (setup_allocno_available_regs_num): Use it. |
| (setup_allocno_left_conflicts_size): Likewise. Iterate over allocno |
| subobjects. |
| (coalesced_allocno_conflict): Test subobject 0 in each allocno. |
| (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM |
| by ALLOCNO_NUM_OBJECTS. |
| (calculate_spill_cost): Likewise. |
| (color_pass): Express if statement in a more normal way. |
| (ira_reassign_conflict_allocnos): Iterate over allocno subobjects. |
| (slot_coalesced_allocno_live_ranges_intersect_p): Likewise. |
| (setup_slot_coalesced_allocno_live_ranges): Likewise. |
| (allocno_reload_assign): Likewise. |
| (ira_reassign_pseudos): Likewise. |
| (fast_allocation): Likewise. |
| * ira-conflicts.c (build_conflict_bit_table): Likewise. |
| (print_allocno_conflicts): Likewise. |
| (ira_build_conflicts): Likewise. |
| (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All |
| callers changed. Test subword 0 of each allocno for conflicts. |
| (build_object_conflicts): Renamed from build_allocno_conflicts. All |
| callers changed. Iterate over allocno subobjects. |
| * ira-emit.c (modify_move_list): Iterate over allocno subobjects. |
| * ira-int.h (struct ira_allocno): New member: num_objects. |
| Rename object to objects and change it into an array. |
| (ALLOCNO_OBJECT): Add new argument N. |
| (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros. |
| (ira_create_allocno_objects): Renamed from ira_create_allocno_object. |
| (ior_hard_reg_conflicts): Declare. |
| (ira_add_live_range_to_object): Declare. |
| (ira_allocno_object_iterator): New. |
| (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New. |
| (FOR_EACH_ALLOCNO_OBJECT): New macro. |
| * ira-lives.c (objects_live): Renamed from allocnos_live; all |
| uses changed. |
| (allocnos_processed): New sparseset. |
| (make_object_born): Renamed from make_allocno_born; take an |
| ira_object_t argument. All callers changed. |
| (make_object_dead): Renamed from make_allocno_dead; take an |
| ira_object_t argument. All callers changed. |
| (update_allocno_pressure_excess_length): Take an ira_obejct_t argument. |
| All callers changed. |
| (mark_pseudo_regno_live): Iterate over allocno subobjects. |
| (mark_pseudo_regno_dead): Likewise. |
| (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New |
| functions. |
| (mark_ref_live): Detect subword accesses and call |
| mark_pseudo_regno_subword_live as appropriate. |
| (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead. |
| (process_bb_nodes_live): Deal with object-related updates first; set |
| and test bits in allocnos_processed to avoid computing allocno |
| statistics more than once. |
| (create_start_finish_chains): Iterate over objects, not allocnos. |
| (print_object_live_ranges): New function. |
| (print_allocno_live_ranges): Use it. |
| (ira_create_allocno_live_ranges): Allocate and free allocnos_processed |
| and objects_live. |
| |
| 2010-07-22 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/42451 |
| * gimple.c (gtc_next_dfs_num): New global. |
| (struct sccs): Make value a union, add integer same_p member. |
| (gtc_visit): New function. |
| (gimple_types_compatible_p_1): New function, split out from ... |
| (gimple_types_compatible_p): ... here. Start a DFS walk here. |
| (iterative_hash_gimple_type): Adjust for sccs change. |
| |
| 2010-07-22 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44891 |
| * tree-sra.c: Include gimple-pretty-print.h. |
| (replace_uses_with_default_def_ssa_name): Renamed to |
| get_repl_default_def_ssa_name, return the new SSA name instead of |
| replacing the old one. |
| (sra_modify_assign): Dump a message when removing a load, if the LHS |
| is an SSA_NAME, do not do any propagation, just set the RHS to a |
| default definition SSA NAME, type convert if necessary. |
| * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies. |
| |
| 2010-07-22 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/45017 |
| * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor |
| TYPE_PRECISION of integral types in addition to size. |
| |
| 2010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC |
| when no C library is specified. |
| |
| 2010-07-22 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (struct ipa_node_params): Updated comment. |
| (struct ipa_edge_args): Likewise. |
| * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency. |
| |
| 2010-07-22 Martin Jambor <mjambor@suse.cz> |
| |
| * cgraphunit.c (verify_edge_count_and_frequency): New function. |
| (verify_cgraph_node): Verify frequencies of indirect edges. |
| * tree-inline.c (tree_function_versioning): Update frequencies of |
| indirect edges. |
| |
| 2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/43698 |
| * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev. |
| Set *arm_rev to be predicable. |
| |
| 2010-07-22 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC): Split into... |
| (LINK_COMMAND_SPEC_A): New. |
| (DSYMUTIL): New. |
| (DSYMUTIL_SPEC): New. |
| * config/darwin9.h (LINK_COMMAND_SPEC): Remove. |
| (DSYMUTIL_SPEC): Update for darwin >= 9 requirements. |
| |
| 2010-07-22 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * calls.c (load_register_parameters): Move check for zero |
| sized items so that only the call to |
| mem_overlaps_already_clobbered_arg_p () is protected. |
| |
| 2010-07-22 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-pure-const.c (varying_state): Break out from ... |
| (get_function_state): ... here; always return varying_state |
| when state would be NULL otherwise. |
| (remove_node_data): Do not free varying state. |
| |
| 2010-07-22 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR bootstrap/44970 |
| PR middle-end/45009 |
| * postreload.c: Include "target.h". |
| (reload_combine_closest_single_use): Don't take DEBUG_INSNs |
| into account. |
| (fixup_debug_insns): Don't copy the rtx. |
| (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses. |
| Don't copy when replacing. Call fixup_debug_insns in the case where |
| we merged one add with another. |
| (reload_combine_recognize_pattern): Fail if there aren't any uses. |
| Try harder to determine whether we're picking a valid index register. |
| Don't set store_ruid for an insn we're going to scan in the |
| next iteration. |
| (reload_combine): Remove unused code. |
| (reload_combine_note_use): When updating use information for |
| an old insn, ignore a use that occurs after store_ruid. |
| * Makefile.in (postreload.o): Update dependencies. |
| |
| * function.c (record_hard_reg_sets): Restrict the previous change |
| to cases where the incoming nominal mode is the same as the |
| incoming promoted mode and everything happens in MODE_INT. |
| |
| 2010-07-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45015 |
| * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero |
| ASM_OPERANDS_OUTPUT_IDX. |
| (adjust_insn): For inline asm with multiple sets ensure first |
| ASM_OPERANDS vectors are used by all following ASM_OPERANDS in |
| the insn. |
| |
| 2010-07-21 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple |
| comparison for avoiding xmm register saves. Emit the xmm register |
| saves explicitly. |
| * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove. |
| (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove. |
| (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn): |
| Remove patterns and the associated splitters. |
| |
| 2010-07-21 Changpeng Fang <changpeng.fang@amd.com> |
| |
| * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real |
| and imagine parts of a complex, so that they can have the same |
| base and fall into the same group. |
| |
| 2010-07-21 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/45018 |
| * tree.c (find_decls_types_r): Do not follow TREE_CHAIN |
| of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT, |
| TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL. |
| |
| 2010-07-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/44900 |
| * tree-sra.c (load_assign_lhs_subreplacements): Updated comments. |
| (sra_modify_assign): Move gsi to the next statmenent unconditionally. |
| |
| 2010-07-21 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR middle-end/44738 |
| * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message. |
| |
| 2010-07-21 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/45013 |
| * tree-ssa.c (useless_type_conversion_p): Dispatch to |
| gimple_types_compatible_p only when in lto. |
| * gimple.c (gimple_types_compatible_p): Use canonical types |
| to speed up comparison. |
| |
| 2010-07-21 Richard Guenther <rguenther@suse.de> |
| |
| * tree-flow.h (referenced_var): Move define ... |
| * tree-flow-inline.h (referenced_var): ... here as an inline |
| function. Assert here ... |
| * tree-dfa.c (referenced_var_lookup): ... instead of here. |
| * tree-ssa.c (maybe_optimize_var): Check if the variable |
| is in referenced vars. |
| (execute_update_addresses_taken): Remove old broken check. |
| * gimple-pretty-print.c (pp_points_to_solution): Use |
| referenced_var_lookup. |
| * tree-into-ssa.c (dump_decl_set): Likewise. |
| |
| 2010-07-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45003 |
| * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM. |
| * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor |
| ZERO_EXTEND here. |
| |
| 2010-07-20 Richard Henderson <rth@redhat.com> |
| |
| * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls. |
| |
| 2010-07-20 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * config/arm/arm.md (thumb1_addsi3): Add alternative and split for |
| computing the sum of the stack pointer and a large constant. |
| * config/arm/constraints.md (M): Remove superfluous parentheses. |
| (Pc): New constraint. |
| |
| 2010-07-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/45006 |
| * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of |
| operand's type if exp is tcc_unary class tree. |
| |
| 2010-07-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel): |
| Reverse sense of if_then_else condition. |
| |
| 2010-07-20 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option. |
| * config/rs6000/rs6000.c (rs6000_override_options): Set |
| rs6000_block_move_inline_limit appropriately. |
| (expand_block_move): Use rs6000_block_move_inline_limit. |
| * doc/invoke.texi (mblock-move-inline-limit): Document. |
| |
| 2010-07-20 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (fixup_debug_insns): Remove arg REGNO. New args |
| FROM and TO. All callers changed. Don't look for tracked uses, |
| just scan the RTL for DEBUG_INSNs and substitute. |
| (reload_combine_recognize_pattern): Call fixup_debug_insns. |
| (reload_combine): Ignore DEBUG_INSNs. |
| |
| 2010-07-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum |
| depth to 8 from 5. |
| |
| PR debug/45003 |
| * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND |
| or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type |
| instead of the result's type. |
| |
| 2010-07-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44977 |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid |
| SSA form. |
| |
| 2010-07-20 Richard Guenther <rguenther@suse.de> |
| |
| * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p. |
| (lto_symtab_merge_decls_2): Likewise. |
| * gimple.h (gimple_types_compatible_p): Declare. |
| * gimple.c (gimple_queue_type_fixup): Remove. |
| (gimple_fixup_complete_and_incomplete_subtype_p): Likewise. |
| (gimple_compatible_complete_and_incomplete_type_p): New function. |
| (gimple_types_compatible_p): Adjust. |
| (gimple_register_type): Remove type fixup code. |
| (print_gimple_types_stats): Adjust. |
| (free_gimple_type_tables): Likewise. |
| * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p. |
| * tree-ssa.c (useless_type_conversion_p): Likewise. |
| |
| 2010-07-20 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/44971 |
| PR middle-end/44988 |
| * tree-ssa.c (maybe_optimize_var): New function split out from ... |
| (execute_update_addresses_taken): ... here. |
| (non_rewritable_mem_ref_base): Likewise. |
| (execute_update_addresses_taken): Do not iterate over all referenced |
| vars but just all local decls and parms. |
| Properly check call and asm arguments and rewrite call arguments. |
| |
| 2010-07-20 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants |
| to top level. |
| * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific |
| definitions ... |
| * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here. |
| New macro. |
| * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it. |
| |
| 2010-07-19 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * gengtype.c (start_root_entry): New function, split out from |
| write_root. Check whether V is null and raise an error if so. |
| (write_field_root): Check for V being null. Don't raise an error here; |
| set V to null instead. |
| (write_root): Update comment above function. Use start_root_entry. |
| |
| 2010-07-19 Xinliang David Li <davidxl@google.com> |
| |
| PR testsuite/44932 |
| * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting |
| def edges. |
| (find_uninit_use): Add dump. |
| (is_use_properly_guarded): Ditto. |
| (warn_uninitialized_phi): Ditto. |
| (execute_late_warn_uninitialized): Ditto. |
| |
| 2010-07-19 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/44941 |
| * expr.c (emit_block_move_hints): Move zero size check first. |
| Move asserts to more useful places. |
| * calls.c (load_register_parameters): Check for zero size. |
| |
| 2010-07-19 Richard Henderson <rth@redhat.com> |
| |
| * tree-optimize.c (execute_all_early_local_passes): New. Change |
| cgraph_state here ... |
| (execute_early_local_optimizations): ... not here. Remove. |
| (pass_early_local_passes, pass_all_early_optimizations): Update. |
| |
| 2010-07-19 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (reload_combine_closest_single_use): Ignore the |
| number of uses for DEBUG_INSNs. |
| (fixup_debug_insns): New static function. |
| (reload_combine_recognize_const_pattern): Use it. Don't let the |
| main loop be affected by DEBUG_INSNs. |
| Really disallow moving adds past a jump insn. |
| (reload_combine_recognize_pattern): Don't update use_ruid here. |
| (reload_combine_note_use): Do it here. |
| (reload_combine): Use control_flow_insn_p rather than JUMP_P. |
| |
| 2010-07-19 Bingfeng Mei <bmei@broadcom.com> |
| |
| * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes |
| of a loop. |
| * loop-doloop.c (doloop_condition_get): Skip possible debug_insn. |
| |
| 2010-07-19 Iain Sandoe <iains@gcc.gnu.org> |
| |
| * config/i386/darwin.h: Define darwin_emit_branch_islands. |
| (TARGET_MACHO_BRANCH_ISLANDS): New. |
| (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS. |
| * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a |
| default value. |
| * config/i386/i386.c (output_pic_addr_const): Do not emit |
| branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set. |
| (x86_output_mi_thunk): Adjust symbol creation. |
| * config/rs6000/darwin.h: Define darwin_emit_branch_islands. |
| Remove out of date comment. |
| * config/rs6000/rs6000.c (print_operand): Adjust symbol. |
| (DARWIN_LINKER_GENERATES_ISLANDS): Remove. |
| (DARWIN_GENERATE_ISLANDS): Ditto. |
| (output_call): Do not emit branch islands unless |
| darwin_emit_branch_islands is set. |
| * config/darwin.c: Declare darwin_emit_branch_islands. |
| (machopic_indirect_data_reference): Do not emit unless |
| darwin_emit_branch_islands is set. |
| (darwin_override_options): Set darwin_emit_branch_islands |
| where it is needed. |
| * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove. |
| |
| 2010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords): Document |
| sse_runtime, sse2_runtime. |
| |
| 2010-07-18 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips16_build_call_stub): Zero-extend the |
| low half of a single-register SCmode return value before ORing |
| it with the high half. |
| * config/mips/mips16.S (MERGE_GPRf): Likewise. |
| |
| 2010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/44805 |
| * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD |
| on all targets. |
| |
| 2010-07-17 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/42235 |
| * postreload.c (reload_cse_move2add): Return bool, true if anything. |
| changed. All callers changed. |
| (move2add_use_add2_insn): Likewise. |
| (move2add_use_add3_insn): Likewise. |
| (reload_cse_regs): If reload_cse_move2add changed anything, rerun |
| reload_combine. |
| (RELOAD_COMBINE_MAX_USES): Bump to 16. |
| (last_jump_ruid): New static variable. |
| (struct reg_use): New members CONTAINING_MEM and RUID. |
| (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID. |
| (reload_combine_split_one_ruid, reload_combine_split_ruids, |
| reload_combine_purge_insn_uses, reload_combine_closest_single_use |
| reload_combine_purge_reg_uses_after_ruid, |
| reload_combine_recognize_const_pattern): New static functions. |
| (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH |
| is true for our reg and that we have available index regs. |
| (reload_combine_note_use): New args RUID and CONTAINING_MEM. All |
| callers changed. Use them to initialize fields in struct reg_use. |
| (reload_combine): Initialize last_jump_ruid. Be careful when to |
| take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields. |
| Call reload_combine_recognize_const_pattern. |
| (reload_combine_note_store): Update REAL_STORE_RUID field. |
| |
| 2010-07-16 Jason Merrill <jason@redhat.com> |
| |
| * Makefile.in (opts-common.o): Depend on options.h. |
| |
| 2010-07-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.c (build_common_builtin_nodes): Use build_function_type_list |
| instead of build_function_type. |
| * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. |
| * cgraphunit.c (cgraph_build_static_cdtor): Likewise. |
| |
| 2010-07-16 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove |
| do all the work. |
| (rs6000_emit_int_cmove): Use function pointers for insn generation. |
| Don't force values into registers unnecessarily. |
| (output_isel): Assert that we're not given conditions we can't handle. |
| Delete corresponding code. |
| * config/rs6000/rs6000.md (isel_signed_<mode>): Use |
| scc_comparison_operator constraint. Permit 0 for the consequent |
| operand. Permit any GPR for the alternative operand. |
| (isel_unsigned_<mode>): Likewise. |
| |
| 2010-07-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/44942 |
| * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second |
| argument to const_tree. |
| * config/i386/i386.c (function_arg_advance): If padding needs to be |
| inserted before argument, increment cum->words by number of padding |
| words as well. |
| (contains_aligned_value_p): Change argument to const_tree. |
| (ix86_function_arg_boundary): Change second argument to const_tree. |
| |
| 2010-07-16 Bernd Schmidt <bernds@codesourcery.com> |
| |
| PR target/42235 |
| * function.c (record_hard_reg_sets): New static function. |
| (assign_parm_setup_reg): If an optab for extending exists and the |
| generated code clobbbers no hard regs, emit the insn directly and |
| create a REG_EQUIV note. |
| |
| 2010-07-15 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of |
| TREE_CHAIN. |
| * c-typeck.c (push_init_level): Likewise. |
| (process_init_element): Likewise. |
| |
| 2010-07-15 Anatoly Sokolov <aesok@post.ru> |
| |
| * tree.h (enum tree_index): Add TI_INTEGER_THREE. |
| (integer_three_node): Add. |
| * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of |
| NULL_TREE in build_int_cst calls. Initialize the integer_three_node. |
| * builtins.c (expand_builtin_prefetch): Use common tree nodes instead |
| of call build_int_cst. |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto. |
| * tree-ssa-loop-ivopts.c (idx_find_step): Ditto. |
| (find_interesting_uses_address): Ditto. |
| * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto. |
| * tree-eh.c (lower_eh_constructs_2): Ditto. |
| * tree-vect-loop.c (get_initial_def_for_induction): Ditto. |
| * c-typeck.c (really_start_incremental_init, push_init_level): Ditto. |
| * expmed.c (expand_divmod): Ditto. |
| * tree-mudflap.c (mx_register_decls): Ditto. |
| * varasm.c (array_size_for_constructor): Ditto. |
| * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto. |
| * c-parser.c (c_parser_postfix_expression): Ditto. |
| |
| 2010-07-15 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * postreload.c (last_label_ruid, first_index_reg, last_index_reg): |
| New static variables. |
| (reload_combine_recognize_pattern): New static function, broken out |
| of reload_combine. |
| (reload_combine): Use it. Only initialize first_index_reg and |
| last_index_reg once. |
| |
| 2010-07-15 Richard Henderson <rth@redhat.com> |
| |
| * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl |
| when done. |
| |
| 2010-07-15 Jan Hubicka <jh@suse.cz> |
| |
| * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling |
| comdats for broken gold. |
| (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly. |
| |
| 2010-07-15 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.h (TREE_RTL_OPERAND_CHECK): Delete. |
| |
| 2010-07-15 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * tree.h (DECL_CHAIN): Define. |
| * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN. |
| * c-decl.c: Likewise. |
| * c-parser.c: Likewise. |
| * c-typeck.c: Likewise. |
| * cfgexpand.c: Likewise. |
| * cgraph.c: Likewise. |
| * cgraphunit.c: Likewise. |
| * combine.c: Likewise. |
| * config/alpha/alpha.c: Likewise. |
| * config/arm/arm.c: Likewise. |
| * config/frv/frv.c: Likewise. |
| * config/i386/i386.c: Likewise. |
| * config/i386/winnt-cxx.c: Likewise. |
| * config/ia64/ia64.c: Likewise. |
| * config/iq2000/iq2000.c: Likewise. |
| * config/mep/mep.c: Likewise. |
| * config/mips/mips.c: Likewise. |
| * config/pa/som.h: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * config/s390/s390.c: Likewise. |
| * config/sh/sh.c: Likewise. |
| * config/sh/symbian-cxx.c: Likewise. |
| * config/sparc/sparc.c: Likewise. |
| * config/spu/spu.c: Likewise. |
| * config/stormy16/stormy16.c: Likewise. |
| * config/vxworks.c: Likewise. |
| * config/xtensa/xtensa.c: Likewise. |
| * coverage.c: Likewise. |
| * dbxout.c: Likewise. |
| * dwarf2out.c: Likewise. |
| * emit-rtl.c: Likewise. |
| * expr.c: Likewise. |
| * function.c: Likewise. |
| * gimple-low.c: Likewise. |
| * gimple-pretty-print.c: Likewise. |
| * gimplify.c: Likewise. |
| * integrate.c: Likewise. |
| * ipa-inline.c: Likewise. |
| * ipa-prop.c: Likewise. |
| * ipa-split.c: Likewise. |
| * ipa-struct-reorg.c: Likewise. |
| * ipa-type-escape.c: Likewise. |
| * langhooks.c: Likewise. |
| * lto-cgraph.c: Likewise. |
| * omp-low.c: Likewise. |
| * stor-layout.c: Likewise. |
| * tree-cfg.c: Likewise. |
| * tree-complex.c: Likewise. |
| * tree-dfa.c: Likewise. |
| * tree-dump.c: Likewise. |
| * tree-inline.c: Likewise. |
| * tree-mudflap.c: Likewise. |
| * tree-nested.c: Likewise. |
| * tree-object-size.c: Likewise. |
| * tree-pretty-print.c: Likewise. |
| * tree-sra.c: Likewise. |
| * tree-ssa-live.c: Likewise. |
| * tree-ssa-loop-niter.c: Likewise. |
| * tree-ssa-math-opts.c: Likewise. |
| * tree-ssa-reassoc.c: Likewise. |
| * tree-ssa-sccvn.c: Likewise. |
| * tree-ssa-structalias.c: Likewise. |
| * tree-tailcall.c: Likewise. |
| * tree-vrp.c: Likewise. |
| * tree.c: Likewise. |
| * var-tracking.c: Likewise. |
| * varasm.c: Likewise. |
| |
| 2010-07-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/44877 |
| * config/spu/spu.c (spu_expand_builtin_1): Allow references |
| (as well as pointers) as argument to mask_for_load builtins. |
| |
| 2010-07-15 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44946 |
| * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal |
| with accessing only padding properly. |
| |
| 2010-07-15 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (function_and_variable_visibility): Variables marked as used |
| should not be localized. |
| |
| 2010-07-15 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c: Include lto-streamer.h |
| (change_decl_assembler_name): Work when assembler name hash is at place. |
| (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage, |
| be sure to rename it to avoid name clash. |
| * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility): |
| Localize hidden symbols only when locally defined. |
| |
| 2010-07-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment. |
| |
| 2010-07-15 Magnus Granberg <zorry@gentoo.org> |
| Kevin F. Quinn <kevquinn@gentoo.org> |
| |
| * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines. |
| * common.opt: Add -Wtrampolines. |
| * doc/invoke.texi: Add -Wtrampolines. |
| |
| 2010-07-15 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve |
| cortex_a8_issue_ls. |
| |
| 2010-07-15 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config/i386/cygwin.h (LIBGCJ_SONAME): Update. |
| * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise. |
| |
| 2010-07-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (reg_names): Remove prototype. |
| (call_used_regs): Likewise. |
| |
| 2010-07-14 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute |
| "unused" with attribute "used". |
| (__JCR_END__): Likewise. |
| * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing |
| "used" attribute. |
| (__JCR_LIST__): Replace attribute "unused" with attribute "used". |
| |
| 2010-07-14 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (maybe_fixup_handled_component): Remove. |
| (maybe_fixup_decls): Likewise. |
| (input_gimple_stmt): Do not fixup anything. |
| * lto-streamer-out.c (output_gimple_stmt): Make sure all |
| non-automatic variable uses are wrapped inside a MEM_REF. |
| |
| 2010-07-14 Richard Henderson <rth@redhat.com> |
| |
| * passes.c (rest_of_decl_compilation): Do not call assemble_variable |
| for functions. |
| * varasm.c (assemble_variable): Remove early exit for functions; |
| assert that we're given a variable. |
| |
| 2010-07-14 Jie Zhang <jie@codesourcery.com> |
| |
| * config/arm/cortex-a8.md (cortex_a8_alu): Don't use |
| cortex_a8_default when neon_type is not none. |
| |
| 2010-07-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * lower-subreg.c (subreg_context): New static bitmap. |
| (decompose_multiword_subregs): Allocate and free it. |
| (find_decomposable_subregs): Set a bit in it for a register that |
| occurs in a subreg that changes mode but not size. |
| (can_decompose_p): Test it instead of non_decomposable_context. |
| |
| 2010-07-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/44824 |
| * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use |
| is_gimple_mem_ref_addr. |
| (tree_ssa_forward_propagate_single_use_vars): Do not propagate |
| non-decl_address_invariant_p addresses. |
| |
| 2010-07-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * reload.c (find_reloads): Revert code to penalize small register |
| classes that was brought in with the IRA merge. |
| |
| 2010-07-14 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF |
| as base of ARRAY_REFs. |
| |
| 2010-07-14 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/44930 |
| * tree-pretty-print.c (do_niy): Do not print a newline. |
| |
| 2010-07-14 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * ira-int.h (struct ira_object): New. |
| (ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P for it. |
| (struct ira_allocno): Remove members min, max, |
| conflict_allocno_array, conflict_id, conflict_allocno_array_size, |
| conflict_allocnos_num and conflict_vec_p. Add new member object. |
| (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P, |
| OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE, |
| OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS, |
| OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from |
| ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P, |
| ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE, |
| ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS) |
| ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on |
| an ira_object_t rather than ira_allocno_t. All uses changed. |
| (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now |
| contains a vector of ira_object_t; all uses changed. |
| (ira_objects_num): Declare variable. |
| (ira_create_allocno_object): Declare function. |
| (ira_conflict_vector_profitable_p): Adjust prototype. |
| (ira_allocate_conflict_vec): Renamed from |
| ira_allocate_allocno_conflict_vec; first arg now ira_object_t. |
| (ira_allocate_object_conflicts): Renamed from |
| ira_allocate_allocno_conflicts; first arg now ira_object_t. |
| (struct ira_object_iterator): New. |
| (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New. |
| (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p |
| to conflict_vec_p. All uses changed. |
| (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond): |
| Changed to take into account that conflicts are now tracked for |
| objects. |
| * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P. |
| Args changed to accept ira_object_t. All uses changed. |
| (allocnos_conflict_p): New static function. |
| (collected_conflict_objects): Renamed from collected_allocno_objects; |
| now a vector of ira_object_t. All uses changed. |
| (build_conflict_bit_table): Changed to take into account that |
| conflicts are now tracked for objects. |
| (process_regs_for_copy, propagate_copies, build_allocno_conflicts) |
| (print_allocno_conflicts, ira_build_conflicts): Likewise. |
| * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num) |
| setup_allocno_left_conflicts_size, allocno_reload_assign, |
| fast_allocation): Likewise. |
| * ira-lives.c (make_hard_regno_born, make_allocno_born) |
| process_single_reg_class_operands, process_bb_node_lives): Likewise. |
| * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list): |
| Likewise. |
| * ira-build.c (ira_objects_num): New variable. |
| (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now |
| contains a vector of ira_object_t; all uses changed. |
| (ira_object_id_map_vec): Corresponding change. |
| (object_pool): New static variable. |
| (initiate_allocnos): Initialize it. |
| (finish_allocnos): Free it. |
| (ira_create_object, ira_create_allocno_object, create_allocno_objects): |
| New functions. |
| (ira_create_allocno): Don't set members that were removed. |
| (ira_set_allocno_cover_class): Don't change conflict hard regs. |
| (merge_hard_reg_conflicts): Changed to take into account that |
| conflicts are now tracked for objects. |
| (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec, |
| allocate_conflict_bit_vec, ira_allocate_object_conflicts, |
| compress_conflict_vecs, remove_low_level_allocnos, ira_flattening, |
| setup_min_max_allocno_live_range_point, allocno_range_compare_func, |
|
|