| 2009-12-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-dump.c (dump_options): Don't set TDF_NOUID for all. |
| |
| 2009-12-31 Dave Korn <dave.korn.cygwin@gmail.com> |
| Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> |
| |
| PR target/41605 |
| * config/darwin.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically |
| for target. |
| (LINK_SPEC): Replace dynamic libraries by static equivalents where |
| necessary. |
| * config/darwin9.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically |
| for target. |
| |
| 2009-12-30 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| PR lto/42531 |
| * lto-streamer-out.c (produce_asm): Skip any leading asterisk when |
| using DECL_ASSEMBLER_NAME to generate a section name. |
| (copy_function): Likewise. |
| |
| 2009-12-30 Andreas Schwab <schwab@linux-m68k.org> |
| |
| PR target/42516 |
| * config/m68k/m68k.md (rotlsi_16): New insn. |
| |
| 2009-12-30 Joseph Myers <joseph@codesourcery.com> |
| |
| PR c/42439 |
| * c-decl.c (check_bitfield_type_and_width): Only pedwarn if |
| pedantic for bit-field width not an integer constant expression |
| but folding to one. |
| |
| 2009-12-30 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/41956 |
| * tree-vect-slp.c (vect_supported_load_permutation_p): Add check that |
| the load indices differ. |
| |
| 2009-12-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/42549 |
| * config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for |
| alternative 1. |
| |
| 2009-12-30 Robert Millan <rmh.gcc@aybabtu.com> |
| |
| PR other/42537 |
| * errors.c: Fix typo in comment. |
| * graphite-sese-to-poly.c: Likewise. |
| * profile.c (is_inconsistent): Fix typo in string. |
| |
| 2009-12-29 Ian Lance Taylor <iant@google.com> |
| |
| PR middle-end/42099 |
| * expmed.c (expand_divmod): Don't shift HOST_WIDE_INT value more |
| than HOST_BITS_PER_WIDE_INT. |
| |
| 2009-12-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_expand_int_vcond): Reformat. |
| |
| 2009-12-29 Dave Korn <dave.korn.cygwin@gmail.com> |
| Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> |
| |
| PR objective-c++/41595 |
| * config/darwin.c (darwin_label_is_anonymous_local_objc_name): |
| New function to recognize objective c/c++ internal symbols, |
| including mangled ones. |
| * config/darwin.h (ASM_OUTPUT_LABELREF): Use |
| darwin_label_is_anonymous_local_objc_name to detect both |
| mangled and clear ObjC internal symbols. |
| |
| 2009-12-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR middle-end/41344 |
| * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND. |
| |
| 2009-12-24 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| PR target/42457 |
| * config/avr/avr.c (avr_extra_arch_macro): Remove static. |
| (avr_cpu_cpp_builtins): Remove. |
| * config/avr/avr.h (avr_extra_arch_macro): Add prototype. |
| * config/avr/avr-c.c: New File. |
| (avr_cpu_cpp_builtins) : Add. |
| * config/avr/t-avr: Add make information for avr-c. |
| * config.gcc (avr-*-*): Include avr-c.o as c and cpp object. |
| |
| 2009-12-24 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| PR target/35013, 27192 |
| * config/avr/avr.c (print_operand_address): Print correct program |
| memory address. |
| Add warning for large device offset addresses. |
| (avr_assemble_integer): Ditto. |
| (print_operand): Add warnings for incorrect addressing. |
| (out_movqi_r_mr): Tag assembler with new address codes. |
| (out_movhi_r_mr): Ditto. |
| (out_movsi_r_mr): Ditto. |
| (out_movqi_mr_r): Ditto. |
| (out_movhi_mr_r): Ditto. |
| (out_movsi_mr_r): Ditto. |
| * config/avr/predicates.md (text_segment_operand): New predicate. |
| * config/avr/avr.md (jump): Tag assembler with new address codes. |
| (call_insn): Ditto. |
| (call_value_insn): Ditto. |
| (*tablejump_lib): Ditto. |
| (*cbi): Ditto. |
| (*sbi): Ditto. |
| (indirect_jump): New define_expand. |
| (jcindirect_jump): New pattern for constant expression jump. |
| (njcindirect_jump): Renamed old indirect_jump. |
| |
| 2009-12-24 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * store-motion.c (build_store_vectors): Clear regs_set_in_block at |
| the start of a loop over basic blocks. |
| |
| 2009-12-24 Julian Brown <julian@codesourcery.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/40887 |
| * config/arm/arm.c (output_call_mem): Remove armv5 support. |
| * config/arm/arm.md (*call_mem): Disable for armv5. Add note. |
| (*call_value_mem): Likewise. |
| |
| 2009-12-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/42475 |
| * combine.c (make_compound_operation) <case SUBREG>: Use mode of |
| SUBREG_REG (x) instead of tem's mode. |
| |
| 2009-12-23 Jakub Jelinek <jakub@redhat.com> |
| Cary Coutant <ccoutant@google.com> |
| |
| PR debug/42454 |
| * dwarf2out.c (add_ranges_by_labels): Conditionally Add DW_AT_ranges |
| attribute. |
| (dwarf2out_finish): Change calls to add_ranges_by_labels. |
| |
| 2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/42093 |
| * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage |
| to TARGET_THUMB1. |
| (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets |
| only for TARGET_THUMB1. |
| |
| 2009-12-23 Ramana Radhakrishnan <ramrad01@arm.com> |
| |
| PR target/40670 |
| * config/arm/arm.md: Split for Thumb1 as well. |
| |
| 2009-12-22 Cary Coutant <ccoutant@google.com> |
| |
| PR debug/42454 |
| * dwarf2out.c (dwarf2out_finish): Don't output range for .text |
| section unless .text section was used. Likewise for cold. |
| |
| 2009-12-22 Brian Hackett <bhackett1024@gmail.com> |
| |
| * doc/plugins.texi: Rename pre-genericize event. |
| |
| 2009-12-22 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| PR driver/42463 |
| * params.def ([PARAM_PREDICTABLE_BRANCH_OUTCOME]): Fix typo in |
| help string. |
| |
| * doc/invoke.texi: Fix typo. |
| |
| 2009-12-22 Paul Brook <paul@codesourcery.com> |
| |
| * doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default. |
| * defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size. |
| * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size. |
| |
| 2009-12-21 Brian Hackett <bhackett1024@gmail.com> |
| |
| * plugin.def: Rename pre-genericize event. |
| * plugin.c (register_callback, invoke_plugin_callbacks): Same. |
| * c-decl.c (finish_function): Invoke callbacks on above event. |
| |
| 2009-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/42429 |
| * reload.c (find_reloads_subreg_address): When adjusting mode of |
| MEM, update also MEM_SIZE if it is set. |
| |
| 2009-12-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/42345 |
| * acinclude.m4 (gcc_GAS_FLAGS): New. |
| (gcc_GAS_CHECK_FEATURE): Use gcc_GAS_FLAGS. |
| * configure: Regenerated. |
| |
| 2009-12-20 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/42027 |
| * cfgexpand.c (expand_gimple_cond): Use jumpy sequence for &, &&, | |
| and || if jumps are cheap. |
| |
| 2009-12-19 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/42401 |
| * lto-streamer-out.c (tree_is_indexable): Local statics are indexable. |
| (lto_output_tree_ref): Adjust assert. |
| |
| 2009-12-19 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/42108 |
| * tree-ssa-sccvn.c (last_vuse_ptr): New variable. |
| (vn_reference_lookup_2): Update last seen VUSE. |
| (vn_reference_lookup_3): Avoid updating last seen VUSE after |
| translating. |
| (visit_reference_op_load): Use last seen VUSE from the first |
| lookup when entering into the table. |
| |
| 2009-12-19 Joern Rennecke <amylaar@spamcop.net> |
| |
| * Makefile.in (PLUGIN_HEADERS): Add more headers. |
| |
| * tree-pass.h (GCC_PASS_LISTS): Define. |
| (PASS_LIST_NO_all_lowering_passes): New enumeration value. |
| (PASS_LIST_NO_all_small_ipa_passes): Likewise. |
| (PASS_LIST_NO_all_regular_ipa_passes): Likewise. |
| (PASS_LIST_NO_all_lto_gen_passes): Likewise. |
| (PASS_LIST_NO_all_passes): Likewise. |
| (PASS_LIST_NUM): Likewise. |
| (gcc_pass_lists): Declare. |
| * passes.c (gcc_pass_lists): Define. |
| |
| 2009-12-18 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (copy_nary): New function. |
| (copy_phis): Likewise. |
| (copy_references): Likewise. |
| (process_scc): Avoid last iteration by copying the |
| optimistic table to the valid table. |
| |
| 2009-12-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs |
| use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value. |
| (add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and |
| LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of |
| DW_AT_const_value. |
| |
| 2009-12-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/41679 |
| * var-tracking.c (count_uses): Count MO_VAL_USE of original |
| MO_VAL_SET value for COND_EXEC. |
| (add_stores): Handle conditional stores. |
| |
| PR debug/41679 |
| * var-tracking.c (use_type): Remove indirection from loc. |
| (count_uses): Dereference incoming loc early. |
| (add_uses): Dereference incoming loc early. |
| |
| PR debug/41679 |
| * var-tracking.c (add_stores): Avoid value mode mismatch for |
| promoted declarations. |
| |
| 2009-12-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/42386 |
| * ipa.c (function_and_variable_visibility): Clear same_comdat_group |
| links of DECL_EXTERNAL nodes. |
| |
| 2009-12-17 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/rtl.texi (Vector Operations): Clarify vec_select result mode. |
| |
| 2009-12-17 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/bpabi-v6m.S (test_div_by_zero): New macro. |
| (aeabi_ldivmod, aeabi_uldivmod): Use above macro. |
| * config/arm/bpabi.S (test_div_by_zero): New macro. |
| (aeabi_ldivmod, aeabi_uldivmod): Use above macro. |
| * config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero |
| handler for EABI. Add signed/unsigned argument, pass correct value |
| to that handler. |
| (THUMB_LDIV0): Same, for Thumb. |
| (DIV_FUNC_END): Add signed argument. |
| (WEAK): New macro (for EABI). |
| (__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For |
| __udivsi3, add entry point which skips division-by-zero test. |
| (__divsi3, __modsi3): Add signed argument to DIV_FUNC_END. |
| (__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero. |
| Call __udivsi3 or __divsi3 via entry points which skip |
| division-by-zero tests. |
| (__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and |
| declare those names weak. |
| |
| 2009-12-17 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/42397 |
| * builtins.c (get_object_alignment): Properly deal with |
| a CONST_DECL base. |
| * expr.c (emit_block_move_hints): Assert the alignment makes sense. |
| |
| 2009-12-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/32280 |
| * config/i386/i386-modes.def (V1TI): New vector mode. |
| * config/i386/i386.h (VALID_SSE_REG_MODE): Add V1TImode. |
| (SSE_REG_MODE_P): Ditto. |
| * config/i386/sse.md (SSEMODE16): New mode iterator. |
| (AVXMODE16): Ditto. |
| (avxvecmode): Handle V1TI mode. |
| (*avx_mov<mode>_internal): Use AVXMODE16 instead of AVXMODE. |
| (mov<mode>): Use SSEMODE16 instead of SSEMODE. |
| (*mov<mode>_internal): Ditto. |
| (push<mode>1): Ditto. |
| (movmisalign<mode>): Ditto. |
| (sse2_ashlv1ti): Rename from sse2_ashlti. |
| (sse2_lshrv1ti): Rename from sse2_lshrti. |
| (*avx_ashlv1ti): Rename from *avx_ashlti and move from i386.md. |
| (*avx_lshrv1ti): Rename from *avx_lshrti and move from i386.md. |
| (vec_shl_<mode>): Convert operands to V1TImode and use V1TI shift. |
| (vec_shr_<mode>): Ditto. |
| (*sse2_mulv4si3): Update for renamed sse2_ashlv1ti3. |
| (udot_prodv4si): Ditto. |
| * config/i386/i386.c (classify_argument): Handle V1TImode. |
| (function_arg_advance_32): Ditto. |
| (function_arg_32): Ditto. |
| (ix86_expand_sse4_unpack): Convert operands to V1TImode and update |
| for renamed gen_sse2_lshrv1ti3. |
| (ix86_expand_args_builtin) <V2DI_FTYPE_V2DI_INT_CONVERT>: Set rmode |
| to V1TImode. |
| (struct builtin_description) <__builtin_ia32_pslldqi128>: Update |
| for renamed sse2_ashlv1ti3. |
| <__builtin_ia32_psrldqi128>: Update for renamed sse2_lshrv1ti3. |
| |
| Revert: |
| 2007-06-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/32280 |
| * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ... |
| * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here. |
| |
| 2009-12-17 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/42372 |
| * arm.md (pic_add_dot_plus_eight): Change output constraint from |
| update to write. |
| |
| 2009-12-17 Shujing Zhao <pearly.zhao@oracle.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| Update build_indirect_ref calls. |
| |
| 2009-12-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sync.md (IMODE): Remove mode iterator. |
| (modesuffix): Remove mode attribute. |
| (modeconstraint): Ditto. |
| (immconstraint): Ditto. |
| (*sync_compare_and_swap<mode>): Use SWI mode iterator instead of |
| IMODE mode iterator, imodesuffix mode attribute instead of modesuffix, |
| <r> mode attribute instead of modeconstraint and <i> mode attribute |
| instead of immconstraint. |
| (sync_double_compare_and_swap<mode>): Ditto. |
| (sync_old_add<mode>): Ditto. |
| (sync_lock_test_and_set<mode>): Ditto. |
| (sync_add<mode>): Ditto. |
| (sync_sub<mode>): Ditto. |
| (sync_and<mode>): Ditto. |
| (sync_ior<mode>): Ditto. |
| (sync_xor<mode>): Ditto. |
| (sync_<code><mode>): Macroize insn pattern from |
| sync_{and,ior,xor}<mode> using any_logic code iterator. |
| |
| 2009-12-17 Shujing Zhao <pearly.zhao@oracle.com> |
| |
| PR c/40885 |
| * c-common.h (ref_operator): New type. |
| (build_indirect_ref): Adjust prototype with new argument. |
| * c-typeck.c (build_indirect_ref): Accept ref_operator as argument and |
| emit the diagnostics for easy translation. |
| (build_array_ref): Update calls to build_indirect_ref. |
| * c-omp.c (c_finish_omp_atomic): Likewise. |
| * c-parser.c (c_parser_unary_expression, |
| c_parser_postfix_expression_after_primary): Likewise. |
| |
| 2009-12-16 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/42392 |
| * langhooks.c (lhd_begin_section): Make sure to switch back |
| to the text section, not some random one. |
| |
| 2009-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-chrec.c (chrec_convert_1): Only fold (T2)(t +- x) to |
| (T2)t +- (T2)x if only integer types are involved. |
| |
| 2009-12-16 Ben Elliston <bje@au.ibm.com> |
| |
| * tree-data-ref.h (dot_rdg): Remove prototype. |
| * tree-data-ref.c (dog_rdg_1, dot_rdg): Remove. |
| |
| 2009-12-16 Kazu Hirata <kazu@codesourcery.com> |
| |
| * doc/invoke.texi, doc/options.texi, doc/plugins.texi, |
| doc/tm.texi: Fix typos. |
| |
| 2009-12-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/extend.texi (Function Attributes, Extended Asm): |
| Replace TABs with spaces. |
| * doc/md.texi (Standard Names): Likewise. |
| * doc/plugins.texi (Plugins): Likewise. |
| |
| * doc/c-tree.texi (Expression trees): Use @itemx for all but |
| the first item for merged items. |
| * doc/extend.texi (Variable Attributes): Likewise. |
| * doc/install.texi (Configuration): Likewise. |
| * doc/invoke.texi (RS/6000 and PowerPC Options, RX Options): |
| Likewise. |
| |
| 2009-12-15 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET |
| and BINFO_VPTR_FIELD. |
| (free_lang_data_in_type): Do not free TYPE_STUB_DECL if we |
| generate debug information. |
| (free_lang_data_in_decl): Do not free DECL_SIZE_UNIT, |
| DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT. |
| (free_lang_data): Do not disable debuginfo. |
| * lto-streamer-out.c (write_symbol_vec): Deal with |
| non-constant DECL_SIZE. |
| (pack_ts_base_value_fields): Write types with false |
| TREE_ASM_WRITTEN. |
| (lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL. |
| * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream |
| TYPE_STUB_DECL. |
| * dwarf2out.c (add_pure_or_virtual_attribute): Check for |
| DECL_CONTEXT. |
| (gen_type_die_for_member): Test for TYPE_STUB_DECL. |
| * opts.c (decode_options): Do not disable var-tracking for lto. |
| * doc/invoke.texi (-flto): Document -flto vs. -g experimental |
| status. |
| (-fwhopr): Document experimental status. |
| |
| 2009-12-15 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR graphite/42185 |
| * graphite-sese-to-poly.c (is_reduction_operation_p): Assert that |
| we are a GIMPLE_ASSIGN. Do not calculate rhs code twice. |
| (follow_ssa_with_commutative_ops): Return NULL on non assignment. |
| |
| 2009-12-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/rs6000.md (probe_stack): Use an enclosing SET. |
| |
| 2009-12-15 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.h (compare_field_offset): Declare. |
| * gimple.c (compare_field_offset): Export. |
| * lto-streamer-in.c (input_gimple_stmt): Use compare_field_offset. |
| |
| 2009-12-15 Richard Guenther <rguenther@suse.de> |
| |
| * lto-cgraph.c (lto_output_node): Also stream the alias |
| for regular aliases. |
| (input_node): Likewise. |
| |
| 2009-12-15 Paolo Bonzini <bonzini@gnu.org> |
| Shujing Zhao <pearly.zhao@oracle.com> |
| |
| * intl.c (get_spaces): New. |
| * intl.h (get_spaces): New. |
| |
| 2009-12-14 Mark Mitchell <mark@codesourcery.com> |
| |
| * configure.ac (--with-specs): New option. |
| * configure: Regenerated. |
| * gcc.c (driver_self_specs): Include CONFIGURE_SPECS. |
| * Makefile.in (DRIVER_DEFINES): Add -DCONFIGURE_SPECS. |
| |
| 2009-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/42369 |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Avoid |
| using switch with CODE_FOR_lwp_lwp* cases. |
| |
| * config/i386/i386-builtin-types.def (PVOID_FTYPE_VOID): Use |
| DEF_FUNCTION_TYPE (PVOID) instead of DEF_FUNCTION_TYPE (PVOID, VOID). |
| |
| 2009-12-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * cfgexpand.c (expand_debug_expr) <INDIRECT_REF>: Remove overzealous |
| assertion and useless code. |
| <TARGET_MEM_REF>: Likewise. |
| |
| 2009-12-14 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/41473 |
| * dwarf2out.c (AT_loc_list_ptr): New. |
| (resolve_addr): Remove unresolved attributes and loc_list entries. |
| |
| PR debug/41473 |
| * dwarf2out.c (add_var_loc_to_decl): Don't drop initial empty |
| locations. |
| (new_loc_list): Drop gensym arg. Move generation of ll_symbol... |
| (gen_llsym): ... here. New function. |
| (add_loc_descr_to_loc_list): Removed. |
| (loc_descriptor): Infer mode from CONST_DOUBLEs and CONST_VECTORs. |
| (single_element_loc_list): Removed. |
| (dw_loc_list): Don't create entries without a location. Don't |
| special-case the first node of the list, only single nodes. |
| (single_element_loc_list_p): Simplify. |
| (loc_list_from_tree): Don't use DECL_RTL if loc_list is nonempty. |
| (add_location_or_const_value_attribute): Test var loc for NULL. |
| (convert_cfa_to_fb_loc_list): Adjust calls to new new_loc_list, |
| call gen_llsym if needed. |
| |
| 2009-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.h (cgraph_set_nothrow_flag, cgraph_set_readonly_flag, |
| cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New |
| prototypes. |
| * cgraph.c (cgraph_set_nothrow_flag, cgraph_set_readonly_flag, |
| cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New |
| functions. |
| * except.h (set_nothrow_function_flags): Remove prototype. |
| * except.c (set_nothrow_function_flags): Use cgraph_set_nothrow_flag. |
| Make static. |
| * ipa-pure-const.c (propagate): Use cgraph_set_nothrow_flag, |
| cgraph_set_readonly_flag, cgraph_set_pure_flag |
| and cgraph_set_looping_const_or_pure_flag. |
| (local_pure_const): Likewise. |
| |
| 2009-12-14 Jakub Jelinek <jakub@redhat.com> |
| Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/i386-builtin-types.def (PVOID): Declared. |
| (VOID_FTYPE_PVOID): Declared. |
| (PVOID_FTYPE_VOID): Declared. |
| (UCHAR_FTYPE_USHORT_UINT_USHORT): Removed. |
| (VOID_FTYPE_USHORT_UINT_USHORT): Removed. |
| * config/i386/i386.c (IX86_BUILTIN_LLWPCB16, IX86_BUILTIN_LLWPCB32, |
| IX86_BUILTIN_LLWPCB64, IX86_BUILTIN_SLWPCB16, IX86_BUILTIN_SLWPCB32, |
| IX86_BUILTIN_SLWPCB64, IX86_BUILTIN_LWPVAL16, IX86_BUILTIN_LWPINS16): |
| Removed. |
| (IX86_BUILTIN_LLWPCB, IX86_BUILTIN_SLWPCB): New. |
| (bdesc_special_args): Adjust declaration of __builtin_ia32_llwpcb, |
| __builtin_ia32_slwpcb, __builtin_ia32_lwpval32, |
| __builtin_ia32_lwpval64, __builtin_ia32_lwpins32, and |
| __builtin_ia32_lwpins64. |
| (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PVOID. |
| Do not handle VOID_FTYPE_USHORT_UINT_USHORT and |
| UCHAR_FTYPE_USHORT_UINT_USHORT. Warn when the third operand is |
| not an immediate. Also handle builtin functions with 3 arguments. |
| (ix86_expand_builtin): Handle IX86_BUILTIN_LLWPCB and |
| IX86_BUILTIN_SLWPCB. |
| * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC, UNSPEC_SLWP_INTRINSIC): |
| Renamed UNSPECV_LLWP_INTRINSIC and UNSPECV_SLWP_INTRINSIC. |
| (memory attribute): Handle lwp. |
| (lwp*): Rewrite all the insn patterns for LWP. |
| * config/i386/lwpintrin.h (__llwpcb16, __llwpcb32, __llwpcb64, |
| __slwpcb16, __slwpcb32, __slwpcb64, __lwpval16, __lwpins16): Removed. |
| (__llwpcb, __slwpcb): New. |
| |
| 2009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com> |
| |
| * dominance.c (set_immediate_dominator): Don't mark as inline. |
| |
| 2009-12-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/tm.texi (STACK_CHECK_PROTECT): Document alternate default. |
| * doc/md.texi (check_stack): Clarify. |
| (probe_stack): Likewise. |
| * config/rs6000/rs6000.md (UNSPEC_PROBE_STACK): New constant. |
| (probe_stack): New insn. |
| |
| 2009-12-14 Ben Elliston <bje@au.ibm.com> |
| |
| * lto-streamer-in.c (lto_get_builtin_tree): fclass can only be a |
| BUILT_IN_NORMAL or BUILT_IN_MD. |
| |
| 2009-12-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/tm.texi (STACK_CHECK_PROBE_LOAD): Delete. |
| * expr.h (STACK_CHECK_PROBE_LOAD): Likewise. |
| * explow.c (emit_stack_probe): Do not test STACK_CHECK_PROBE_LOAD. |
| * system.h (STACK_CHECK_PROBE_LOAD): Poison. |
| |
| 2009-12-13 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/42027 |
| * dojump.c (do_jump <TRUTH_AND_EXPR, TRUTH_OR_EXPR>): Go to |
| TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of |
| falling through. |
| |
| 2009-12-13 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| PR target/23726 |
| * config/avr/predicates.md (pseudo_register_operand): New predicate |
| for pseudos. |
| * config/avr/avr.md (divmodqi4): Replace with define_insn_and_split |
| to allow div/mod optimization. |
| (udivmodqi4): Ditto. |
| (divmodhi4): Ditto. |
| (udivmodhi4): Ditto. |
| (divmodsi4): Ditto. |
| (udivmodsi4): Ditto. |
| |
| 2009-12-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/42357 |
| * tree-sra.c (sra_modify_assign): Do not tear apart struct copies. |
| |
| 2009-12-12 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (need_assembler_name_p): Abstract decls do not need |
| an assembler name. |
| * dwarf2out.c (dwarf2out_abstract_function): Preserve |
| DECL_ABSTRACT properly. |
| |
| 2009-12-11 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (lto_input_tree_ref): Do not register |
| DEBUG_EXPR_DECLs with the varpool. |
| |
| 2009-12-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/linux-unwind.h (MD_FROB_UPDATE_CONTEXT, 64-bit): Define. |
| (sparc64_frob_update_context): New function. |
| |
| 2009-12-11 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/41658 |
| PR lto/41657 |
| * lto-streamer-out.c (write_global_stream): Do not make decls |
| weak but resort to TREE_ASM_WRITTEN to avoid multiple definitions. |
| Make sure to mark all decls that we have written. |
| |
| 2009-12-11 Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| |
| PR target/36047 |
| |
| * config/m68k/linux.h: Remove LABELNO from the mcount statement. It is |
| not used by glibc/uclibc and does not work with large binaries. |
| |
| 2009-12-11 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/41662 |
| * lto-streamer-in.c (lto_init_eh): Move eh_initialized_p |
| handling here. |
| (input_eh_regions): Adjust. |
| (lto_input_ts_function_decl_tree_pointers): Initialize EH |
| if a non-NULL DECL_FUNCTION_PERSONALITY was read in. |
| |
| 2009-12-11 Duncan Sands <baldrick@free.fr> |
| |
| * passes.c (make_pass_instance): Allocate and copy the right amount of |
| memory for ipa passes, which are not the same size as other passes. |
| |
| 2009-12-11 Joern Rennecke <amylaar@spamcop.net> |
| |
| * plugin.c (get_named_event_id): Fix hash table rebuild to include |
| dynamically allocated events. |
| |
| 2009-12-11 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/42320 |
| * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Properly |
| detect non-prevailing decls. |
| |
| 2009-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/42317 |
| * cgraph.h (struct cgraph_node): Add same_comdat_group field. |
| * cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group |
| circular list. |
| (cgraph_node_can_be_local_p): Return false for DECL_COMDAT with |
| node->same_comdat_group. |
| * ipa.c (cgraph_remove_unreachable_nodes): For any reachable node |
| mark all its same_comdat_group nodes as also reachable. |
| (cgraph_externally_visible_p): Return true even if any of |
| same_comdat_group nodes has address taken. |
| * lto-cgraph.c (lto_output_node): Stream out same_comdat_group. |
| (output_cgraph): Ensure other same_comdat_group nodes are also |
| included. |
| (input_node): Stream in same_comdat_group. |
| (input_cgraph_1): Fix up same_comdat_group fields from references |
| to pointers. |
| * cgraphunit.c (cgraph_analyze_functions): Mark all other |
| same_comdat_group nodes as reachable. |
| (cgraph_mark_functions_to_output): For each node->process process |
| also other same_comdat_group nodes. |
| * ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes |
| with same_comdat_group non-NULL. |
| (cgraph_mark_inline_edge): Likewise. |
| |
| 2009-12-10 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/42228 |
| PR middle-end/42110 |
| * cgraph.c (cgraph_create_edge_including_clones): Add old_stmt |
| parameter; update edge if it already exists. |
| (cgraph_remove_node): Handle correctly cases where we are removing |
| node having clones. |
| * cgraph.h (cgraph_create_edge_including_clones): Declare. |
| (verify_cgraph_node): Add missing error_found = true code. |
| (cgraph_materialize_all_clones): Remove call edges of dead nodes. |
| * ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master |
| clone; fix double linked list removal. |
| * tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones |
| call; fix frequency of newly created edge. |
| |
| 2009-12-10 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR rtl-opt/42216 |
| * regrename.c: Error out if MAX_RECOG_OPERANDS is larger than |
| HOST_BITS_PER_WIDE_INT. |
| (verify_reg_in_set): New function, broken out of verify_reg_tracked. |
| (verify_reg_tracked): Use it. |
| (scan_rtx_reg): When seeing a use involving a superset of the |
| registers in an existing chain, enlarge that chain. Otherwise, |
| allow subsets and set fail_current_block for all other kinds of |
| overlap. |
| (hide_operands): New argument UNTRACKED_OPERANDS; callers changed. |
| Do not modify operands when the bit with the corresponding number |
| is set in that bitmap. |
| (build_def_use): When we see matching operands with different |
| modes, don't set fail_current_block, but keep track of such |
| operands in a bitmap if their registers aren't already tracked |
| in an open chain. Pass this bitmap to all hide_operands calls. |
| |
| 2009-12-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/42337 |
| * tree-ssa-pre.c (seen_during_translate): Remove. |
| (phi_translate_1): Collapse into ... |
| (phi_translate): ... this. Remove seen parameter and |
| adjust recursive calls. |
| |
| 2009-12-10 Richard Guenther <rguenther@suse.de> |
| Allan Sandfeld Jensen <linux@carewolf.com> |
| |
| * tree-vectorizer.c (vectorize_loops): Properly guard |
| vectorizer verboseness. |
| |
| 2009-12-10 Ben Elliston <bje@au.ibm.com> |
| |
| * fwprop.c (free_load_extend): Initialise `use'. |
| |
| 2009-12-09 David Edelsohn <edelsohn@gnu.org> |
| |
| * builtins.c (do_mpc_ckconv): Pass the component type to |
| real_from_mpfr(). |
| |
| 2009-12-09 Xinliang David Li <davidxl@google.com> |
| |
| PR tree-optimization/42337 |
| * tree-ssa-pre.c (phi_translate_1): Push and Pop SEEN set. |
| |
| 2009-12-09 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3, |
| mulv2sf3, divv2sf3): New expanders. |
| * config/rs6000/spe.md (spe_evabs, spe_evand, spe_evaddw, spe_evsubfw, |
| spe_evdivws): Rename to use standard GCC names. |
| * config/rs6000/paired.md (negv2sf, absv2sf2, addv2sf3, subv2sf3, |
| mulv2sf3, divv2sf3): Rename to avoid conflict with the new expanders. |
| * config/rs6000/rs6000.c (bdesc_2arg, bdesc_1arg): Use new CODE_FOR_ |
| names for renamed patterns. |
| |
| 2009-12-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.md ("copysign<mode>3"): Pattern removed. |
| |
| 2009-12-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.ac: Compute ld_ver, ld_vers, ld_date, ld_vers_major, |
| ld_vers_minor and ld_vers_path always, not just when gcc_cv_ld_hidden |
| isn't cached. |
| * configure: Regenerated. |
| |
| 2009-12-08 Richard Henderson <rth@redhat.com> |
| |
| * combine.c (setup_incoming_promotions): Fix sign-extend of |
| zero-extend case; tidy conditions. |
| |
| 2009-12-08 Michael Matz <matz@suse.de> |
| |
| PR middle-end/38474 |
| * function.c (free_temp_slots): Only walk the temp slot |
| addresses and combine slots if we actually changes something. |
| (pop_temp_slots): Ditto. |
| |
| 2009-12-08 Olga Golovanevsky <olga@il.ibm.com> |
| |
| PR middle-end/41843 |
| * ipa-struct-reorg.c (compare_fields): New function. |
| (find_field_in_struct_1): Use compare_fields function. |
| (is_equal_types): Likewise. |
| |
| 2009-12-07 DJ Delorie <dj@redhat.com> |
| |
| PR c/42312 |
| * config/mep/mep.c (mep_expand_prologue): Set |
| really_need_stack_frame after frame_size is set. |
| |
| 2009-12-07 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/42269 |
| * combine.c (setup_incoming_promotions): Improve the conditions |
| under which we respect the promotions applied. |
| |
| 2009-12-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch. |
| * config/sparc/linux64.h (ASM_SPEC): Likewise. |
| |
| 2009-12-07 Richard Henderson <rth@redhat.com> |
| |
| PR debug/42299 |
| PR debug/42166 |
| * tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation |
| for ssa names already registered for update. |
| |
| 2009-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/42244 |
| * ddg.c (add_inter_loop_mem_dep): Use ANTI_DEP if from or to |
| is a DEBUG_INSN. |
| |
| 2009-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Add -mlwp to the |
| options when bit_LWP is set. |
| |
| 2009-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/cpuid.h (bit_ABM): New. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Add -mabm to the |
| options when bit_ABM is set. |
| |
| 2009-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (bdesc_special_args): Move __builtin_clzs from |
| this array ... |
| (bdesc_args): ... here. |
| * config.gcc (i[34567]86-*-*): Include abmintrin.h. |
| (x86_64-*-*): Likewise. |
| |
| 2009-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config.gcc (i[34567]86-*-*, x86_64-*-*): Add popcntintrin.h. |
| * config/i386/abmintrin.h (_mm_popcnt_u32, _mm_popcnt_u64): Moved... |
| * config/i386/i386-c.c (__POPCNT__): Defined. |
| * config/i386/popcntintrin.h: ...here. New file. |
| * config/i386/smmintrin.h (_mm_popcnt_u32, _mm_popcnt_u64): Moved... |
| Include popcntintrin.h. |
| * config/i386/x86intrin.h: Include popcntintrin.h when __POPCNT__ |
| is defined. |
| |
| 2009-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/i386-protos.h (ix86_expand_fma4_multiple_memory): |
| Removed. |
| * config/i386/i386.c (ix86_expand_fma4_multiple_memory): Removed. |
| * config/i386/sse.md: Remove all XOP splitters. |
| Allow the second and fourth operands of XOP multiply-add insns |
| to be nonimmediate. |
| |
| 2009-12-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/sse.md: Remove all FMA4 splitters. |
| Allow the second operand of FMA4 insns to be a nonimmediate. |
| Fix comments punctuation. |
| |
| 2009-12-07 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/constraints.md (Ps, Pt): New constraint letters. |
| * config/arm/thumb2.md (*thumb2_addsi_short): Tighten constraints. |
| |
| 2009-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR other/40302 |
| * configure.ac (HAVE_mpc): Don't define. |
| * config.in, configure: Regenerate. |
| |
| PR other/40302 |
| * builtins.c: Remove HAVE_mpc* checks throughout. |
| * fold-const.c: Likewise. |
| * real.h: Likewise. |
| * toplev.c: Likewise. |
| |
| 2009-12-07 Edmar Wienskoski <edmar@freescale.com> |
| |
| * config.gcc (cpu_is_64bit): Add new core e500mc64. |
| (powerpc*-*-*): Add new core e500mc64. |
| * config/rs6000/e500mc64.md: New file. |
| * config/rs6000/rs6000.c (processor_costs): Add new costs for |
| e500mc64. |
| (rs6000_override_options): Add e500mc64 case to |
| processor_target_table. Altivec and Spe options not allowed with |
| e500mc64. Disable string instructions for e500mc64. Enable branch |
| targets alignment for both e500mc and e500mc64. Initialize |
| rs6000_cost for e500mc64. |
| (rs6000_emit_sISEL): New function. |
| (rs6000_emit_sCOND): Call rs6000_emit_sISEL for isel targets. |
| (rs6000_emit_int_cmove): Fix mode of 64 bit isel pattern |
| generation. |
| (rs6000_issue_rate): Set issue rate for e500mc64. |
| (rs6000_rtx_costs): Set more accurate cost for mfcr instruction |
| on architectures with isel. |
| * config/rs6000/rs6000-protos.h (rs6000_emit_sISEL): Declare. |
| * config/rs6000/rs6000.h (processor_type): Add |
| PROCESSOR_PPCE500MC64. |
| (ASM_CPU_SPEC): Add e500mc64. |
| * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc64. |
| Include e500mc64.md. |
| (abssi2_isel): Expand pattern to handle DImode. |
| (nabs<mode>2_isel): New pattern. |
| (absdi2): Change pattern to handle 64 bit isel targets. |
| (absdi2_internal): Exclude ISEL targets. |
| (nabsdi2): Exclude ISEL targets. |
| * doc/invoke.texi: Add e500mc64 to list of cpus. |
| |
| 2009-12-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (any_or): New code iterator. |
| (any_logic): Rename from plogic code iterator. |
| (logicprefix): Rename from plogicprefix code attribute. |
| (<code><mode>3): Macroize expander from {ior,xor}<mode>3 using |
| any_or code iterator. |
| (*<code><mode>_1): Macroize insn from *{ior,xor}<mode>_1 using |
| any_or code iterator. |
| (*<code><mode>_2): Ditto from *{ior,xor}<mode>_2. |
| (*<code><mode>_3): Ditto from *{ior,xor}<mode>_3. |
| (ior and xor splitters): Ditto. |
| * config/i386/mmx.md: Updated for rename. |
| * config/i386/sse.md: Ditto. |
| |
| 2009-12-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2): |
| Remove quotes around condition logic code. |
| |
| 2009-12-06 Richard Henderson <rth@redhat.com> |
| |
| PR debug/42234 |
| * tree-ssa-dom.c (degenerate_phi_result): Check for NULL phi |
| argument earlier. |
| |
| 2009-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * doc/install.texi: Document MPC is required. |
| |
| 2009-12-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (g): Add HImode and QImode. |
| (general_szext_operand): New mode attribute. |
| (*test<mode>_1): Macroize insn from *test{qi,hi,si}_1 using |
| SWI124 mode iterator. |
| (and<mode>3): Macroize expander from and{qi,hi,si,di}3 using |
| SWIM mode iterator. |
| (*and<mode>_2): Macroize insn from *and{qi,hi,si}_2 using |
| SWI124 mode iterator. |
| (ior<mode>3): Macroize expander from ior{qi,hi,si,di}3 using |
| SWIM mode iterator. |
| (*ior<mode>_1): Macroize insn from *ior{hi,si,di}_1 using |
| SWI248 mode iterator. |
| (*ior<mode>_2): Macroize insn from *ior{qi,hi,si,di}_2 using |
| SWI mode iterator. |
| (*ior<mode>_3): Macroize insn from *ior{qi,hi,si,di}_3 using |
| SWI mode iterator. |
| (xor<mode>3): Macroize expander from xor{qi,hi,si,di}3 using |
| SWIM mode iterator. |
| (*xor<mode>_1): Macroize insn from *xor{hi,si,di}_1 using |
| SWI248 mode iterator. |
| (*xor<mode>_2): Macroize insn from *xor{qi,hi,si,di}_2 using |
| SWI mode iterator. |
| (*xor<mode>_3): Macroize insn from *xor{qi,hi,si,di}_3 using |
| SWI mode iterator. |
| |
| 2009-12-05 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/i386.c (TARGET_DEFAULT_TARGET_FLAGS): Add |
| MASK_FUSED_MADD. |
| * config/i386/i386.h (CC1_CPU_SPEC_1): Remove |
| "'-mfused-madd' was removed". |
| * config/i386/i386.opt (mfused-madd): New. |
| * config/i386/sse.md: Add TARGET_FUSED_MADD to FMA4 insns. |
| * doc/invoke.texi (-mfused-madd, -mno-fused-madd): Document. |
| |
| 2009-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa64-hpux.h (LIB_SPEC): Handle -rdynamic. |
| * pa-hpux10.h (LIB_SPEC): Likewise. |
| * pa-hpux11.h (LIB_SPEC): Likewise. |
| |
| PR ada/41912 |
| * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame |
| for signal frames. |
| * pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise. |
| |
| 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * configure: Regenerate. |
| |
| 2009-12-05 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/thumb2.md (thumb2_mulsi_short_compare0): Use a low-register |
| for the scratch. |
| |
| 2009-12-04 David Daney <ddaney@caviumnetworks.com> |
| |
| PR rtl-optimization/42164 |
| * combine.c (combine_simplify_rtx): Handle truncation of integer |
| constants. |
| |
| 2009-12-04 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-out.c (pack_ts_decl_common_value_fields): |
| Revert previous change. |
| (lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR. |
| * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers): |
| Likewise. |
| |
| 2009-12-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle |
| BUILT_IN_MALLOC. |
| (call_may_clobber_ref_p_1): Likewise. |
| |
| 2009-12-04 Matthias Klose <doko@ubuntu.com> |
| John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/40134 |
| * config.gcc (hppa*-*-linux*): Use config/t-slibgcc-libgcc. |
| * config/pa/pa-linux.h (LIB_SPEC): Remove. |
| |
| 2009-12-03 Sebastian Pop <sebastian.pop@amd.com> |
| Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-protos.h (ix86_fma4_valid_op_p): Remove. |
| * config/i386/i386.c (ix86_fma4_valid_op_p): Remove. |
| * config/i386/i386.md: Do not use ix86_fma4_valid_op_p. |
| * config/i386/sse.md (fma4_*): Remove alternative with operand 1 |
| matching a memory access. Do not use ix86_fma4_valid_op_p. |
| (xop_*): Same. |
| Do not use ix86_fma4_valid_op_p in FMA4 and XOP splitters. |
| |
| 2009-12-03 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_fixup_binary_operands): For FMA4, force |
| all operands into registers. |
| |
| 2009-12-03 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/i386.c (ix86_expand_fma4_multiple_memory): Remove unused |
| parameter. |
| * config/i386/i386-protos.h (ix86_expand_fma4_multiple_memory): Same. |
| * config/i386/sse.md: Same. |
| |
| 2009-12-03 Richard Guenther <rguenther@suse.de> |
| |
| * cgraphunit.c (assemble_thunk): Use DECL_ASSEMBLER_NAME |
| instead of DECL_NAME for the entry point. |
| |
| 2009-12-03 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier |
| before the lock release. |
| |
| 2009-12-03 Michael Matz <matz@suse.de> |
| |
| PR middle-end/38474 |
| * cfgexpand.c (struct stack_var): Add conflicts member. |
| (stack_vars_conflict, stack_vars_conflict_alloc, |
| n_stack_vars_conflict): Remove. |
| (add_stack_var): Initialize conflicts member. |
| (triangular_index, resize_stack_vars_conflict): Remove. |
| (add_stack_var_conflict, stack_var_conflict_p): Rewrite in |
| terms of new member. |
| (union_stack_vars): Only run over the conflicts. |
| (partition_stack_vars): Remove special case. |
| (expand_used_vars_for_block): Don't call resize_stack_vars_conflict, |
| don't create self-conflicts. |
| (account_used_vars_for_block): Don't create any conflicts. |
| (fini_vars_expansion): Free bitmaps, don't free or clear removed |
| globals. |
| |
| 2009-12-03 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR middle-end/42202 |
| * regrename.c (live_in_chains): New variable. |
| (verify_reg_tracked): New static function. |
| (scan_rtx_reg): Update live_in_chains. |
| (scan_rtx): Only promote sets in COND_EXEC to OP_INOUT if |
| we're already tracking the reg. |
| (build_def_use): Likewise. Initialize live_in_chains. |
| |
| 2009-12-03 Ken Werner <ken.werner@de.ibm.com> |
| |
| * config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof |
| startup files. |
| * config/spu/spu-protos.h (spu_function_profiler): Add prototype. |
| * config/spu/spu.c (spu_function_profiler): New function. |
| * config/spu/spu.h (FUNCTION_PROFILER): Invoke |
| spu_function_profiler. |
| (NO_PROFILE_COUNTERS): Define. |
| (PROFILE_BEFORE_PROLOGUE): Likewise. |
| |
| 2009-12-03 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * ggc-page.c (struct free_object): Pull definition out ... |
| (struct globals): .. from here. |
| |
| 2009-12-02 Richard Guenther <rguenther@suse.de> |
| |
| * fold-const.c (div_if_zero_remainder): Honor that sizetypes |
| are sign-extending. Simplify. |
| |
| 2009-12-02 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/42215 |
| * tree-loop-distribution.c (build_size_arg_loc): Tidy. |
| (generate_memset_zero): Convert to sizetype properly. Tidy. |
| |
| 2009-12-02 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-out.c (pack_ts_decl_common_value_fields): |
| Do not pretend we have value exprs. |
| |
| 2009-12-02 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/41491 |
| * fold-const.c (try_move_mult_to_index): Do not leak |
| domain types into the IL. |
| |
| 2009-12-02 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/42088 |
| * tree.c (free_lang_data): Disable if not using LTO. |
| |
| 2009-12-02 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/42229 |
| * cfgloopmanip.c (remove_path): Avoid cancelling loops twice. |
| |
| 2009-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR middle-end/42224 |
| * tree.h (int_or_pointer_precision): Remove. |
| * tree.c (int_or_pointer_precision): Remove. |
| (integer_pow2p): Use TYPE_PRECISION instead. |
| (tree_log2): Likewise. |
| (tree_floor_log2): Likewise. |
| (signed_or_unsigned_type_for): Likewise. |
| * fold-const.c (fit_double_type): Likewise. |
| * varasm.c (initializer_constant_valid_p): Likewise. |
| |
| 2009-12-02 Ira Rosen <irar@il.ibm.com> |
| |
| * doc/invoke.texi (-fdump-tree-slp): Document. |
| (-ftree-vectorizer-verbose): Update. |
| (-ftree-slp-vectorize): Document. |
| |
| 2009-12-02 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_conditional_register_usage): Do not warn if |
| no fixed registers are available for interrupt handlers. Do not |
| fix normal registers. |
| (MUST_SAVE_ACC_REGISTER): New macro. |
| (rx_get_stack_layout): Create a stack frame for fast interrupt |
| handlers, if necessary. Push extra registers if needed in order |
| to save the accumulator. |
| (rx_expand_prologue): Create a stack frame for fast interrupt |
| handlers, if necessary. |
| (rx_expand_builtin_mvfc): Handle the case where there is no target. |
| |
| 2009-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/abmintrin.h (__lzcnt16): New. |
| (__lzcnt): New. |
| (__lzcnt64): New. |
| * config/i386/i386-builtin-types.def (UINT16_FTYPE_UINT16): New. |
| * config/i386/i386.c (IX86_BUILTIN_CLZS): New. |
| (bdesc_special_args): Add __builtin_clzs. |
| (ix86_expand_args_builtin): Handle UINT16_FTYPE_UINT16. |
| |
| 2009-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/abmintrin.h (_mm_popcnt_u32): New. |
| (_mm_popcnt_u64): New. |
| |
| 2009-12-01 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/abmintrin.h: New. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__. |
| * config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined. |
| |
| 2009-12-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (SWI124): Rename from CRC32MODE. |
| (crc32modesuffix): Remove. |
| (crc32modeconstraint): Ditto. |
| (sse4_2_crc32<mode>): Update for renamed mode iterator. Use |
| imodesuffix instead of crc32modesuffix and <r>m instead of |
| crc32modeconstraint. |
| |
| 2009-12-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/42234 |
| * tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb |
| contains no statements. |
| |
| 2009-12-01 Grigori Fursin <grigori.fursin@inria.fr> |
| Joern Rennecke <amylaar@spamcop.net> |
| |
| * cgraphunit.c (plugin.h): Include. |
| (ipa_passes): Invoke PLUGIN_ALL_IPA_PASSES_START / |
| PLUGIN_ALL_IPA_PASSES_END at start / end of processing. |
| * gcc-plugin.h (highlev-plugin-common.h, hashtab.h): Include. |
| (enum plugin_event): Define by including plugin.def. |
| Last enumerator is now called PLUGIN_EVENT_FIRST_DYNAMIC. |
| (plugin_event_name): Change type to const char **. |
| (get_event_last, get_named_event_id, unregister_callback): Declare. |
| (register_callback): Change type of event argument to int. |
| (highlev-plugin-common.h): New file. |
| * Makefile.in (GCC_PLUGIN_H): Add highlev-plugin-common.h and |
| $(HASHTAB_H) |
| (tree-optimize.o passes.o): Depend on $(PLUGIN_H). |
| (PLUGIN_HEADERS): Add opts.h, $(PARAMS_H) and plugin.def. |
| (s-header-vars): New rule. |
| (install-plugin): Depend on s-header-vars. Install b-header-vars. |
| * params.c (get_num_compiler_params): New function. |
| * params.h (get_num_compiler_params): Declare. |
| * passes.c (plugin.h): Include. |
| (make_pass_instance): Invoke PLUGIN_NEW_PASS. |
| (do_per_function_toporder, pass_init_dump_file): No longer static. |
| (pass_fini_dump_file): Likewise. |
| (execute_one_pass): Likewise. Invoke PLUGIN_OVERRIDE_GATE and |
| PLUGIN_PASS_EXECUTION. |
| (execute_ipa_pass_list): Invoke PLUGIN_EARLY_GIMPLE_PASSES_START and |
| PLUGIN_EARLY_GIMPLE_PASSES_END. |
| * plugin.c (plugin_event_name_init): New array, defined by |
| including plugin.def. |
| (FMT_FOR_PLUGIN_EVENT): Update. |
| (plugin_event_name): Change type to const char ** and initialize |
| to plugin_event_name_init. |
| (event_tab, event_last, event_horizon): New variable. |
| (get_event_last): New function. |
| (plugin_callbacks_init): New array. |
| (plugin_callbacks: Change type to struct callback_info **. |
| Initialize to plugin_callbacks_init. |
| (htab_event_eq, get_named_event_id, unregister_callback): New function. |
| (invoke_plugin_va_callbacks): Likewise. |
| (register_callback): Change type of event argument to int. |
| Handle new events. Allow dynamic events. |
| (invoke_plugin_callbacks): Likewise. Return success status. |
| (plugins_active_p): Allow dynamic callbacks. |
| * plugin.def: New file. |
| * plugin.h (invoke_plugin_callbacks): Update prototype. |
| (invoke_plugin_va_callbacks): Declare. |
| * tree-optimize.c (plugin.h): Include. |
| (tree_rest_of_compilation): Invoke PLUGIN_ALL_PASSES_START and |
| PLUGIN_ALL_PASSES_END. |
| * tree-pass.h (execute_one_pass, pass_init_dump_file): Declare. |
| (pass_fini_dump_file, do_per_function_toporder): Likewise. |
| * doc/plugin.texi: Document new event types. |
| |
| 2009-12-01 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/42237 |
| * tree-sra.c (sra_ipa_modify_assign): Split gimple_reg_type assignments |
| in between references into two. |
| |
| 2009-12-01 Richard Guenther <rguenther@suse.de> |
| |
| * tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK |
| to the block of the call when remapping a type. |
| |
| 2009-12-01 Martin Jambor <mjambor@suse.cz> |
| |
| * cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest |
| unsigned short int. |
| * ipa-prop.h (struct ipa_param_call_note): Likewise. |
| * ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest. |
| |
| 2009-12-01 Richard Guenther <rguenther@suse.de> |
| |
| * final.c (rest_of_clean_state): If -fcompare-debug is |
| given dump final insns without UIDs. |
| * tree-ssa-live.c (remove_unused_scope_block_p): Remove |
| after_inlining checks. |
| |
| 2009-11-30 Chao-ying Fu <fu@mips.com> |
| |
| * config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend. |
| |
| 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect |
| status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap |
| options for Cygwin DLL libstdc++ support wrappers. |
| (CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default |
| according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS. |
| (CXX_WRAP_SPEC): Define entire wrapper spec in or out according to |
| whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not. |
| (LINK_SPEC): Include CXX_WRAP_SPEC. |
| * gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function. |
| (i386_find_on_wrapper_list): Check if a function is found on the list |
| of libstdc++ wrapper options. |
| (i386_pe_file_end): If we are importing a wrapped function, also emit |
| an external declaration for the real version. |
| * config/i386/cygming.opt (muse-libstdc-wrappers): New option for |
| Cygwin targets. Update copyright year. |
| |
| 2009-11-30 Steve Ellcey <sje@cup.hp.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * function.c (instantiate_virtual_regs_in_insn): Copy to new reg |
| before forcing mode. |
| |
| 2009-11-30 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/sh/sh.c (sh_promote_prototypes): Make static. |
| (sh_function_value, sh_libcall_value, sh_function_value_regno_p): New |
| functions. |
| (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. |
| * config/sh/sh.h (FUNCTION_VALUE_REGNO_P): Redefine, use |
| sh_function_value_regno_p. |
| (FUNCTION_VALUE, LIBCALL_VALUE): Remove. |
| * config/sh/sh-protos.h (sh_function_value_regno_p): Declare. |
| (sh_promote_prototypes) : Remove. |
| |
| 2009-11-30 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2 |
| reloads to LO_REGS. |
| |
| 2009-11-30 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_vec_interleave_v2df_operator_ok): New. |
| (bdesc_special_args): Update insn codes. |
| (avx_vpermilp_parallel): Correct range check. |
| (ix86_rtx_costs): Handle vector permutation rtx codes. |
| (struct expand_vec_perm_d): Move earlier. |
| (get_mode_wider_vector): New. |
| (expand_vec_perm_broadcast_1): New. |
| (ix86_expand_vector_init_duplicate): Use it. Tidy AVX modes. |
| (expand_vec_perm_broadcast): New. |
| (ix86_expand_vec_perm_builtin_1): Use it. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/predicates.md (avx_vbroadcast_operand): New. |
| * config/i386/sse.md (AVX256MODE24P): New. |
| (ssescalarmodesuffix2s): New. |
| (avxhalfvecmode, avxscalarmode): Fill out to all modes. |
| (avxmodesuffixf2c): Add V8SI, V4DI. |
| (vec_dupv4sf): New expander. |
| (*vec_dupv4sf_avx): Add vbroadcastss alternative. |
| (*vec_set<mode>_0_avx, **vec_set<mode>_0_sse4_1): Macro-ize for |
| V4SF and V4SI. Move C alternatives to front. Add insertps and |
| pinsrd alternatives. |
| (*vec_set<mode>_0_sse2): Split out from ... |
| (vec_set<mode>_0): Macro-ize for V4SF and V4SI. |
| (vec_interleave_highv2df, vec_interleave_lowv2df): Require register |
| destination; use ix86_vec_interleave_v2df_operator_ok, instead of |
| ix86_fixup_binary_operands. |
| (*avx_interleave_highv2df, avx_interleave_lowv2df): Add movddup. |
| (*sse3_interleave_highv2df, sse3_interleave_lowv2df): New. |
| (*avx_movddup, *sse3_movddup): Remove. New splitter from |
| vec_select form to vec_duplicate form. |
| (*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use |
| ix86_vec_interleave_v2df_operator_ok. |
| (avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ... |
| (*avx_unpcklpd256): ... here. |
| (*vec_dupv4si_avx): New. |
| (*vec_dupv2di_avx): Add movddup alternative. |
| (*vec_dupv2di_sse3): New. |
| (vec_dup<AVX256MODE24P>): Replace avx_vbroadcasts<AVXMODEF4P> and |
| avx_vbroadcastss256; represent with vec_duplicate instead of |
| nested vec_concat operations. |
| (avx_vbroadcastf128_<mode>): Rename from |
| avx_vbroadcastf128_p<avxmodesuffixf2c>256. |
| (*avx_vperm_broadcast_v4sf): New. |
| (*avx_vperm_broadcast_<AVX256MODEF2P>): New. |
| |
| 2009-11-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/42196 |
| * tree-sra.c (struct access): New field grp_different_types. |
| (dump_access): Dump grp_different_types. |
| (compare_access_positions): Prefer scalars and vectors over other |
| scalar types. |
| (sort_and_splice_var_accesses): Set grp_different_types if appropriate. |
| (sra_modify_expr): Use the original also when dealing with a complex |
| or vector group accessed as multiple types. |
| |
| 2009-11-30 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (avx_vperm2f128_parallel): New. |
| * config/i386/i386-protos.h: Declare it. |
| * config/i386/predicates.md (avx_vperm2f128_v8sf_operand, |
| avx_vperm2f128_v8si_operand, avx_vperm2f128_v4df_operand): New. |
| * config/i386/sse.md (avx_vperm2f128<mode>3): Change to expander. |
| (*avx_vperm2f128<mode>_full): Renamed from avx_vperm2f128<mode>3. |
| (*avx_vperm2f128<mode>_nozero): New. |
| |
| 2009-11-30 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New. |
| (V8SF_FTYPE_V8SF_V8SF_V8SI): New. |
| * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Support |
| V4DF and V8SF for AVX; relax constraint on V4SF to SSE1 from SSE2. |
| (IX86_BUILTIN_VEC_PERM_V4DF, IX86_BUILTIN_VEC_PERM_V8SF): New. |
| (bdesc_args): Add them. |
| (ix86_expand_builtin): Expand them. |
| (expand_vec_perm_pshufb2): Only operate on 16-byte vectors. |
| |
| 2009-11-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/42206 |
| * ipa-prop.c (ipa_write_node_info): Initialize note_count to zero. |
| |
| 2009-11-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * ipa-reference.c (propagate): Only dump bitmaps if computed. |
| |
| 2009-11-30 Olga Golovanevsky <olga@il.ibm.com> |
| |
| PR middle-end/39806 |
| * ipa-struct-reorg.c (new_var_eq): Use DECL_UID to hash new variables. |
| (new_var_hash): Likewise. |
| (is_in_new_vars_htab): Likewise. |
| (add_to_new_vars_htab): Likewise. |
| |
| 2009-11-30 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vect-stmts.c (vectorizable_assignment): Support |
| multiple types. |
| |
| 2009-11-30 Richard Guenther <rguenther@suse.de> |
| |
| * doc/contrib.texi (Contributors): Add myself. |
| |
| 2009-11-30 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (free_lang_data): Do not set debug_info_level to |
| none if terse. |
| |
| 2009-11-30 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/42119 |
| PR fortran/38530 |
| * expr.c (expand_expr_addr_expr_1): Properly expand the initializer |
| of CONST_DECLs. |
| |
| 2009-11-30 Richard Guenther <rguenther@suse.de> |
| |
| * tree-into-ssa.c (insert_phi_nodes): Add PHI nodes in |
| variable UID order. |
| |
| 2009-11-30 Richard Guenther <rguenther@suse.de> |
| |
| * tree-dump.c (dump_option_value_in): Add TDF_NOUID. |
| * tree-pass.h (TDF_NOUID): Likewise. |
| * print-rtl.c: Include tree-pass.h. |
| (print_mem_expr): Pass dump_flags. |
| (print_rtx): Likewise. |
| * print-tree.c: Include tree-pass.h. |
| (print_node_brief): Handle TDF_NOUID. |
| (print_node): Likewise. |
| * tree-pretty-print.c (dump_decl_name): Likewise. |
| (dump_generic_node): Likewise. |
| * Makefile.in (print-rtl.o, print-tree.o): Add $(TREE_PASS_H) |
| dependency. |
| |
| 2009-11-30 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16-lib2-count-leading-zeros.c: Delete. |
| * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Remove |
| stormy16-lib2-count-leading-zeros.c. |
| * config/stormy16/stormy16-lib2.c (__clzhi2): Move code from |
| __stormy16_count_leading_zeros() into this function. |
| (__ctzhi2): Use __builtin_clz. |
| (__ffshi2): Likewise. |
| |
| 2009-11-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (DF_MODES): Simplify. |
| (TF_ONLY_MODES, OF_ONLY_MODES): Delete. |
| (TF_MODES, OF_MODES): Adjust for above change. |
| (TF_MODES_NO_S, OF_MODES_NO_S): Likewise. |
| * config/sparc/sparc.h (REGNO_REG_CLASS): Move around. |
| |
| 2009-11-30 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR rtl-optimization/41812 |
| * fwprop.c (local_md, local_lr): New globals. |
| (process_defs, process_uses): Remove local_md argument. Never |
| consider dead pseudos to have singleton def-use chains. |
| (single_def_use_enter_block): Perform LR simulation. |
| (build_single_def_use_links): Remove local_md local variable. |
| Add DF_NOTE. Allocate local_lr. |
| (fwprop_done): Do not remove DF_CHAIN, we do not use it anymore. |
| * df-problems.c (df_md_scratch): New. |
| (df_md_alloc, df_md_free): Allocate/free it. |
| (df_md_local_compute): Only include live registers in init. |
| (df_md_transfer_function): Prune the in-set computed by |
| the confluence function, and the gen-set too. |
| |
| 2009-11-30 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR rtl-optimization/40086 |
| * reorg.c (relax_delay_slots): When looking for redundant insn at |
| the branch target, use next_real_insn, not next_active_insn. |
| |
| 2009-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * doc/install.texi: Update minimum MPC version to 0.8. |
| |
| 2009-09-09 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (fnmaddsf4_powerpc_1): Remove |
| HONOR_SIGNED_ZEROS final condition. |
| (fnmsubsf4_powerpc_1): Same. |
| (fnmadddf4_fpr_1): Same. |
| (fnmsubdf4_fpr_1): Same. |
| |
| 2009-11-29 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/42193 |
| * tree-vect-stmts.c (vectorizable_operation): Set vectorization factor |
| to 1 in case of basic block SLP. |
| (vectorizable_load): Likewise. |
| |
| 2009-11-28 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c (same_body_alias_1): Break out of |
| (same_body_alias): ... here; remove comdat check; it is handled |
| in cp already. |
| (cgraph_add_thunk): New. |
| (dump_cgraph_node): Dump aliases and thunks. |
| * cgraph.h (cgraph_thunk_info): New structure. |
| (struct cgraph_node): Add thunk info. |
| (cgraph_add_thunk): New. |
| * cgraphunit.c (cgraph_emit_thunks): Remove. |
| (cgraph_finalize_compilation_unit): Do not call cgraph_emit_thunks. |
| (assemble_thunk): New function. |
| (cgraph_expand_function): Handle thunks. |
| (thunk_adjust): New. |
| (init_lowered_empty_function): New. |
| * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): |
| Remove. |
| * lto-cgraph.c (lto_output_node): Stream thunk info. |
| (input_node): Likewise. |
| * langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks. |
| * langhooks-def.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Remove. |
| (LANG_HOOKS_CALLGRAPH_INITIALIZER): Update. |
| * i386.c (x86_output_mi_thunk): Make output prettier. |
| |
| 2009-11-28 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/42183 |
| * tree-nrv.c (tree_nrv): Bail out if the RESULT_DECL has its |
| address taken. Merge the addressable state of the NRV |
| variable and the result instead of copying it. |
| |
| 2009-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * matrix-reorg.c (analyze_matrix_allocation_site): Remove unused |
| malloc_fname variable. |
| (check_allocation_function): Remove unused gsi and bb_level_0 |
| variables. |
| (transform_access_sites): Remove unused d_type_size and d_type_size_k |
| variables. |
| * omega.c (resurrect_subs): Remove unused n variable. |
| (omega_solve_geq): Remove unused neweqns variable. |
| * lto-streamer-in.c (lto_read_tree): Remove unused end_marker variable. |
| * tree-inline.c (declare_return_variable): Remove USE_P argument, |
| return use instead of var. |
| (remap_decl, remap_block): Remove unused fn variable. |
| (expand_call_inline): Remove unused retvar variable, adjust |
| declare_return_variable caller. |
| (optimize_inline_calls): Remove unused prev_fn variable. |
| * tree-vect-slp.c (vect_analyze_slp_instance): Remove unused ncopies |
| variable. |
| (vect_create_mask_and_perm): Remove unused group_size and dr_chain_size |
| variables. |
| * tree-ssa-loop-niter.c (split_to_var_and_offset): Handle MINUS_EXPR |
| properly. |
| * tree-vect-loop.c (vect_analyze_loop_form): Remove unused backedge |
| variable. |
| (vect_create_epilog_for_reduction): Remove unused bytesize variable. |
| * omp-low.c (workshare_safe_to_combine_p): Remove par_entry_bb |
| parameter. Remove unused par_stmt variable. |
| (determine_parallel_type): Adjust workshare_safe_to_combine_p caller. |
| (expand_omp_sections): Remove unused l1 variable. |
| (lower_omp_for): Remove unused ilist variable. |
| * tree-loop-distribution.c (mark_nodes_having_upstream_mem_writes): |
| Remove unused has_upstream_mem_write_p variable. |
| * recog.c (decode_asm_operands): Remove unused noperands variable. |
| * tree-ssa-alias.c (refs_may_alias_p_1): Remove unused size1 and |
| size2 variable. |
| * libgcov.c (__gcov_merge_delta): Remove unused last variable. |
| * tree-call-cdce.c (gen_conditions_for_pow_int_base): Remove unused |
| base_nm variable. |
| (gen_conditions_for_pow): Remove unused ec variable. |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Remove unused size |
| variable. |
| * ipa-struct-reorg.c (program_redefines_malloc_p): Remove unused |
| fndecl variable. |
| * tree-ssa-sink.c (statement_sink_location): Remove unused code |
| variable. |
| * regmove.c (copy_src_to_dest): Remove unused insn_uid and move_uid |
| variables. |
| * tree-complex.c (create_one_component_var): Remove unused inner_type |
| variable. |
| * calls.c (emit_call_1): Don't GEN_INT (struct_value_size) |
| unnecessarily when GEN_*CALL omits that argument. |
| * regrename.c (regrename_optimize): Remove unused regs_seen variable. |
| (build_def_use): Remove unused icode variable. |
| * ipa-pure-const.c (check_call): Remove unused callee and avail |
| variables. |
| * tree-dfa.c (add_referenced_var): Remove unused v_ann variable. |
| * tree-vect-patterns.c (vect_recog_pow_pattern): Remove unused type |
| variable. |
| (vect_pattern_recog): Remove unused stmt variable. |
| * sel-sched-ir.c (make_regions_from_the_rest): Remove unused |
| new_regions variable. |
| * postreload.c (reload_cse_simplify_operands): Remove unused mode |
| variable. |
| * tree-parloops.c (create_call_for_reduction_1): Remove unused |
| addr_type variable. |
| (create_parallel_loop): Remove unused res variable. |
| (gen_parallel_loop): Remove unused nloop variable. |
| * tree-vect-loop-manip.c (vect_loop_versioning): Likewise. |
| * value-prof.c (gimple_mod_subtract_transform, |
| gimple_stringops_transform): Remove unused value variable. |
| (gimple_stringops_values_to_profile): Remove unused fcode variable. |
| * tree-vrp.c (register_new_assert_for): Remove unused found variable. |
| (vrp_visit_switch_stmt): Remove unused n variable. |
| * tree-vect-stmts.c (vectorizable_conversion): Remove unused expr |
| variable. |
| (vectorizable_operation): Remove unused shift_p variable. |
| (vectorizable_store): Remove unused first_stmt_vinfo variable. |
| * tree-ssa-operands.c (add_stmt_operand): Remove unused v_ann variable. |
| * tree-vect-data-refs.c (vect_analyze_data_refs): Remove unused bb |
| variable. |
| (vect_permute_store_chain): Remove unused scalar_dest variable. |
| (vect_supportable_dr_alignment): Remove unused invariant_in_outerloop |
| variable. |
| * tree-ssa-threadupdate.c (thread_single_edge): Remove unused |
| local_info variable. |
| * tree-optimize.c (tree_rest_of_compilation): Remove unused node |
| variable. |
| * optabs.c (expand_binop): Remove unused equiv_value variable. |
| (emit_libcall_block): Remove unused prev variable. |
| (init_optabs): Remove unused int_mode variable. |
| * tree-ssa-structalias.c (scc_visit): Remove unused have_ref_node |
| variable. |
| (do_structure_copy): Remove unused lhsbase and rhsbase variables. |
| (find_func_aliases): Remove unused rhstype variable. |
| (ipa_pta_execute): Remove unused varid variable. |
| |
| 2009-11-28 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add. |
| |
| 2009-11-28 David Binderman <dcb314@hotmail.com> |
| |
| * ira-color.c (put_allocno_into_bucket): Remove set but not used |
| local variable hard_regs_num. |
| * ira-lives.c (process_single_reg_class_operands): Remove cover_class. |
| * loop-unswitch.c (unswitch_loop): Remove zero_bitmap. |
| * lower-subreg.c (decompose_multiword_subregs): Remove next. |
| |
| 2009-11-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/42006 |
| * tree-sra.c (get_replaced_param_substitute): Call create_tmp_var |
| instead of create_tmp_var. Set DECL_GIMPLE_REG_P to one manually |
| for vector and complex types. |
| (get_adjustment_for_base): Describe return value in the comment. |
| |
| 2009-11-27 Nick Clifton <nickc@redhat.com> |
| |
| * longlong.h (count_leading_zeros): Define macro for stormy16 target. |
| (COUNT_LEADING_ZEROS_0): Likewise. |
| * config/stormy16/stormy16-lib2.c: Arrange for separate |
| compilation of each function. |
| (__ffshi2): New function. |
| (__stormy16_count_leading_zeros): New function. |
| * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to |
| compile each function into its own object file. |
| (stormy16-lib2-ashlsi3.c): New stub file. |
| (stormy16-lib2-ashrsi3.c): New stub file. |
| (stormy16-lib2-clzhi2.c): New stub file. |
| (stormy16-lib2-count-leading-zeros.c): New stub file. |
| (stormy16-lib2-ctzhi2.c): New stub file. |
| (stormy16-lib2-divsi3.c): New stub file. |
| (stormy16-lib2-ffshi2.c): New stub file. |
| (stormy16-lib2-lshrsi3.c): New stub file. |
| (stormy16-lib2-modsi3.c): New stub file. |
| (stormy16-lib2-parityhi2.c): New stub file. |
| (stormy16-lib2-popcounthi2.c): New stub file. |
| (stormy16-lib2-udivmodsi4.c): New stub file. |
| (stormy16-lib2-udivsi3.c): New stub file. |
| (stormy16-lib2-umodsi3.c): New stub file. |
| |
| 2009-11-27 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/sse.md (vec_interleave_highv16qi, |
| vec_interleave_lowv16qi, vec_interleave_highv8hi, |
| vec_interleave_lowv8hi, vec_interleave_highv4si, |
| vec_interleave_lowv4si, vec_interleave_highv2di, |
| vec_interleave_lowv2di, vec_interleave_highv4sf, |
| vec_interleave_lowv4sf, vec_interleave_highv2df, |
| vec_interleave_lowv2df): Remove expanders. |
| (sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp, |
| sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw, |
| sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq): |
| Rename to their proper vec_interleave equivalent. Update all users |
| to the new name. |
| * config/i386/i386.c, config/i386/i386.md: Update all users. |
| |
| 2009-11-27 Michael Matz <matz@suse.de> |
| |
| PR rtl-optimization/42084 |
| * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter, |
| use it to stop walking. |
| (expand_gimple_cond): Adjust call to above. |
| |
| 2009-11-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/41810 |
| * gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED. |
| [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use |
| __extension__ to allow cast from function pointer to object |
| pointer in C++. |
| * doc/install.texi (--enable-threads): Clarify use of Solaris threads. |
| |
| 2009-11-27 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * config/ia64/itanium1.md: Remove. |
| * config/ia64/ia64.md: Do not include it. |
| * config/ia64/ia64.c (ia64_handle_option): Remove "itanium", |
| "itanium1", and "merced" from the processor alias table. |
| (clocks, add_cycles): Remove global variables. |
| (ia64_sched_reorder2): Don't set/use them. |
| (ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise. |
| (bundling): Likewise. Remove extra pass for MMMUL/MMSHF. |
| |
| 2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * config/s390/s390.c (last_scheduled_insn): New variable. |
| (s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New |
| functions. |
| (s390_sched_reorder, s390_sched_variable_issue): New functions. |
| (TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks |
| defined. |
| |
| 2009-11-27 Michael Matz <matz@suse.de> |
| |
| PR c++/41906 |
| * tree-eh.c (lower_catch): Stop after expanding a catch-all. |
| |
| 2009-11-27 Richard Guenther <rguenther@suse.de> |
| |
| * timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH, |
| TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars. |
| * loop-init.c (pass_rtl_move_loop_invariants): Use |
| TV_LOOP_MOVE_INVARIANTS. |
| (pass_rtl_unswitch): Use TV_LOOP_UNSWITCH. |
| (pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL. |
| (pass_rtl_doloop): Use TV_LOOP_DOLOOP. |
| |
| 2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
| |
| * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment. |
| |
| 2009-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove |
| unused insn variable. |
| * genemit.c (output_peephole2_scratches): Only declare and initialize |
| _regs_allocated if it will be ever used. |
| * cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused |
| succ_bb variable. |
| (create_empty_loop_on_edge): Remove unused freq and cnt variables. |
| * unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record |
| variable. |
| |
| * opts.c (decode_options): If optimize is bigger than 255, |
| set it to 255. |
| |
| 2009-11-26 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/sse.md (mulv16qi3): Change back from an expander |
| to an insn-and-split. |
| (mulv4si): Mention AVX not XOP for AVX exception. |
| (*sse2_mulv4si3): Likewise. |
| (mulv2di3): Use vmulld not vpmacsdd for XOP expansion. Tidy. |
| |
| 2009-11-26 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * cfgexpand (n_stack_vars_conflict): New static variable. |
| (triangular_index): Reduce likelyhood of overflow by performing |
| the division before the multiplication. |
| (resize_stack_vars_conflict): Call fatal_error if overflow |
| occurred in triangular_index. Update n_stack_vars_conflict. |
| |
| PR rtl-opt/38582 |
| * regrename.c (struct du_chain): Remove member earlyclobber. |
| (scan_rtx_reg): Don't set it. Remove argument earlyclobber, |
| all callers changed. |
| (scan_rtx): Remove argument earlyclobber, all callers changed. |
| (hide_operands, restore_operands, record_out_operands): New functions, |
| broken out of build_def_use. |
| (build_def_use): Call them as necessary. |
| |
| * regrename.c (struct du_head): New members id, conflicts, |
| hard_conflicts and cannot_rename. |
| (enum scan_actions): Remove terminate_all_read and |
| terminate_overlapping_read; add mark_all_read. |
| (scan_actions_name): Likewise. |
| (du_head_p): New typedef. Define a vector type for it. |
| (id_to_chain): New static variable. |
| (note_sets, clear_dead_regs): Delete functions. |
| (free_chain_data): New function. |
| (merge_overlapping_regs): Simply walk the conflicts bitmap. |
| Remove argument B, all callers changed. |
| (regrename_optimize): Allocate id_to_chain. Ignore chains that have |
| the cannot_rename bit set. Update regno and nregs of a renamed chain. |
| Call free_chain_data when done. |
| (do_replace): Remove death notes when the renamed reg is set in the |
| last insn; add them if not. |
| (mark_conflict, note_sets_clobbers): New static function. |
| (fail_current_block, current_id, open_chains_set, live_hard_regs): New |
| static variables. |
| (scan_rtx_reg): Keep track of conflicts between chains, and between |
| chains and hard regs. Don't terminate chains when we find a read we |
| can't handle, mark it unrenameable instead. For terminate_write, |
| terminate chains that are written with an exact match or a superset |
| of registers. Set fail_current_block if multi-word lifetimes are too |
| complex to handle. |
| (scan_rtx_address): Use mark_all_read instead of terminate_all_read. |
| (build_def_use): Initialize current_id, live_chains and live_hard_regs; |
| free memory for them when done. |
| Rearrange the steps so that earlyclobbers are noted before reads |
| are processed. Add new steps to keep track of hard register lifetimes |
| outside insn operands. |
| |
| 2009-11-26 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-dce.c (nr_walks): New variable. |
| (mark_aliased_reaching_defs_necessary): Adjust oracle cut-off. |
| (perform_tree_ssa_dce): Init nr_walks. |
| |
| 2009-11-26 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/41905 |
| * tree-eh.c (lower_eh_constructs_2): Don't add assignments |
| below statements that can't fall thru. |
| |
| 2009-11-26 Michael Matz <matz@suse.de> |
| |
| * builtins.c (expand_builtin_printf, expand_builtin_fprintf, |
| expand_builtin_sprintf): Remove. |
| (expand_builtin): Don't call them. |
| |
| 2009-11-26 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap. |
| |
| 2009-11-26 Nick Clifton <nickc@redhat.com> |
| |
| * config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls |
| being used incorrectly. |
| (rx_function_ok_for_sibcall): New function. Do not allow indirect |
| sibcalls, or sibcalls from interrupt functions. |
| (TARGET_FUNCTION_OK_FOR_SIBCALL): Define. |
| * config/rx/rx.md (sibcall): Convert to a define_expand. Check |
| for a MEM inside a MEM. |
| (sibcall_value): Likewise. |
| (sibcall_internal): New pattern containing old sibcall pattern. |
| (sibcall_value_internal): Likewise. |
| |
| 2009-11-25 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an |
| optional 3rd argument to define the mode. |
| * config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New. |
| (V2UDI, V4USI, V8UHI, V16UQI): New. |
| (V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI, |
| V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI, |
| V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New. |
| * config/i386/i386-modes.def: Rearrange for double-wide AVX. |
| * config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New. |
| * config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New. |
| (bdesc_args): Add the builtin definitions to match. |
| (ix86_expand_builtin): Expand them. |
| (ix86_builtin_vectorization_cost): Rename from |
| x86_builtin_vectorization_cost. |
| (ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d, |
| doublesize_vector_mode, expand_vselect, expand_vselect_vconcat, |
| expand_vec_perm_blend, expand_vec_perm_vpermil, |
| expand_vec_perm_pshufb, expand_vec_perm_1, |
| expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr, |
| expand_vec_perm_interleave2, expand_vec_perm_pshufb2, |
| expand_vec_perm_even_odd_1, expand_vec_perm_even_odd, |
| ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst, |
| ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok, |
| ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM, |
| TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. |
| * sse.md (SSEMODE_EO): New. |
| (vec_extract_even<mode>): Use SSEMODE_EO and |
| ix86_expand_vec_extract_even_odd. |
| (vec_extract_odd<mode>): Likewise. |
| (mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si, |
| vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd. |
| |
| 2009-11-25 Richard Henderson <rth@redhat.com> |
| |
| * target.h (targetm.vectorize.builtin_vec_perm_ok): New. |
| * target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. |
| * hooks.h, hooks.c (hook_bool_tree_tree_true): New. |
| * tree-vect-slp.c (vect_create_mask_and_perm): Don't create |
| the vector constant here... |
| (vect_transform_slp_perm_load): ... do it here instead. Validate |
| that the permutation vector is implementable by the target. |
| |
| 2009-11-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/sysv4.opt (mregnames): Change Var to rs6000_regnames. |
| * config/rs6000/sysv4.h (TARGET_REGNAMES): Define. |
| |
| * print-rtl.c (print_rtx): When printing newline, append |
| print_rtx_head and indentation after the newline. |
| |
| PR target/42165 |
| * config/i386/i386.c (print_operand): For 32-byte memory use |
| YMMWORD in -masm=intel mode. Use TBYTE instead of XWORD. |
| * config/i386/i386.md (crc32modesuffix): Expand to nothing |
| in -masm=intel mode. |
| (sse4_2_crc32di): Print just crc32 instead of crc32q in |
| -masm=intel mode. |
| * config/i386/mmx.md (*mmx_pinsrw): Print correct size of |
| memory operand in -masm=intel mode. |
| * config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb, |
| *sse2_pinsrw): Likewise. |
| (sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print |
| q suffix in -masm=intel mode. |
| |
| 2009-11-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/10127 |
| PR ada/20548 |
| PR middle-end/42004 |
| * dwarf2out.c (dwarf2out_args_size_adjust): Rename to... |
| (dwarf2out_stack_adjust): ...this. Do not adjust the arg size for |
| ACCUMULATE_OUTGOING_ARGS targets. Rename former version to... |
| (dwarf2out_notice_stack_adjust): ...this. Adjust for above renaming. |
| (dwarf2out_frame_debug_expr): Revert previous change and adjust for |
| above renaming. |
| (dwarf2out_frame_debug): Add ??? comment. Adjust for above renaming. |
| |
| 2009-11-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (emms_operation): New predicate. |
| (vzeroupper_operation): Ditto. |
| (vzeroall_operation): Improve pattern recognition. |
| * config/i386/sse.md (avx_vzeroupper_rex64): Remove insn pattern. |
| (avx_vzeroupper): Change insn pattern to expander. |
| (*avx_vzeroupper): New insn pattern. Use vzeroupper_operation |
| predicate. |
| (*avx_vzeroall): Remove operands 1 and 2. |
| * config/i386/mmx.md (mmx_emms): Change insn pattern to expander. |
| (mmx_femms): Ditto. |
| (*mmx_emms): New insn pattern. Use emms_operation predicate. |
| (*mmx_femms): Ditto. |
| * config/i386/i386.c (enum ix86_builtins) |
| <IX86_BUILTIN_VZEROUPPER_REX64>: Remove. |
| (struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>: |
| Remove initailization. |
| <CODE_FOR_avx_vzeroupper>: Unconditionally initialize here. |
| |
| 2009-11-25 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.md (consttable_4): Handle (high ...). |
| |
| 2009-11-25 Robert Nelson <robert.nelson@digikey.com> |
| Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.h (enum vfp_reg_type): Add VFP_NONE. |
| * arm.c (all_fpus): Use it for floating point units that aren't based |
| on the VFP architecture. |
| (aapcs_vfp_is_call_or_return_candidate): Make base_mode a pointer to |
| enum machine_mode. |
| |
| 2009-11-25 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * alias.c: Remove trailing white spaces. |
| * alloc-pool.c: Likewise. |
| * alloc-pool.h: Likewise. |
| * attribs.c: Likewise. |
| * auto-inc-dec.c: Likewise. |
| * basic-block.h: Likewise. |
| * bb-reorder.c: Likewise. |
| * bt-load.c: Likewise. |
| * builtins.c: Likewise. |
| * builtins.def: Likewise. |
| * c-common.c: Likewise. |
| * c-common.h: Likewise. |
| * c-cppbuiltin.c: Likewise. |
| * c-decl.c: Likewise. |
| * c-format.c: Likewise. |
| * c-lex.c: Likewise. |
| * c-omp.c: Likewise. |
| * c-opts.c: Likewise. |
| * c-parser.c: Likewise. |
| * c-pretty-print.c: Likewise. |
| * c-tree.h: Likewise. |
| * c-typeck.c: Likewise. |
| * caller-save.c: Likewise. |
| * calls.c: Likewise. |
| * cfg.c: Likewise. |
| * cfganal.c: Likewise. |
| * cfgexpand.c: Likewise. |
| * cfghooks.c: Likewise. |
| * cfghooks.h: Likewise. |
| * cfglayout.c: Likewise. |
| * cfgloop.c: Likewise. |
| * cfgloop.h: Likewise. |
| * cfgloopmanip.c: Likewise. |
| * cfgrtl.c: Likewise. |
| * cgraph.c: Likewise. |
| * cgraph.h: Likewise. |
| * cgraphbuild.c: Likewise. |
| * cgraphunit.c: Likewise. |
| * cif-code.def: Likewise. |
| * collect2.c: Likewise. |
| * combine.c: Likewise. |
| * convert.c: Likewise. |
| * coverage.c: Likewise. |
| * crtstuff.c: Likewise. |
| * cse.c: Likewise. |
| * cselib.c: Likewise. |
| * dbgcnt.c: Likewise. |
| * dbgcnt.def: Likewise. |
| * dbgcnt.h: Likewise. |
| * dbxout.c: Likewise. |
| * dce.c: Likewise. |
| * ddg.c: Likewise. |
| * ddg.h: Likewise. |
| * defaults.h: Likewise. |
| * df-byte-scan.c: Likewise. |
| * df-core.c: Likewise. |
| * df-problems.c: Likewise. |
| * df-scan.c: Likewise. |
| * df.h: Likewise. |
| * dfp.c: Likewise. |
| * diagnostic.c: Likewise. |
| * diagnostic.h: Likewise. |
| * dominance.c: Likewise. |
| * domwalk.c: Likewise. |
| * double-int.c: Likewise. |
| * double-int.h: Likewise. |
| * dse.c: Likewise. |
| * dwarf2asm.c: Likewise. |
| * dwarf2asm.h: Likewise. |
| * dwarf2out.c: Likewise. |
| * ebitmap.c: Likewise. |
| * ebitmap.h: Likewise. |
| * emit-rtl.c: Likewise. |
| * et-forest.c: Likewise. |
| * except.c: Likewise. |
| * except.h: Likewise. |
| * expmed.c: Likewise. |
| * expr.c: Likewise. |
| * expr.h: Likewise. |
| * final.c: Likewise. |
| * flags.h: Likewise. |
| * fold-const.c: Likewise. |
| * function.c: Likewise. |
| * function.h: Likewise. |
| * fwprop.c: Likewise. |
| * gcc.c: Likewise. |
| * gcov-dump.c: Likewise. |
| * gcov-io.c: Likewise. |
| * gcov-io.h: Likewise. |
| * gcov.c: Likewise. |
| * gcse.c: Likewise. |
| * genattr.c: Likewise. |
| * genattrtab.c: Likewise. |
| * genautomata.c: Likewise. |
| * genchecksum.c: Likewise. |
| * genconfig.c: Likewise. |
| * genflags.c: Likewise. |
| * gengtype-parse.c: Likewise. |
| * gengtype.c: Likewise. |
| * gengtype.h: Likewise. |
| * genmddeps.c: Likewise. |
| * genmodes.c: Likewise. |
| * genopinit.c: Likewise. |
| * genpreds.c: Likewise. |
| * gensupport.c: Likewise. |
| * ggc-common.c: Likewise. |
| * ggc-page.c: Likewise. |
| * ggc-zone.c: Likewise. |
| * ggc.h: Likewise. |
| * gimple-iterator.c: Likewise. |
| * gimple-low.c: Likewise. |
| * gimple-pretty-print.c: Likewise. |
| * gimple.c: Likewise. |
| * gimple.def: Likewise. |
| * gimple.h: Likewise. |
| * gimplify.c: Likewise. |
| * graphds.c: Likewise. |
| * graphite-clast-to-gimple.c: Likewise. |
| * gthr-nks.h: Likewise. |
| * gthr-posix.c: Likewise. |
| * gthr-posix.h: Likewise. |
| * gthr-posix95.h: Likewise. |
| * gthr-single.h: Likewise. |
| * gthr-tpf.h: Likewise. |
| * gthr-vxworks.h: Likewise. |
| * gthr.h: Likewise. |
| * haifa-sched.c: Likewise. |
| * hard-reg-set.h: Likewise. |
| * hooks.c: Likewise. |
| * hooks.h: Likewise. |
| * hosthooks.h: Likewise. |
| * hwint.h: Likewise. |
| * ifcvt.c: Likewise. |
| * incpath.c: Likewise. |
| * init-regs.c: Likewise. |
| * integrate.c: Likewise. |
| * ipa-cp.c: Likewise. |
| * ipa-inline.c: Likewise. |
| * ipa-prop.c: Likewise. |
| * ipa-pure-const.c: Likewise. |
| * ipa-reference.c: Likewise. |
| * ipa-struct-reorg.c: Likewise. |
| * ipa-struct-reorg.h: Likewise. |
| * ipa-type-escape.c: Likewise. |
| * ipa-type-escape.h: Likewise. |
| * ipa-utils.c: Likewise. |
| * ipa-utils.h: Likewise. |
| * ipa.c: Likewise. |
| * ira-build.c: Likewise. |
| * ira-color.c: Likewise. |
| * ira-conflicts.c: Likewise. |
| * ira-costs.c: Likewise. |
| * ira-emit.c: Likewise. |
| * ira-int.h: Likewise. |
| * ira-lives.c: Likewise. |
| * ira.c: Likewise. |
| * jump.c: Likewise. |
| * lambda-code.c: Likewise. |
| * lambda-mat.c: Likewise. |
| * lambda-trans.c: Likewise. |
| * lambda.h: Likewise. |
| * langhooks.c: Likewise. |
| * lcm.c: Likewise. |
| * libgcov.c: Likewise. |
| * lists.c: Likewise. |
| * loop-doloop.c: Likewise. |
| * loop-init.c: Likewise. |
| * loop-invariant.c: Likewise. |
| * loop-iv.c: Likewise. |
| * loop-unroll.c: Likewise. |
| * lower-subreg.c: Likewise. |
| * lto-cgraph.c: Likewise. |
| * lto-compress.c: Likewise. |
| * lto-opts.c: Likewise. |
| * lto-section-in.c: Likewise. |
| * lto-section-out.c: Likewise. |
| * lto-streamer-in.c: Likewise. |
| * lto-streamer-out.c: Likewise. |
| * lto-streamer.c: Likewise. |
| * lto-streamer.h: Likewise. |
| * lto-symtab.c: Likewise. |
| * lto-wpa-fixup.c: Likewise. |
| * matrix-reorg.c: Likewise. |
| * mcf.c: Likewise. |
| * mode-switching.c: Likewise. |
| * modulo-sched.c: Likewise. |
| * omega.c: Likewise. |
| * omega.h: Likewise. |
| * omp-low.c: Likewise. |
| * optabs.c: Likewise. |
| * optabs.h: Likewise. |
| * opts-common.c: Likewise. |
| * opts.c: Likewise. |
| * params.def: Likewise. |
| * params.h: Likewise. |
| * passes.c: Likewise. |
| * plugin.c: Likewise. |
| * postreload-gcse.c: Likewise. |
| * postreload.c: Likewise. |
| * predict.c: Likewise. |
| * predict.def: Likewise. |
| * pretty-print.c: Likewise. |
| * pretty-print.h: Likewise. |
| * print-rtl.c: Likewise. |
| * print-tree.c: Likewise. |
| * profile.c: Likewise. |
| * read-rtl.c: Likewise. |
| * real.c: Likewise. |
| * recog.c: Likewise. |
| * reg-stack.c: Likewise. |
| * regcprop.c: Likewise. |
| * reginfo.c: Likewise. |
| * regmove.c: Likewise. |
| * regrename.c: Likewise. |
| * regs.h: Likewise. |
| * regstat.c: Likewise. |
| * reload.c: Likewise. |
| * reload1.c: Likewise. |
| * resource.c: Likewise. |
| * rtl.c: Likewise. |
| * rtl.def: Likewise. |
| * rtl.h: Likewise. |
| * rtlanal.c: Likewise. |
| * sbitmap.c: Likewise. |
| * sched-deps.c: Likewise. |
| * sched-ebb.c: Likewise. |
| * sched-int.h: Likewise. |
| * sched-rgn.c: Likewise. |
| * sched-vis.c: Likewise. |
| * sdbout.c: Likewise. |
| * sel-sched-dump.c: Likewise. |
| * sel-sched-dump.h: Likewise. |
| * sel-sched-ir.c: Likewise. |
| * sel-sched-ir.h: Likewise. |
| * sel-sched.c: Likewise. |
| * sel-sched.h: Likewise. |
| * sese.c: Likewise. |
| * sese.h: Likewise. |
| * simplify-rtx.c: Likewise. |
| * stack-ptr-mod.c: Likewise. |
| * stmt.c: Likewise. |
| * stor-layout.c: Likewise. |
| * store-motion.c: Likewise. |
| * stringpool.c: Likewise. |
| * stub-objc.c: Likewise. |
| * sync-builtins.def: Likewise. |
| * target-def.h: Likewise. |
| * target.h: Likewise. |
| * targhooks.c: Likewise. |
| * targhooks.h: Likewise. |
| * timevar.c: Likewise. |
| * tlink.c: Likewise. |
| * toplev.c: Likewise. |
| * toplev.h: Likewise. |
| * tracer.c: Likewise. |
| * tree-affine.c: Likewise. |
| * tree-affine.h: Likewise. |
| * tree-browser.def: Likewise. |
| * tree-call-cdce.c: Likewise. |
| * tree-cfg.c: Likewise. |
| * tree-cfgcleanup.c: Likewise. |
| * tree-chrec.c: Likewise. |
| * tree-chrec.h: Likewise. |
| * tree-complex.c: Likewise. |
| * tree-data-ref.c: Likewise. |
| * tree-data-ref.h: Likewise. |
| * tree-dfa.c: Likewise. |
| * tree-dump.c: Likewise. |
| * tree-dump.h: Likewise. |
| * tree-eh.c: Likewise. |
| * tree-flow-inline.h: Likewise. |
| * tree-flow.h: Likewise. |
| * tree-if-conv.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-nested.c: Likewise. |
| * tree-nomudflap.c: Likewise. |
| * tree-nrv.c: Likewise. |
| * tree-object-size.c: Likewise. |
| * tree-optimize.c: Likewise. |
| * tree-outof-ssa.c: Likewise. |
| * tree-parloops.c: Likewise. |
| * tree-pass.h: Likewise. |
| * tree-phinodes.c: Likewise. |
| * tree-predcom.c: Likewise. |
| * tree-pretty-print.c: Likewise. |
| * tree-profile.c: Likewise. |
| * tree-scalar-evolution.c: Likewise. |
| * tree-ssa-address.c: Likewise. |
| * tree-ssa-alias.c: Likewise. |
| * tree-ssa-ccp.c: Likewise. |
| * tree-ssa-coalesce.c: Likewise. |
| * tree-ssa-copy.c: Likewise. |
| * tree-ssa-copyrename.c: Likewise. |
| * tree-ssa-dce.c: Likewise. |
| * tree-ssa-dom.c: Likewise. |
| * tree-ssa-dse.c: Likewise. |
| * tree-ssa-forwprop.c: Likewise. |
| * tree-ssa-ifcombine.c: Likewise. |
| * tree-ssa-live.c: Likewise. |
| * tree-ssa-live.h: Likewise. |
| * tree-ssa-loop-ch.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-loop-unswitch.c: Likewise. |
| * tree-ssa-loop.c: Likewise. |
| * tree-ssa-math-opts.c: Likewise. |
| * tree-ssa-operands.c: Likewise. |
| * tree-ssa-operands.h: Likewise. |
| * tree-ssa-phiopt.c: Likewise. |
| * tree-ssa-phiprop.c: Likewise. |
| * tree-ssa-pre.c: Likewise. |
| * tree-ssa-propagate.c: Likewise. |
| * tree-ssa-reassoc.c: Likewise. |
| * tree-ssa-sccvn.c: Likewise. |
| * tree-ssa-sink.c: Likewise. |
| * tree-ssa-structalias.c: Likewise. |
| * tree-ssa-ter.c: Likewise. |
| * tree-ssa-threadedge.c: Likewise. |
| * tree-ssa-threadupdate.c: Likewise. |
| * tree-ssa-uncprop.c: Likewise. |
| * tree-ssa.c: Likewise. |
| * tree-ssanames.c: Likewise. |
| * tree-switch-conversion.c: Likewise. |
| * tree-tailcall.c: Likewise. |
| * tree-vect-data-refs.c: Likewise. |
| * tree-vect-generic.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-vectorizer.c: Likewise. |
| * tree-vectorizer.h: Likewise. |
| * tree-vrp.c: Likewise. |
| * tree.c: Likewise. |
| * tree.def: Likewise. |
| * tree.h: Likewise. |
| * treestruct.def: Likewise. |
| * unwind-compat.c: Likewise. |
| * unwind-dw2-fde-glibc.c: Likewise. |
| * unwind-dw2.c: Likewise. |
| * value-prof.c: Likewise. |
| * value-prof.h: Likewise. |
| * var-tracking.c: Likewise. |
| * varasm.c: Likewise. |
| * varpool.c: Likewise. |
| * vec.c: Likewise. |
| * vec.h: Likewise. |
| * vmsdbgout.c: Likewise. |
| * web.c: Likewise. |
| * xcoffout.c: Likewise. |
| |
| 2009-11-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa.c (output_call): Only use sr4 for long interspace calls if |
| call binds local and generating non PIC code. |
| (attr_length_call): Adjust length calculation for above. |
| |
| 2009-11-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (plusminus_carry_mnemonic): New code attribute. |
| (add<mode>3_carry): Change operand order of plus RTX. |
| (*add<mode>3_carry): Ditto. |
| (*addsi3_carry_zext): Ditto. |
| (*add<dwi>3_doubleword): Update for changed operand order. |
| (*negti2_1 splitter): Ditto. |
| (*negdi2_1 splitter): Ditto. |
| (<plusminus_insn><mode>3_carry): Macroize expander from |
| {add,sub}<mode>3_carry patterns using plusminus code iterator. |
| (*<plusminus_insn><mode>3_carry): Macroize insn from |
| *{add,sub}<mode>3_carry patetrns using plusminus code iterator. |
| (neg<mode>2): Macroize expander from neg{qi,hi,si,di,ti}2 |
| patterns using SDWIM mode iterator. |
| (*neg<dwi>2_doubleword): New insn_and_split pattern. Macroize |
| pattern from *neg{di,ti}2_1 patterns and corresponding splitters |
| using DWIH mode iterator. |
| (*neg<mode>2_1): Macroize insn from neg{qi,hi,si,di}2_1 patterns |
| using SWI mode iterator. |
| (*neg<mode>2_cmpz): Ditto from neg{qi,hi,si,di}2_cmpz patterns. |
| (one_cmpl<mode>2): Macroize expander from one_cmpl{qi,hi,si,di}2 |
| patterns using SWIM mode iterator. |
| (*one_cmpl<mode>2_1): Macroize insn from one_cmpl{hi,si,di}2_1 |
| patterns using SWI248 mode iterator. |
| (*one_cmpl<mode>2_2): Macroize insn from one_cmpl{qi,hi,si,di}2_2 |
| patterns using SWI mode iterator. |
| (*one_cmpl<mode>2_2 splitter): Macroize splitter from |
| one_cmpl{qi,hi,si,di}2_2 splitter patterns using SWI mode iterator. |
| |
| 2009-11-24 Michael Matz <matz@suse.de> |
| |
| * expr.c (set_storage_via_libcall): Fix build_call_expr call. |
| |
| 2009-11-24 David Binderman <dcb314@hotmail.com> |
| |
| * expr.c (store_field): Remove set but not used local variable |
| width_mask. |
| (expand_expr_real_2): Remove treeop2. |
| * gcse.c (update_ld_motion_stores): Remove new_rtx. |
| * haifa-sched.c (max_issue): Remove points. |
| (sched_create_recovery_edges): Remove e. |
| * ira-costs.c (setup_allocno_cover_class_and_costs): Remove mode. |
| |
| 2009-11-24 Nick Clifton <nickc@redhat.com> |
| |
| * config/v850/v850.c (function_arg): Fix handling of zero-length |
| function arguments. |
| |
| 2009-11-24 Michael Matz <matz@suse.de> |
| |
| * tree.h (union tree_ann_d): Don't declare. |
| (tree_base): Remove ann field. |
| (struct var_ann_d): Declare forward. |
| (tree_result_decl, tree_parm_decl, tree_var_decl): Add ann field. |
| (DECL_VAR_ANN_PTR): New macro. |
| * tree-dfa.c (create_var_ann): Rewrite in terms of above macro, |
| accept only VAR, PARM or RESULT decls. |
| (create_tree_common_ann): Remove. |
| (remove_referenced_var): Use DECL_VAR_ANN_PTR. |
| * tree-eh.c (lookup_expr_eh_lp): Remove. |
| * tree-flow-inline.h (var_ann, get_var_ann): Rewrite in terms of |
| DECL_VAR_ANN_PTR. |
| (ann_type, tree_common_ann, get_tree_common_ann): Remove. |
| * tree-flow.h (enum tree_ann_type): Remove. |
| (struct tree_ann_common_d): Remove. |
| (struct var_ann_d): Remove common field. |
| (union tree_ann_d): Remove. |
| (tree_ann_t, tree_ann_common_t): Remove typedefs. |
| (tree_common_ann, get_tree_common_ann, ann_type, |
| create_tree_common_ann, lookup_expr_eh_lp): Don't declare. |
| * tree-ssa.c (delete_tree_ssa): Use DECL_VAR_ANN_PTR. |
| * tree.c (copy_node_stat): Use DECL_VAR_ANN_PTR. |
| * builtins.c (expand_builtin_memcpy): Use |
| currently_expanding_gimple_stmt instead of tree annotation. |
| (expand_builtin_memset_args): Ditto. |
| * cfgexpand.c (currently_expanding_gimple_stmt): Add global variable. |
| (expand_call_stmt): Don't set tree annotation. |
| (expand_gimple_basic_block): Set currently_expanding_gimple_stmt. |
| * expr.c (expand_expr_real): Don't call lookup_expr_eh_lp. |
| * gimple.h (currently_expanding_gimple_stmt): Declare. |
| |
| 2009-11-24 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| * dwarf2out.c (add_location_or_const_value_attribute): Remove |
| useless NOTE_VAR_LOCATION_STATUS call. |
| * cfgrtl.c (commit_one_edge_insertion): Remove useless loop, tidy. |
| |
| 2009-11-24 Rafael Avila de Espindola <espindola@google.com> |
| |
| * lto-wrapper.c (lto_wrapper_exit): Don't try to delete files if |
| being called recursively. |
| |
| 2009-11-24 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * Makefile.in (PLUGIN_HEADERS): Added files: cppdefault.h flags.h |
| $(MD5_H) params.def params.h prefix.h tree-inline.h. |
| |
| 2009-11-24 Paul Brook <paul@codesourcery.com> |
| |
| * gcc/config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Fix comment |
| typo. |
| |
| 2009-11-24 Julian Brown <julian@codesourcery.com> |
| Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (TARGET_DWARF_REGISTER_SPAN): Define. |
| (arm_dwarf_register_span): New function. |
| (arm_dbx_register_number): Add VFPv3 dwarf numbering. |
| |
| 2009-11-24 David Binderman <dcb314@hotmail.com> |
| |
| * cfgrtl.c (commit_one_edge_insertion): Remove set but not used |
| local variable bb_note. |
| * dominance.c (get_dominated_by): Likewise local var n. |
| (output_file_names): Likewise local var idx. |
| (add_location_or_const_value_attribute): Likewise local var status. |
| * dwarf2out.c (gen_variable_die): Likewise local var field. |
| * emit-rtl.c (no_line_numbers): Remove. |
| (init_emit_once): Remove line_numbers parameter. |
| * rtl.h (init_emit_once): Adjust prototype. |
| * toplev.c (backend_init): Adjust init_emit_once call. |
| |
| 2009-11-24 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/42142 |
| * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): |
| Handle iv-dependent (non-)kills properly. |
| (mark_aliased_reaching_defs_necessary): Pass the basic-block |
| of the reference statement to mark_aliased_reaching_defs_necessary_1. |
| |
| 2009-11-24 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/42154 |
| * tree-sra.c (struct access): Added comments. |
| (sra_modify_expr): Build references to the old aggregate with |
| build_ref_for_offset instead of reusing access->expr. |
| (load_assign_lhs_subreplacements): Likewise. |
| |
| 2009-11-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (add<mode>3_carry): Change insn pattern |
| to expander. |
| (sub<mode>3_carry): Ditto. |
| (x86_mov<mode>cc_0_m1): Ditto. |
| (*add<mode>3_carry): New insn pattern. Use VOIDmode match_operator |
| for ix86_carry_flag_operator operator predicate. |
| (*sub<mode>3_carry): Ditto. |
| (*x86_mov<mode>cc_0_m1): Ditto. |
| (*addsi3_carry_zext): Use VOIDmode match_operator for |
| ix86_carry_flag_operator operator predicate. |
| (*subsi3_carry_zext): Ditto. |
| (*x86_mov<mode>cc_0_m1_s): Ditto. |
| (*x86_mov<mode>cc_0_m1_neg): Ditto. |
| * config/i386/predocates.md (ix86_carry_flag_operator): Do not |
| check operator sub-expressions for FLAGS_REG and const0_rtx. |
| * config/i386/i386.c (*ix86_gen_sub3_carry): Update prototype. |
| (ix86_expand_int_movcc): Update calls to gen_x86_mov{si,di}cc_0_m1. |
| (ix86_expand_int_addcc): Update calls to |
| gen_{add,sub}{qi,hi,si,di}3_carry. Do not set mode of compare_op. |
| (ix86_expand_strlensi_unroll_1): Update calls to ix86_gen_sub3_carry. |
| Do not set mode of compare operation. |
| |
| 2009-11-23 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/42151 |
| * ipa-inline.c (inline_transform): Avoid ICE when transform is called |
| twice. |
| |
| 2009-11-23 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-cp.c (ipcp_compute_node_scale): Work around completely |
| wrong profile updates. |
| * predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block |
| having largest frequency. |
| * ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne |
| used uninitalized warning. |
| * tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block |
| frequencies. |
| |
| 2009-11-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead |
| of gen_rtx_REG to generate operand 5. |
| (*cmp_ssub_sidi): Ditto. |
| |
| 2009-11-23 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (avx_vpermilp_parallel): Fix sign compare |
| mismatch. |
| |
| 2009-11-23 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special |
| case for noreturn functions. |
| (arm_compute_save_reg_mask): Remove special noreturn handling. |
| |
| 2009-11-23 Richard Guenther <rguenther@suse.de> |
| |
| * tree-dfa.c (get_ref_base_and_extent): Adjust maximum access |
| size for DECL bases. |
| |
| 2009-11-22 Richard Henderson <rth@redhat.com> |
| |
| * i386.c (avx_vpermilp_parallel): New function. |
| * i386-protos.h: Declare it. |
| * predicates.md (avx_vpermilp_v8sf_operand, avx_vpermilp_v4df_operand, |
| avx_vpermilp_v4sf_operand, avx_vpermilp_v2df_operand): New. |
| * sse.md (AVXMODEFDP, AVXMODEFSP): New iterators. |
| (ssescalarnum, ssedoublesizemode): Add AVX modes. |
| (vpermilbits): Remove. |
| (avx_vpermil<mode>): Change insns to expanders. |
| (*avx_vpermil<mode>): New. Use vec_select. |
| |
| 2009-11-22 Richard Earnshaw <rearnsha@arm.com> |
| |
| * opts.c (decode_options): Don't enable flag_schedule_insns |
| when optimizing for size. |
| * doc/invoke.texi: Document change. |
| |
| 2009-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/42113 |
| * config/alpha/alpha.md (*cmp_sadd_si): Change mode |
| of scratch register to SImode. |
| (*cmp_sadd_sidi): Ditto. |
| (*cmp_ssub_si): Ditto. |
| (*cmp_ssub_sidi): Ditto. |
| |
| 2009-11-21 Ian Lance Taylor <iant@google.com> |
| |
| * Makefile.in (HOST_LIBS): Move higher in file. |
| (LINKER, LINKER_FLAGS): If ENABLE_BUILD_WITH_CXX, but $(HOST_LIBS) |
| is not empty, set to $(CC) and $(CFLAGS). |
| |
| 2009-11-22 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-cfg.c (verify_types_in_gimple_reference): Error out on |
| V_C_E of an SSA_NAME or an invariant if lvalue is required. |
| (verify_gimple_call): Verify LHS also with with |
| verify_types_in_gimple_reference. |
| |
| 2009-11-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/42025 |
| * tree-sra.c (access_precludes_ipa_sra_p): New function. |
| (splice_param_accesses): Check all accesses by calling |
| access_precludes_ipa_sra_p. |
| (sra_ipa_modify_expr): Rename argument erite to dont_convert and do |
| not convert types if it is true. |
| (sra_ipa_modify_assign): Convert types in case of mismatch. |
| |
| 2009-11-21 Kaushik Phatak <kaushik.phatak@kpitcummins.com> |
| |
| * config/sh/sh.md (cmpeqsi_t-1): Use logical_operand predicate |
| for operand 1. |
| |
| 2009-11-21 Adam Nemet <adambnemet@gmail.com> |
| |
| * config/mips/mips-protos.h (mulsidi3_gen_fn): New typedef. |
| (mips_mulsidi3_gen_fn): Declare new function. |
| * config/mips/mips.c (mips_mulsidi3_gen_fn): New function. |
| * config/mips/mips.md (<u>mulsidi3): Change condition to use |
| mips_mulsidi3_gen_fn. Use mips_mulsidi3_gen_fn to generate the insn. |
| (<u>mulsidi3_64bit): Don't match for ISA_HAS_DMUL3. |
| (mulsidi3_64bit_dmul): New define_insn. |
| |
| 2009-11-21 Ben Elliston <bje@au.ibm.com> |
| |
| * gengtype-lex.l: Enable noinput flex option. |
| (YY_NO_INPUT): Remove define. |
| |
| 2009-11-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tree-ssa.c (find_released_ssa_name): Handle NULL wi. |
| (insert_debug_temp_for_var_def): Handle degenerate PHI nodes. |
| (insert_debug_temps_for_defs): Handle PHI nodes. |
| * tree-ssa-dom.c (degenerate_phi_result): Don't crash on released |
| SSA names. |
| |
| 2009-11-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tree-ssa-pre.c (remove_dead_inserted_code): Don't release_defs |
| after remove_phi_node. |
| |
| 2009-11-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR tree-optimization/42078 |
| * gimple.h (gimple_replace_lhs): New declaration. |
| * gimple.c (gimple_replace_lhs): New function. |
| * tree-ssa-math-opts.c (execute_cse_reciprocals): Call it before |
| modifying the call. |
| |
| 2009-11-20 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * config/i386/sse.md (*xop_pmacsdql_mem): Don't call reg_mentioned_p. |
| (xop_mulv2div2di3_low): Same. |
| (*xop_pmacsdqh_mem): Same. |
| |
| 2009-11-20 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-builtin-types.awk: New file. |
| * config/i386/i386-builtin-types.def: New file. |
| * config/i386/t-i386: Use them to build i386-builtin-types.inc. |
| * config/i386/i386.c: Include it. |
| (ix86_builtin_type_tab, ix86_get_builtin_type): New. |
| (ix86_builtin_func_type_tab, ix86_get_builtin_func_type): New. |
| (struct builtin_isa): Remove GTY marker. Replace tree type with |
| ix86_builtin_func_type; add set_and_not_built_p. |
| (def_builtin): Change type parameter to tcode; use |
| ix86_get_builtin_func_type; update all callers. Accept zero mask |
| to mean the builtin is unconditionally available. |
| (ix86_add_new_builtins): Use set_and_not_built_p instead of type |
| being set to NULL. |
| (enum ix86_special_builtin_type, enum ix86_builtin_type): Remove. |
| Update some users to rationalized enumeration codes from new include. |
| (enum multi_arg_type): Remove. Replace all enumeration values |
| with defines to new ix86_builtin_func_type. |
| (ix86_init_mmx_sse_builtins): Don't build any types here. Defer |
| all type resolution to def_builtin. |
| (ix86_init_builtin_types): Split out from ... |
| (ix86_init_builtins): ... here. Use ix86_get_builtin_func_type. |
| |
| 2009-11-20 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/41787 |
| * config/rs6000/rs6000.c (struct machine_function): Revert |
| 2009-10-23 change to set VRSAVE to non-0 if we use VSX. |
| (rs6000_expand_to_rtl_hook): Ditto. |
| (rs6000_check_vector_mode): Ditto. |
| (compute_vrsave_mask): Ditto. |
| |
| 2009-11-20 Paul Brook <paul@codesourcery.com> |
| |
| * doc/invoke.texi: Document ARM -mcpu=cortex-a5. |
| * config/arm/arm-cores.def: Add cortex-a5. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a5. |
| * config/arm/arm-tune.md: Regenerate. |
| |
| 2009-11-20 Olga Golovanevsky <olga@il.ibm.com> |
| |
| PR middle-end/39960 |
| * ipa-struct-reorg.c (find_pos_in_stmt): New parameter. |
| (ref_pos): New field in structure. |
| (insert_new_var_in_stmt): New function. |
| |
| |
| 2009-11-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config.gcc (alpha*-dec-osf[45]*): Set use_gcc_stdint. |
| * config/alpha/osf.h (SIG_ATOMIC_TYPE): Define. |
| (INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE): Define. |
| (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define. |
| (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE, |
| INT_LEAST64_TYPE): Define. |
| (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE, |
| UINT_LEAST64_TYPE): Define. |
| (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE, |
| INT_FAST64_TYPE): Define. |
| (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, |
| UINT_FAST64_TYPE): Define. |
| (INTPTR_TYPE, UINTPTR_TYPE): Define. |
| |
| 2009-11-20 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.h (ASM_OUTPUT_REG_PUSH): Handle STATIC_CHAIN_REGNUM |
| specially for Thumb-1. |
| (ASM_OUTPUT_REG_POP): Likewise. |
| |
| 2009-11-19 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (get_context_die): Take TYPE_MAIN_VARIANT. |
| |
| 2009-11-19 Basile Starynkevitch <basile@starynkevitch.net> |
| Rafael Avila de Espindola <espindola@google.com> |
| |
| * doc/plugins.texi (Plugin initialization): Added advices for |
| retrieving the version of GCC at plugin compilation and loading times. |
| |
| 2009-11-19 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * plugin.c (FMT_FOR_PLUGIN_EVENT): added definition. |
| (dump_active_plugins): output to file everything. Use |
| internationalized dump & FMT_FOR_PLUGIN_EVENT. |
| |
| 2009-11-19 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.c (canonicalize_cond_expr_cond): Strip conversions |
| around truth-valued expressions. |
| * tree.c (free_lang_data): Untangle check for LTO frontend. |
| |
| 2009-11-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.c (need_assembler_name_p): Use cgraph_get_node instead |
| of cgraph_node_for_decl. |
| * cgraph.h (cgraph_node_for_decl): Remove prototype. |
| * cgraph.c (cgraph_node_for_decl): Remove. |
| (cgraph_get_node): Just return NULL if !cgraph_hash. |
| |
| 2009-11-19 Paul Brook <paul@codesourcery.com> |
| |
| * config.gcc: Add new ARM --with-fpu options. |
| * doc/invoke.texi: Docuent ARM -mfpu=fpv4-sp-d16. |
| * config/arm/arm.c (all_fpus): Add fpv4-sp-d16. |
| |
| 2009-11-18 Richard Guenther <rguenther@suse.de> |
| |
| * gimple.h (union gimple_statement_d): Add gsmembase member. |
| (gimple_vuse_op): Use gsmembase for access. |
| (gimple_vdef_op): Likewise. |
| (gimple_vuse): Likewise. |
| (gimple_vdef): Likewise. |
| (gimple_vuse_ptr): Likewise. |
| (gimple_vdef_ptr): Likewise. |
| (gimple_set_vuse): Likewise. |
| (gimple_set_vdef): Likewise. |
| * gsstruct.def (GSS_WITH_MEM_OPS_BASE): Add. |
| |
| 2009-11-18 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * doc/arm-neon-intrinsics.texi: Regenerated. |
| |
| 2009-11-18 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/neon-docgen.ml (analyze_shape_elt): Handle alternatives. |
| |
| 2009-11-18 Paul Brook <paul@codesourcery.com> |
| Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/arm.c (FL_ARCH7EM, FL_FOR_ARCH7EM): Define. |
| (arm_arch7em): New variable. |
| (all_architectures): Add armv7e-m. |
| (arm_override_options): Set arm_arch7em. |
| * config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): |
| Include arm_arch7em. |
| (arm_arch7em): Declare. |
| |
| 2009-11-18 Richard Guenther <rguenther@suse.de> |
| |
| * lto-streamer-in.c (input_gimple_stmt): Assert that we find |
| a valid field decl if checking is enabled. |
| |
| 2009-11-18 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (struct ipa_param_call_note): New field lto_stmt_uid. |
| (lto_ipa_fixup_call_notes): Declare. |
| * ipa-prop.c (ipa_note_param_call): Store gimple uid. |
| (update_call_notes_after_inlining): Copy call stmt uid to the new |
| edge. |
| (ipa_write_param_call_note): New function. |
| (ipa_read_param_call_note): New function |
| (ipa_write_node_info): Write also param call notes. Removed a bogus |
| comment, reformatted to fit 80 columns. |
| (ipa_read_node_info): Read also param call notes. Removed a bogus |
| comment. Remove ipa_edge_args_vector growth. |
| (lto_ipa_fixup_call_notes): New function. |
| * ipa-cp.c (pass_ipa_cp): Add stmt_fixup hook. |
| * ipa-inline.c (cgraph_mark_inline_edge): Perform indirect |
| inlining regardless of flag_wpa. |
| (cgraph_decide_inlining_of_small_functions): Likewise. |
| (cgraph_decide_inlining): Likewise. |
| (inline_read_summary): Likewise. |
| |
| 2009-11-18 Jan Hubicka <jh@suse.cz> |
| |
| * predict.c (compute_function_frequency): Export. |
| * predict.h (compute_function_frequency): Declare. |
| * tree-optimize.c (execute_fixup_cfg): Rescale frequencies. |
| |
| 2009-11-18 Martin Jambor <mjambor@suse.cz> |
| |
| * passes.c (ipa_write_summaries): Call renumber_gimple_stmt_uids |
| on all nodes we write summaries for. |
| |
| 2009-11-18 Shujing Zhao <pearly.zhao@oracle.com> |
| |
| PR middle-end/22201 |
| * params.def (PARAM_INLINE_UNIT_GROWTH, PARAM_IPCP_UNIT_GROWTH) |
| (PARAM_EARLY_INLINING_INSNS, PARAM_IRA_MAX_LOOPS_NUM) |
| (PARAM_IRA_MAX_CONFLICT_TABLE_SIZE) |
| (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) |
| (PARAM_MIN_INSN_TO_PREFETCH_RATIO) |
| (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO) |
| (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Uppercase the first letter of the |
| description string. |
| |
| 2009-11-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (loc_list_from_tree): Don't call rtl_for_decl_location |
| unnecessarily. |
| (rtl_for_decl_location): Try harder to get a rtl for TREE_STATIC vars. |
| |
| PR c++/3187 |
| * cgraph.h (struct cgraph_node): Add same_body and same_body_alias |
| fields. |
| (cgraph_same_body_alias, cgraph_remove_same_body_alias): New |
| prototypes. |
| * cgraphunit.c (cgraph_expand_function, cgraph_emit_thunks, |
| cgraph_materialize_all_clones): Handle same_body aliases. |
| * cgraph.c (cgraph_allocate_node): New function. |
| (cgraph_create_node): Use it. |
| (cgraph_node_for_decl, cgraph_node, cgraph_get_node, |
| cgraph_node_for_asm, cgraph_remove_node): Handle same_body aliases. |
| (cgraph_same_body_alias, cgraph_remove_same_body_alias): New |
| functions. |
| * lto-cgraph.c (lto_output_node): Stream out same_body aliases. |
| (input_node): Stream in same_body aliases. |
| * lto-symtab.c (lto_cgraph_replace_node): Clear node pointers |
| for same_body aliases. |
| (lto_symtab_merge_cgraph_nodes_1): Handle same_body aliases. |
| |
| 2009-11-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> |
| |
| PR other/39888 |
| * config/darwin.h: Use the extension stub libraries to access |
| current libgcc_s features. |
| |
| 2009-11-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/41926 |
| * tree-vect-loop.c (vect_loop_kill_debug_uses): New. |
| (vect_transform_loop): Call it. |
| |
| 2009-11-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tree-ssa.c (insert_debug_temp_for_var_def): Fix handling of |
| released SSA names. |
| |
| 2009-11-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/41888 |
| PR debug/41886 |
| * graphite-scop-detection.c (stmt_simple_for_scop_p): Debug stmts |
| are ok. |
| * graphite-sese-to-poly.c (graphite_stmt_p): Likewise. |
| (try_generate_gimple_bb): Skip debug stmts when finding data refs. |
| * sese.c (sese_build_liveouts_bb): Skip debug stmts. |
| (sese_bad_liveouts_use): New. |
| (sese_reset_debug_liveouts_bb): New. |
| (sese_build_liveouts): Use it. |
| (rename_variables_in_stmt): Reset debug stmts rather than creating |
| new vars for them. |
| (expand_scalar_variable_stmt): Likewise. |
| |
| 2009-11-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| * df-scan.c (df_ref_create): Don't mark BB as dirty on debug insns. |
| (df_ref_remove): Likewise. |
| |
| 2009-11-17 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-struct-reorg.c (update_cgraph_with_malloc_call): Fix profile |
| info. |
| |
| 2009-11-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * toplev.c (process_options): Remove dead code. |
| * doc/invoke.texi (-frename-registers): Mention -fpeel-loops. |
| |
| 2009-11-17 Rafael Avila de Espindola <espindola@google.com> |
| |
| * lto-symtab.c (lto_symtab_resolve_symbols): Always initialize the |
| nodes. |
| |
| 2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR tree-optimization/41857 |
| * tree-ssa-address.c (move_hint_to_base): Use void pointer to |
| TYPE's address space instead of pointer to TYPE. |
| |
| 2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * reload.c (find_reloads_address): Fix typo. |
| |
| 2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC |
| registers in leaf functions if possible. |
| |
| 2009-11-17 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * config/m68k/m68k-devices.def: Add MCF5441x family. |
| |
| 2009-11-17 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not access |
| removed node. |
| * cgraphunit.c (verify_cgraph_node): Verify frequencies for match. |
| |
| 2009-11-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (x86_64_szext_general_operand): Do not |
| nest ior expressions. |
| (x86_64_szext_nonmemory_operand): Ditto. |
| (call_insn_operand): Ditto. |
| |
| 2009-11-16 Alexandre Oliva <aoliva@redhat.com> |
| |
| * stmt.c (expand_asm_stmt): Get locus from stmt. |
| |
| 2009-11-16 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tree-cfg.c (gimple_redirect_edge_and_branch) <case GIMPLE_ASM>: |
| Create the decl label for the new dest block on demand. Require |
| a fallthrough edge if no asm labels were redirected. |
| |
| 2009-11-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (cbranchsi4): Use nonimmediate_operand for |
| operand 1 predicate. |
| (cstoresi4): Ditto for operand 2. |
| (cbranch<mode>4): Macroize expander from cbranch{qi,hi,si,di,ti}4 |
| patterns using SDWIM mode iterator. |
| (cstore<mode>4): Macroize expander from cstore{qi,hi,si,di}4 patterns |
| using SWIM mode iterator. |
| (cmpdi_1): Rename from cmpdi_1_rex64. |
| (cmp<mode>_1): Macroize expander from cmp{si,di}_1 patterns using |
| SWI48 mode iterator. |
| (*cmp<mode>_1): Macroize insn from *cmp{qi,hi,si,di}_1_insn patterns |
| using SWI mode iterator. |
| (*cmp<mode>_ccno_1): Ditto from *cmp{qi,hi,si,di}_ccno_1. |
| (*cmp<mode>_minus_1): Ditto from *cmp{qi,hi,si,di}_minus_1. |
| (*cmpqi_ext_3_insn): Make private. |
| (*cmpqi_ext_3_insn_rex64): Make private. |
| (cmpstrnsi): Update for renamed cmpdi_1_rex64. |
| * config/i386/predicates.md (cmpsi_operand): Remove. |
| |
| 2009-11-16 Paul Brook <paul@codesourcery.com> |
| |
| * doc/invoke.texi: Document ARM VFPv4 based FPUs. |
| * config/arm/arm.c (all_fpus): Add VFPv4 entries. |
| |
| 2009-11-14 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper |
| ENTRY_BLOCK_PTR. |
| * cgraph.c (cgraph_clone_edge): Avoid freq_scale 0 to completely |
| zero out all callees. |
| * cgraphunit.c (verify_cgraph_node): Verify cgraph nodes for |
| frequency and count match. |
| * ipa-inline.c (update_noncloned_frequencies): New function. |
| (cgraph_clone_inlined_nodes): Use it. |
| * tree-inline.c (copy_bb): Fix frequency scaling; output |
| diagnostic on frequency mismatches to dump file. |
| (initialize_cfun): Do not scale frequency; fix count scaling; |
| initialize entry and exit block frequencies; copy profile info. |
| (copy_cfg_body): Use frequency_scale as argument; fix count scaling. |
| (copy_body): Use frequency_scale as argument. |
| (expand_call_inline): Compute frequency scale and output diagnostic |
| to dump file. |
| (delete_unreachable_blocks_update_callgrah): Remove checking that |
| has to be done after edge redirection. |
| (tree_function_versioning): Update initialize_cfun and copy_body call. |
| |
| 2009-11-14 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.c (cgraph_release_function_body): Update use of |
| ipa_transforms_to_apply. |
| (cgraph_remove_node): Remove ipa_transforms_to_apply. |
| * cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply. |
| * cgraphunit.c (save_inline_function_body): Clear ipa_transforms for |
| copied body. |
| (cgraph_materialize_clone): Remove original if dead. |
| * lto-streamer-in.c (lto_read_body): Remove FIXME and |
| ipa_transforms_to_apply hack. |
| * function.h (struct function): Add ipa_transforms_to_apply. |
| * ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals. |
| * tree-inline.c (copy_bb): Update sanity check. |
| (initialize_cfun): Do not copy ipa_transforms_to_apply. |
| (expand_call_inline): remove dead clone originals. |
| (tree_function_versioning): Merge transformation queues. |
| * passes.c (add_ipa_transform_pass): Remove. |
| (execute_one_ipa_transform_pass): Update ipa_transforms_to_apply |
| tracking. |
| (execute_all_ipa_transforms): Update. |
| (execute_one_pass): Update. |
| |
| 2009-11-14 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| PR target/21078, 21080 |
| * config/avr/avr.c (avr_return_addr_rtx): New function for |
| builtin_return_address. |
| (expand_prologue): Calculate stack usage. |
| (avr_asm_function_end_prologue): Output stack size and offset label. |
| * config/avr/avr.h (RETURN_ADDR_RTX): Replace. |
| (machine_function): Add stack_usage. |
| * config/avr/avr-protos.h (avr_return_addr_rtx): New function. |
| |
| 2009-11-14 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/iq2000/iq2000.c (iq2000_function_value): Make static, add |
| new 'outgoing' argument. |
| (iq2000_libcall_value, iq2000_function_value_regno_p): New functions. |
| (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. |
| * config/iq2000/iq2000.h (FUNCTION_VALUE_REGNO_P): Redefine, use |
| iq2000_function_value_regno_p. |
| (FUNCTION_VALUE, LIBCALL_VALUE): Remove. |
| * config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p): |
| Declare. |
| |
| 2009-11-14 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/42031 |
| * arm.md (adddi_sesidi_di): Place tied contraint first. |
| (adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise |
| (subdi_zesidi_di, subdi_sesidi_di): Likewise. |
| (mulsi3_compare0, mulsi_compare0_scratch): Likewise. |
| (mulsi3addsi, mulsi3addsi_compare0): Likewise. |
| (mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise. |
| (umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise. |
| (anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise. |
| (andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise. |
| (arm_lshrdi3_1bit, one_cmpldi2): Likewise. |
| |
| 2009-11-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/predicates.md (call_register_no_elim_operand): |
| New predicate. Reject stack register as valid call operand |
| for 32bit targets. |
| (call_insn_operand): Use call_register_no_elim_operand. |
| |
| 2009-11-13 Richard Henderson <rth@redhat.com> |
| |
| * function.c (stack_protect_prologue): Don't bypass expand_expr |
| for stack_protect_guard and guard_decl. |
| (stack_protect_epilogue): Likewise. |
| |
| 2009-11-13 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (function_and_variable_visibility): Clear COMDAT on functions |
| when to PUBLIC is set. |
| |
| 2009-11-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/42029 |
| * gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on |
| tmp_load if needed. |
| |
| 2009-11-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/41900 |
| * config/i386/i386.md (*call_pop_1, *call_1, *call_value_pop_1, |
| *call_value_1): Use "lsm" as operand 1 constraint. |
| * config/i386/predicates.md (call_insn_operand): Depend on |
| index_register_operand to avoid %esp register. |
| |
| 2009-11-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert: |
| 2009-11-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/41900 |
| * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New. |
| (TARGET_CALL_ESP): New define. |
| * config/i386/i386.c (initial_ix86_tune_features): Initialize |
| X86_ARCH_CALL_ESP. |
| * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, |
| *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, |
| *call_1, *call_value_pop_1 and *call_value_1. Depend on |
| TARGET_CALL_ESP. |
| (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): |
| New patterns, use "lsm" as operand 1 constraint. |
| * config/i386/predicates.md (call_insn_operand): Depend on |
| index_register_operand for !TARGET_CALL_ESP to avoid %esp register. |
| |
| 2009-11-13 Jason Merrill <jason@redhat.com> |
| |
| PR debug/26965 |
| * dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT. |
| Don't emit a second declaration at any scope. |
| |
| 2009-11-13 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/41697 |
| * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with |
| a conditional jump has a single successor. |
| |
| 2009-11-13 Andrey Belevantsev <abel@ispras.ru> |
| |
| * sched-deps.c (init_deps): New parameter lazy_reg_last. Don't |
| allocate reg_last when in case lazy_reg_last is true. |
| (init_deps_reg_last): New. |
| (free_deps): When max_reg is 0, this context is already freed. |
| * sched-int.h (init_deps_reg_last): Export. |
| (init_deps): Update prototype. |
| * sched-ebb.c (schedule_ebb): Update the call to init_deps. |
| * sched-rgn.c (sched_rgn_compute_dependencies): Likewise. |
| * ddg.c (build_intra_loop_deps): Likewise. |
| * sel-sched-ir.c (copy_deps_context, create_deps_context, |
| reset_deps_context, deps_init_id): Likewise. |
| (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT. |
| (free_data_for_scheduled_insn): New, break down from ... |
| (free_first_time_insn_data): ... here. |
| (has_dependence_p): Allocate reg_last now, when it is needed. |
| (extend_insn_data): When maximal LUID is big enough, allocate |
| per-insn data in smaller chunks. |
| * sel-sched-ir.h (free_data_for_scheduled_insn): Export. |
| * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT |
| in scheduled insn. |
| |
| 2009-11-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (call_value): Fix comment. |
| (sibcall_value): Ditto. |
| |
| 2009-11-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/linux-unwind.h (x86_frob_update_context): New function. |
| (MD_FROB_UPDATE_CONTEXT): Define. |
| |
| 2009-11-12 Eric Botcazou <ebotcazou@adacore.com> |
| Laurent GUERBY <laurent@guerby.net> |
| |
| * config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy. |
| Do not schedule an %sp restore. Compensate for RETURN_ADDR_OFFSET. |
| (sparc_fallback_frame_state): Tidy. Compensate for RETURN_ADDR_OFFSET. |
| |
| 2009-11-12 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (function_and_variable_visibility): Fix my accidentail commit |
| and clear DECL_COMMON on localized declarations. |
| |
| 2009-11-12 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR rtl-opt/38582 |
| * regrename.c (struct du_head): New structure; some elements moved |
| from... |
| (struct du_chain): ... this one. |
| (open_chains, closed_chains): Now of type struct du_head *. |
| (do_replace): Accept du_head argument, not du_chain. All callers |
| changed. Modified code to match new data structures. |
| (build_def_use): Return a list of du_head structures. Modified code |
| to match new data structures. |
| (dump_def_use_chain): Accept du_head argument, not du_chain. All |
| callers changed. Modified code to match new data structures. |
| (merge_overlapping_regs): Accept du_head argument, not du_chain. All |
| callers changed. Modified code to match new data structures. |
| (scan_rtx_reg): Change type of this_regno and this_nregs to unsigned. |
| Allocate a du_head structure as well as a du_chain when creating a |
| new chain. Modified other code to match new data structures. |
| |
| 2009-11-12 Jan Hubicka <jh@suse.cz> |
| |
| * cgraph.h (varpool_node_name): Declare. |
| * cgraphunit.c (process_function_and_variable_attributes): Set |
| force_output flag on used variables. |
| * ipa.c (function_and_variable_visibility): Dump externally visible |
| and needed variables. |
| * varpool.c (varpool_node_name): Export. |
| (decide_is_variable_needed): Check COMDAT for externally visible vars; |
| ignore needed flag. |
| |
| 2009-11-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/41930 |
| * simplify-rtx.c (simplify_replace_fn_rtx) <case 'e'>: Skip |
| processing if XEXP (x, i) is NULL. |
| |
| 2009-11-12 Jan Hubicka <jh@suse.cz> |
| |
| * ipa.c (function_and_variable_visibility): Verify that WEAK || COMMON |
| imply PUBLIC || EXTERNAL. |
| |
| 2009-11-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> |
| |
| PR middle-end/41440 |
| * cfgexpand.c (expand_gimple_basic_block): Append NOP to a fallthru, |
| single successor block, ending with jump created by RTL expander. |
| |
| 2009-11-11 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/41729 |
| * ipa.c (function_and_variable_visibility): Do not privatize COMDAT |
| and WEAK variables at -fwhole-program. |
| |
| PR middle-end/41735 |
| * ipa.c (whole_program_function_and_variable_visility): COMDAT |
| functions/variables are not needed even if they are externally visible. |
| |
| 2009-11-11 Jan Hubicka <jh@suse.cz> |
| |
| (patch by Richard Guenther) |
| * lto-streamer-out.c (output_function): Output head of argument list |
| earlier. |
| * lto-streamer-in.c (input_function): Re-map arguments into merged |
| declaration. |
| |
| 2009-11-11 Jan Hubicka <jh@suse.cz> |
| |
| * lto-cgraph.c: Include gcov-io.h |
| (output_profile_summary): New function. |
| (output_cgraph): Use it. |
| (input_profile_summary): New function. |
| (input_cgraph): Use it. |
| * coverage.c (build_ctr_info_value): Use varpool; initalize |
| DECL_ASSEMBLER_NAME. |
| (create_coverage): Likewise. |
| * tree-profile.c (tree_init_ic_make_global_vars): Likewise. |
| (tree_init_edge_profiler): Likewise. |
| * Makefile.in (lto-cgraph.o): Add dependency on gcov-io.h. |
| |
| 2009-11-11 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. |
| * c-pragma.c (def_pragma_macro_value): Likewise. |
| (def_pragma_macro): Likewise. |
| (pushed_macro_table): Likewise. |
| (HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded code. |
| * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. |
| |
| 2009-11-11 Basile Starynkevitch <basile@starynkevitch.net> |
| |
| * doc/plugins.texi (Registering custom attributes): section |
| renamed as (Registering custom attributes or pragmas). |
| Mentions custom attributes & pragmas, and c_register_pragma, with |
| a small example. |
| * doc/cpp.texi (Pragmas): Mentions that plugins can provide their |
| pragmas. |
| * doc/extend.texi (Function Attributes): Mentions that plugin can |
| provide their attributes. |
| |
| 2009-11-11 Jon Beniston <jon@beniston.com> |
| |
| * config.gcc: Add lm32 elf and uclinux targets. |
| * config/lm32: New directory. |
| * config/lm32/lm32.c: New file. |
| * config/lm32/lm32.h: New file. |
| * config/lm32/lm32.md: New file. |
| * config/lm32/lm32.opt: New file. |
| * config/lm32/lm32-protos.h: New file. |
| * config/lm32/constraints.md: New file. |
| * config/lm32/predicates.md: New file. |
| * config/lm32/sfp-machine.h: New file. |
| * config/lm32/t-fprules-softfp: New file. |
| * config/lm32/uclinux-elf.h: New file. |
| * doc/invoke.texi: Document lm32 options. |
| * doc/contrib.texi: Document lm32 porter. |
| * doc/install.texi: Document lm32 targets. |
| |
| 2009-11-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/41932 |
| * ipa-prop.c (ipa_update_after_lto_read): Call |
| ipa_check_create_node_params and ipa_check_create_edge_args. Also |
| call ipa_initialize_node_params instead of ipa_populate_param_decls. |
| |
| 2009-11-11 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/arm.c (neon_vdup_constant, neon_make_constant): New. |
| (neon_expand_vector_init): Use them. Also handle non-constant |
| vectors with identical elements and vectors with only one |
| non-constant element. |
| (arm_print_operand): Handle 'y' modifier. |
| * config/arm/arm-protos.h (neon_make_constant): Declare. |
| * config/arm/neon.md (neon_vdup_n<mode>): Split into two |
| patterns. Use VX instead of VDQW for the first one. Allow |
| a VFP alternative and V32 modes for the second one. |
| * config/arm/neon.ml (shape_elt): Add Alternatives. |
| (ops): Use Alternatives for vdup lane instructions. |
| * config/arm/neon-testgen.ml (analyze_shape): Handle Alternatives. |
| * config/arm/vec-common.md (mov<mode>): Use neon_make_constant. |
| |
| 2009-11-11 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/neon.md (*neon_mov<mode>): Reject two non-register |
| operands. |
| (movti, mov<mode>): Call force_reg on one operand if required. |
| * config/arm/vec-common.md (mov<mode>): Likewise. |
| |
| 2009-11-11 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/arm.c (arm_override_options): Enable scheduling for |
| Thumb-2. |
| |
| 2009-11-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/10127 |
| PR ada/20548 |
| * expr.h (anti_adjust_stack_and_probe): Declare. |
| * explow.c (anti_adjust_stack_and_probe): Make global, add ADJUST_BACK |
| parameter and rewrite head comment. |
| (allocate_dynamic_stack_space): Adjust call to above function. |
| * function.c (expand_function_end): Handle STACK_CHECK_MOVING_SP. |
| |
| * tree.h (dwarf2out_args_size): Delete. |
| * dwarf2out.c (dwarf2out_args_size): Make static and move around. |
| (dwarf2out_args_size_adjust): Delete prototype and move around. |
| (dwarf2out_frame_debug_expr): Do not record arg size adjustments for |
| ACCUMULATE_OUTGOING_ARGS targets. |
| |
| 2009-11-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (print_operand) <')'>: Test for a non-null |
| DECL_SIZE of DECL_RESULT before evaluating it. |
| |
| 2009-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR tree-optimization/41987 |
| * fold-const.c (const_binop): Avoid using fold_buildN(). |
| |
| 2009-11-10 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field. |
| (execute_all_ipa_stmt_fixups): Declare. |
| * ipa-cp.c (pass_ipa_cp): Added stmt_fixup value. |
| * ipa-inline.c (pass_ipa_inline): Likewise. |
| * ipa-pure-const.c (pass_ipa_pure_cons): Likewise. |
| * ipa-reference.c (pass_ipa_reference): Likewise. |
| * ipa.c (pass_ipa_whole_program_visibility): Likewise. |
| * lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise. |
| (pass_ipa_lto_finish_out): Likewise. |
| * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise. |
| * passes.c (execute_ipa_stmt_fixups): New function. |
| (execute_all_ipa_stmt_fixups): New function. |
| * lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups. |
| |
| 2009-11-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/20548 |
| * explow.c (probe_stack_range): Fix typo. |
| * config/sparc/sparc.md (probe_stack): New expander. |
| |
| 2009-11-09 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin. |
| |
| 2009-11-09 Jason Merrill <jason@redhat.com> |
| |
| * gdbinit.in (pgq): New function for printing gimple sequence. |
| |
| 2009-11-09 Paul Brook <paul@codesourcery.com> |
| Daniel Jacobowitz <dan@codesourcery.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Half-Precision): Update wording to reflect |
| that there are now multiple -mfpu options that enable fp16 |
| hardware support. |
| * doc/invoke.texi: Update list of ARM -mfpu= options. |
| * config.gcc: Update ARM --with-fpu option list. |
| * config/arm/arm.c (all_fpus): Add vfpv3-fp16, vfpv3-d16-fp16, |
| vfpv3xd and vfpv3xd-fp16. |
| (use_vfp_abi): New function. |
| (aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs |
| when undesirable. |
| (aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate, |
| aapcs_vfp_allocate_return_reg): Use use_vfp_abi. |
| (arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs, |
| arm_9e_rtx_costs): Only expect double-precision operations if the FPU |
| provides them. |
| (coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no |
| NEON. |
| (arm_print_operand): Handle 'p' modifier. |
| (arm_hard_regno_mode_ok): : Allow HFmode in VFP registers if |
| TARGET_FP16. |
| * config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define. |
| (TARGET_FP16): Define. |
| * config/arm/vfp.md: Disable double-precision patterns if the FPU |
| does not provide them. |
| (arm_movdi_vfp, thumb2_movdi_vfp): Use fcpys to move |
| double-precision values on a single-precision FPU. |
| (movdf_vfp, thumb2_movdf_vfp): Likewise. Use "Dy" for |
| double-precision constants. |
| (movhf_vfp_neon): New pattern (was movhf_vfp). |
| (movhf_vfp): Remove NEON instructions. |
| * config/arm/constraints.md: Add new "Dy" constraint for |
| double-precision constants. Update description of "Dv". |
| * config/arm/arm.md: Disable double-precision patterns if the FPU |
| does not provide them |
| |
| 2009-11-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (print_operand) <case 'D'>: Fix formatting. |
| (print_operand) <case 'Y'>: Likewise. Fix a pasto in operand lossage |
| diagnostics. |
| |
| 2009-11-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * collect2.c (main): Search PLUGIN_LD for plugin linker. |
| |
| * configure.ac (--with-plugin-ld): New. Default to ld. |
| * configure: Regenerated. |
| * config.in: Likewise. |
| |
| * exec-tool.in (ORIGINAL_PLUGIN_LD_FOR_TARGET): New. |
| (collect-ld): Use ORIGINAL_PLUGIN_LD_FOR_TARGET for -plugin. |
| |
| 2009-11-08 Jonathan Gray <jsg@openbsd.org> |
| |
| * config/openbsd-stdint.h: Change to reflect what |
| c_common_nodes_and_builtins expects. |
| |
| 2009-11-08 Paolo Carlini <paolo.carlini@oracle.com> |
| |
| * builtins.c (apply_args_reg_offset): Remove commented out delaration. |
| |
| 2009-11-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/41985 |
| * config/i386/i386.c (get_some_local_dynamic_name): Don't assert |
| function contains at least one local dynamic name. |
| (print_operand) <case '&'>: Instead output operand lossage diagnostics |
| here if that happens. |
| |
| 2009-11-08 Zbigniew Chamski <zbigniew.chamski@gmail.com> |
| Joern Rennecke <amylaar@spamcop.net> |
| |
| * cfgrtl.c (pass_free_cfg): Add pass name. |
| * cgraphbuild.c (pass_build_cgraph_edges): Likewise. |
| (pass_rebuild_cgraph_edges, pass_remove_cgraph_callee_edges): Likewise. |
| * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Change pass name. |
| * df-core.c (pass_df_initialize_no_opt): Likewise. |
| * except.c (pass_rtl_eh): Likewise. |
| * function.c (pass_init_function, pass_leaf_regs): Likewise. |
| * gcse.c (pass_rtl_pre): Change pass name. |
| * passes.c (pass_postreload): Add pass name. |
| (make_pass_instance): Don't use duplicate-tracking logic for |
| names starting with '*'. |
| (next_pass_1): Assert that pass has a name. |
| (register_one_dump_file): If there is an space in the name, |
| skip past it. |
| * predict.c (pass_strip_predict_hints): Add pass name. |
| * reg-stack.c (pass_stack_regs): Likewise. |
| * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise. |
| * tree-cfg.c (pass_warn_function_return, |
| pass_warn_function_noreturn): Add pass name. |
| * tree-dfa.c (pass_referenced_vars): Likewise. |
| * tree-optimize.c (pass_cleanup_cfg_post_optimizing): |
| Fix whitespace before comment. |
| (pass_fixup_cfg): Add pass name, fix whitespace before comment. |
| (pass_init_datastructures): Add pass name. |
| * tree-ssa-loop.c (pass_record_bounds): Likewise. |
| * tree-ssa.c (pass_early_warn_uninitialized, |
| pass_late_warn_uninitialized): Likewise. |
| * tree.c (pass_ipa_free_lang_data): Likewise. |
| * doc/passes.texi (pass manager): Document how to disambiguate |
| pass names. |
| |
| 2009-11-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| * df-problems.c: Fix documentation for forward simulation of LR. |
| (df_simulate_one_insn_forwards): Use df_simulate_find_defs. |
| (df_simulate_finalize_forwards): Remove. |
| * df.h (df_simulate_finalize_forwards): Remove. |
| |
| 2009-11-08 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (build_succ_graph): Properly make |
| variables escape if they are stored to anything. |
| |
| 2009-11-08 Richard Guenther <rguenther@suse.de> |
| |
| PR rtl-optimization/41928 |
| * loop-invariant.c (free_loop_data): If we didn't allocate |
| loop data do not try to free it. |
| |
| 2009-11-07 Jason Merrill <jason@redhat.com> |
| |
| * tree.c (reconstruct_complex_type): Preserve attributes. |
| |
| 2009-11-07 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (build_succ_graph): Feed stores |
| to anything only to variables that can take pointers. |
| (get_constraint_for_ssa_var): Properly exclude full |
| variables from expanding. |
| (first_vi_for_offset): Avoid overflow in arithmetic. |
| (first_or_preceding_vi_for_offset): Likewise. |
| (count_num_arguments): Fix implementation. |
| (gate_ipa_pta): Do not run when not optimizing. |
| |
| 2009-11-07 David Binderman <dcb314@hotmail.com> |
| |
| * builtins.c (apply_args_size, expand_builtin_mathfn, expand_powi, |
| expand_builtin_expect, maybe_emit_sprintf_chk_warning): Remove some |
| set but not used variables. |
| (apply_args_reg_offset): Comment out as unused. |
| * calls.c (flags_from_decl_or_type): Likewise. |
| * genautomata.c (check_regexp_units_distribution): Likewise. |
| |
| 2009-11-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (xop_pmacsww, xop_pmacssww, xop_pmacsdd, |
| xop_pmacssdd, xop_pmacssdql, xop_pmacssdqh, xop_pmacsdql, |
| *xop_pmacsdql_mem, xop_pmacsdqh, *xop_pmacsdqh_mem, xop_pmacsswd, |
| xop_pmacswd, xop_pmadcsswd, xop_pmadcswd, xop_pcmov_<mode>, |
| xop_pcmov_<mode>256, xop_pperm, xop_pperm_pack_v2di_v4si, |
| xop_pperm_pack_v4si_v8hi, xop_pperm_pack_v8hi_v16qi): Compress |
| operand alternatives. |
| |
| 2009-11-06 Michael Matz <matz@suse.de> |
| |
| PR middle-end/41963 |
| * tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses |
| of a potential reciprocal to really be reciprocals. |
| |
| 2009-11-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/x86intrin.h: Include fma4intrin.h, xopintrin.h and |
| lwpintrin.h after immintrin.h. |
| * config/i386/fma4intrin.h (__v8sf, __v4df, __m256, __m256d): Remove |
| typedefs. |
| |
| PR middle-end/41935 |
| * c-common.c (fold_offsetof_1) <case ARRAY_REF>: Don't crash for VLAs |
| or non-constant index, allow index one past the last element and |
| allow exceeding array bound in arrays that might be used as flexible |
| array members. |
| |
| 2009-11-05 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/ia32intrin.h: Protect CRC32 builtins with __SSE4_2__. |
| |
| 2009-11-05 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove. |
| (arm_fpu_desc): New. |
| (all_fpus): Add FPU details. |
| (fp_model_for_fpu): Remove. |
| (arm_override_options): Set and use arm_fpu_desc and arm_fpu_attr. |
| (arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2. |
| (arm_file_start): Use arm_fpu_desc. |
| * config/arm/arm.h (TARGET_FPA, TARGET_MAVERICK, TARGET_VFP, |
| TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16, TARGET_NEON): Use |
| arm_fpu_desc. |
| (TARGET_FPA_EMU2): Define. |
| (arm_fp_model, fputype, arm_fpu_tune): Remove. |
| (vfp_reg_type, arm_fpu_desc): New. |
| * config/arm/arm.md (attr fpu): Simplify. |
| * config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2. |
| * config/arm/linux-elf.h (FPUTYPE_DEFAULT): Use string value. |
| * config/arm/bpabi.h (FPUTYPE_DEFAULT): Use string value. |
| * config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Use string value. |
| * config/arm/vxworks.h (FPUTYPE_DEFAULT): Use string value. |
| |
| 2009-11-05 Michael Matz <matz@suse.de> |
| |
| * config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency |
| on TARGET_RECIP. |
| * doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip |
| for 1/sqrtf. |
| |
| 2009-11-04 Jason Merrill <jason@redhat.com> |
| |
| PR c++/36912 |
| * varasm.c (initializer_constant_valid_p): A PLUS_EXPR |
| or MINUS_EXPR of REAL_TYPE is not a valid constant initializer. |
| (output_constant): Avoid crash after error. |
| |
| 2009-11-05 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (struct access): Changed comment of next_sibling field. |
| (analyze_modified_params): Loop over accesses of a group rather than |
| over all with the ame base, pass a common bitmap to |
| walk_aliased_vdefs. |
| (unmodified_by_ref_scalar_representative): Build link lists of |
| accesses of a group. |
| (splice_param_accesses): Likewise. |
| |
| 2009-11-04 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * df-scan.c (df-uses-record): Add case zero_extract of mem. |
| |
| 2009-11-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/10127 |
| PR ada/20548 |
| * config/i386/i386.md (probe_stack): New expander. |
| (logical operation peepholes): Do not split stack checking probes. |
| |
| 2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com> |
| Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
| |
| * doc/invoke.texi (-mlwp): Add documentation. |
| * doc/extend.texi (x86 intrinsics): Add LWP intrinsics. |
| * config.gcc (i[34567]86-*-*): Include lwpintrin.h. |
| (x86_64-*-*): Ditto. |
| * config/i386/lwpintrin.h: New file, provide x86 compiler |
| intrinisics for LWP. |
| * config/i386/cpuid.h (bit_LWP): Define LWP bit. |
| * config/i386/x86intrin.h: Add LWP check and lwpintrin.h. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Check |
| ISA_FLAG for LWP. |
| * config/i386/i386.h (TARGET_LWP): New macro for LWP. |
| * config/i386/i386.opt (-mlwp): New switch for LWP support. |
| * config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New. |
| (OPTION_MASK_ISA_LWP_UNSET): New. |
| (ix86_handle_option): Handle -mlwp. |
| (isa_opts): Handle -mlwp. |
| (enum pta_flags): Add PTA_LWP. |
| (override_options): Add LWP support. |
| (IX86_BUILTIN_LLWPCB16): New for LWP intrinsic. |
| (IX86_BUILTIN_LLWPCB32): Ditto. |
| (IX86_BUILTIN_LLWPCB64): Ditto. |
| (IX86_BUILTIN_SLWPCB16): Ditto. |
| (IX86_BUILTIN_SLWPCB32): Ditto. |
| (IX86_BUILTIN_SLWPCB64): Ditto. |
| (IX86_BUILTIN_LWPVAL16): Ditto. |
| (IX86_BUILTIN_LWPVAL32): Ditto. |
| (IX86_BUILTIN_LWPVAL64): Ditto. |
| (IX86_BUILTIN_LWPINS16): Ditto. |
| (IX86_BUILTIN_LWPINS32): Ditto. |
| (IX86_BUILTIN_LWPINS64): Ditto. |
| (enum ix86_special_builtin_type): Add LWP intrinsic support. |
| (builtin_description): Ditto. |
| (ix86_init_mmx_sse_builtins): Ditto. |
| (ix86_expand_special_args_builtin): Ditto. |
| * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC for |
| LWP support. |
| (UNSPEC_SLWP_INTRINSIC): Ditto. |
| (UNSPECV_LWPVAL_INTRINSIC): Ditto. |
| (UNSPECV_LWPINS_INTRINSIC): Ditto. |
| (lwp_llwpcbhi1): New lwp pattern. |
| (lwp_llwpcbsi1): Ditto. |
| (lwp_llwpcbdi1): Ditto. |
| (lwp_slwpcbhi1): Ditto. |
| (lwp_slwpcbsi1): Ditto. |
| (lwp_slwpcbdi1): Ditto. |
| (lwp_lwpvalhi3): Ditto. |
| (lwp_lwpvalsi3): Ditto. |
| (lwp_lwpvaldi3): Ditto. |
| (lwp_lwpinshi3): Ditto. |
| (lwp_lwpinssi3): Ditto. |
| (lwp_lwpinsdi3): Ditto. |
| |
| 2009-11-04 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> |
| |
| PR rtl-opt/41833 |
| * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of |
| a vec_duplicate. |
| |
| 2009-11-04 Richard Guenther <rguenther@suse.de> |
| Rafael Avila de Espindola <espindola@google.com> |
| |
| * gcc.c (process_command): Handle arguments name@offset. |
| |
| 2009-11-04 Harsha Jagasia <harsha.jagasia@amd.com> |
| Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
| |
| * config.gcc (i[34567]86-*-*): Include xopintrin.h. |
| (x86_64-*-*): Ditto. |
| * config/i386/xopintrin.h: New file, provide common x86 compiler |
| intrinisics for XOP. |
| * config/i386/cpuid.h (bit_XOP): Define XOP bit. |
| * config/i386/x86intrin.h: Add XOP check and xopintrin.h. |
| * config/i386/i386-c.c(ix86_target_macros_internal): Check |
| ISA_FLAG for XOP. |
| * config/i386/i386.h(TARGET_XOP): New macro for XOP. |
| * config/i386/i386.opt (-mxop): New switch for XOP support. |
| * config/i386/i386.md (UNSPEC_XOP_UNSIGNED_CMP) |
| (UNSPEC_XOP_TRUEFALSE) |
| (UNSPEC_XOP_PERMUTE) |
| (UNSPEC_FRCZ): Add new UNSPEC for XOP support. |
| (PPERM_*): New constants for vpperm instruction. |
| (xop_pcmov_<mode>): Add XOP conditional mov instructions. |
| * config/i386/i386.c (OPTION_MASK_ISA_XOP_SET): New. |
| (OPTION_MASK_ISA_XOP_UNSET): New. |
| (OPTION_MASK_ISA_XOP_UNSET): Change definition to depend on XOP. |
| (ix86_handle_option): Handle -mxop. |
| (isa_opts): Handle -mxop. |
| (enum pta_flags): Add PTA_XOP. |
| (override_options): Add XOP support. |
| (print_operand): Add code for XOP compare instructions. |
| (ix86_expand_sse_movcc): Extend for XOP conditional move instruction. |
| (ix86_expand_int_vcond): Extend for XOP compare instruction. |
| |
| (IX86_BUILTIN_VPCMOV): New for XOP intrinsic. |
| (IX86_BUILTIN_VPCMOV_V2DI): Ditto. |
| (IX86_BUILTIN_VPCMOV_V4SI): Ditto. |
| (IX86_BUILTIN_VPCMOV_V8HI): Ditto. |
| (IX86_BUILTIN_VPCMOV_V16QI): Ditto. |
| (IX86_BUILTIN_VPCMOV_V4SF): Ditto. |
| (IX86_BUILTIN_VPCMOV_V2DF): Ditto. |
| |
| (IX86_BUILTIN_VPCMOV256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V4DI256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V8SI256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V16HI256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V32QI256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V8SF256): Ditto. |
| (IX86_BUILTIN_VPCMOV_V4DF256): Ditto. |
| |
| (IX86_BUILTIN_VPPERM): Ditto. |
| |
| (IX86_BUILTIN_VPMACSSWW): Ditto. |
| (IX86_BUILTIN_VPMACSWW): Ditto. |
| (IX86_BUILTIN_VPMACSSWD): Ditto. |
| (IX86_BUILTIN_VPMACSWD): Ditto. |
| (IX86_BUILTIN_VPMACSSDD): Ditto. |
| (IX86_BUILTIN_VPMACSDD): Ditto. |
| (IX86_BUILTIN_VPMACSSDQL): Ditto. |
| (IX86_BUILTIN_VPMACSSDQH): Ditto. |
| (IX86_BUILTIN_VPMACSDQL): Ditto. |
| (IX86_BUILTIN_VPMACSDQH): Ditto. |
| (IX86_BUILTIN_VPMADCSSWD): Ditto. |
| (IX86_BUILTIN_VPMADCSWD): Ditto. |
| |
| (IX86_BUILTIN_VPHADDBW): Ditto. |
| (IX86_BUILTIN_VPHADDBD): Ditto. |
| (IX86_BUILTIN_VPHADDBQ): Ditto. |
| (IX86_BUILTIN_VPHADDWD): Ditto. |
| (IX86_BUILTIN_VPHADDWQ): Ditto. |
| (IX86_BUILTIN_VPHADDDQ): Ditto. |
| (IX86_BUILTIN_VPHADDUBW): Ditto. |
| (IX86_BUILTIN_VPHADDUBD): Ditto. |
| (IX86_BUILTIN_VPHADDUBQ): Ditto. |
| (IX86_BUILTIN_VPHADDUWD): Ditto. |
| (IX86_BUILTIN_VPHADDUWQ): Ditto. |
| (IX86_BUILTIN_VPHADDUDQ): Ditto. |
| (IX86_BUILTIN_VPHSUBBW): Ditto. |
| (IX86_BUILTIN_VPHSUBWD): Ditto. |
| (IX86_BUILTIN_VPHSUBDQ): Ditto. |
| |
| (IX86_BUILTIN_VPROTB): Ditto. |
| (IX86_BUILTIN_VPROTW): Ditto. |
| (IX86_BUILTIN_VPROTD): Ditto. |
| (IX86_BUILTIN_VPROTQ): Ditto. |
| (IX86_BUILTIN_VPROTB_IMM): Ditto. |
| (IX86_BUILTIN_VPROTW_IMM): Ditto. |
| (IX86_BUILTIN_VPROTD_IMM): Ditto. |
| (IX86_BUILTIN_VPROTQ_IMM): Ditto. |
| |
| (IX86_BUILTIN_VPSHLB): Ditto. |
| (IX86_BUILTIN_VPSHLW): Ditto. |
| (IX86_BUILTIN_VPSHLD): Ditto. |
| (IX86_BUILTIN_VPSHLQ): Ditto. |
| (IX86_BUILTIN_VPSHAB): Ditto. |
| (IX86_BUILTIN_VPSHAW): Ditto. |
| (IX86_BUILTIN_VPSHAD): Ditto. |
| (IX86_BUILTIN_VPSHAQ): Ditto. |
| |
| (IX86_BUILTIN_VFRCZSS): Ditto. |
| (IX86_BUILTIN_VFRCZSD): Ditto. |
| (IX86_BUILTIN_VFRCZPS): Ditto. |
| (IX86_BUILTIN_VFRCZPD): Ditto. |
| (IX86_BUILTIN_VFRCZPS256): Ditto. |
| (IX86_BUILTIN_VFRCZPD256): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQUB): Ditto. |
| (IX86_BUILTIN_VPCOMNEUB): Ditto. |
| (IX86_BUILTIN_VPCOMLTUB): Ditto. |
| (IX86_BUILTIN_VPCOMLEUB): Ditto. |
| (IX86_BUILTIN_VPCOMGTUB): Ditto. |
| (IX86_BUILTIN_VPCOMGEUB): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEUB): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEUB): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQUW): Ditto. |
| (IX86_BUILTIN_VPCOMNEUW): Ditto. |
| (IX86_BUILTIN_VPCOMLTUW): Ditto. |
| (IX86_BUILTIN_VPCOMLEUW): Ditto. |
| (IX86_BUILTIN_VPCOMGTUW): Ditto. |
| (IX86_BUILTIN_VPCOMGEUW): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEUW): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEUW): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQUD): Ditto. |
| (IX86_BUILTIN_VPCOMNEUD): Ditto. |
| (IX86_BUILTIN_VPCOMLTUD): Ditto. |
| (IX86_BUILTIN_VPCOMLEUD): Ditto. |
| (IX86_BUILTIN_VPCOMGTUD): Ditto. |
| (IX86_BUILTIN_VPCOMGEUD): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEUD): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEUD): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQUQ): Ditto. |
| (IX86_BUILTIN_VPCOMNEUQ): Ditto. |
| (IX86_BUILTIN_VPCOMLTUQ): Ditto. |
| (IX86_BUILTIN_VPCOMLEUQ): Ditto. |
| (IX86_BUILTIN_VPCOMGTUQ): Ditto. |
| (IX86_BUILTIN_VPCOMGEUQ): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEUQ): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEUQ): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQB): Ditto. |
| (IX86_BUILTIN_VPCOMNEB): Ditto. |
| (IX86_BUILTIN_VPCOMLTB): Ditto. |
| (IX86_BUILTIN_VPCOMLEB): Ditto. |
| (IX86_BUILTIN_VPCOMGTB): Ditto. |
| (IX86_BUILTIN_VPCOMGEB): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEB): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEB): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQW): Ditto. |
| (IX86_BUILTIN_VPCOMNEW): Ditto. |
| (IX86_BUILTIN_VPCOMLTW): Ditto. |
| (IX86_BUILTIN_VPCOMLEW): Ditto. |
| (IX86_BUILTIN_VPCOMGTW): Ditto. |
| (IX86_BUILTIN_VPCOMGEW): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEW): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEW): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQD): Ditto. |
| (IX86_BUILTIN_VPCOMNED): Ditto. |
| (IX86_BUILTIN_VPCOMLTD): Ditto. |
| (IX86_BUILTIN_VPCOMLED): Ditto. |
| (IX86_BUILTIN_VPCOMGTD): Ditto. |
| (IX86_BUILTIN_VPCOMGED): Ditto. |
| (IX86_BUILTIN_VPCOMFALSED): Ditto. |
| (IX86_BUILTIN_VPCOMTRUED): Ditto. |
| |
| (IX86_BUILTIN_VPCOMEQQ): Ditto. |
| (IX86_BUILTIN_VPCOMNEQ): Ditto. |
| (IX86_BUILTIN_VPCOMLTQ): Ditto. |
| (IX86_BUILTIN_VPCOMLEQ): Ditto. |
| (IX86_BUILTIN_VPCOMGTQ): Ditto. |
| (IX86_BUILTIN_VPCOMGEQ): Ditto. |
| (IX86_BUILTIN_VPCOMFALSEQ): Ditto. |
| (IX86_BUILTIN_VPCOMTRUEQ): Ditto. |
| |
| (enum multi_arg_type): New enum for describing the various XOP |
| intrinsic argument types. |
| (bdesc_multi_arg): New table for XOP intrinsics. |
| (ix86_init_mmx_sse_builtins): Add XOP intrinsic support. |
| (ix86_expand_multi_arg_builtin): New function for creating XOP |
| intrinsics. |
| |
| * config/i386/sse.md (sserotatemax): New mode attribute for XOP. |
| (xop_pmacsww): Ditto. |
| (xop_pmacssww): Ditto. |
| (xop_pmacsdd): Ditto. |
| (xop_pmacssdd): Ditto. |
| (xop_pmacssdql): Ditto. |
| (xop_pmacssdqh): Ditto. |
| (xop_pmacsdql): Ditto. |
| (xop_pmacsdql_mem): Ditto. |
| (xop_mulv2div2di3_low): Ditto. |
| (xop_pmacsdqh): Ditto. |
| (xop_pmacsdqh_mem): Ditto. |
| (xop_mulv2div2di3_high): Ditto. |
| (xop_pmacsswd): Ditto. |
| (xop_pmacswd): Ditto. |
| (xop_pmadcsswd): Ditto. |
| (xop_pmadcswd): Ditto. |
| (xop_pcmov_<mode>): Ditto. |
| (xop_pcmov_<mode>256): Ditto. |
| (xop_phaddbw): Ditto. |
| (xop_phaddbd): Ditto. |
| (xop_phaddbq): Ditto. |
| (xop_phaddwd): Ditto. |
| (xop_phaddwq): Ditto. |
| (xop_phadddq): Ditto. |
| (xop_phaddubw): Ditto. |
| (xop_phaddubd): Ditto. |
| (xop_phaddubq): Ditto. |
| (xop_phadduwd): Ditto. |
| (xop_phadduwq): Ditto. |
| (xop_phaddudq): Ditto. |
| (xop_phsubbw): Ditto. |
| (xop_phsubwd): Ditto. |
| (xop_phsubdq): Ditto. |
| (xop_pperm): Ditto. |
| (rotl<mode>3): Ditto. |
| (rotr<mode>3): Ditto. |
| (xop_rotl<mode>3): Ditto. |
| (xop_rotr<mode>3): Ditto. |
| (vrotr<mode>3): Ditto. |
| (vrotl<mode>3): Ditto. |
| (xop_vrotl<mode>3): Ditto. |
| (vlshr<mode>3): Ditto. |
| (vashr<mode>3): Ditto. |
| (vashl<mode>3 |
| (xop_ashl<mode>3): Ditto. |
| (xop_lshl<mode>3): Ditto. |
| (ashlv16qi3): Ditto. |
| (lshlv16qi3): Ditto. |
| (ashrv16qi3): Ditto. |
| (ashrv2di3): Ditto. |
| (xop_frcz<mode>2): Ditto. |
| (xop_vmfrcz<mode>2): Ditto. |
| (xop_frcz<mode>2256): Ditto. |
| (xop_maskcmp<mode>3): Ditto. |
| (xop_maskcmp_uns<mode>3): Ditto. |
| (xop_maskcmp_uns2<mode>3): Ditto. |
| (xop_pcom_tf<mode>3): Ditto. |
| |
| * doc/invoke.texi (-mxop): Add documentation. |
| * doc/extend.texi (x86 intrinsics): Add XOP intrinsics. |
| |
| 2009-11-03 Mark Mitchell <mark@codesourcery.com> |
| |
| PR driver/11810 |
| * gcc.c (SWITCHES_NEED_SPACES): Define to "o". |
| * config/alpha/osf.h (SWITCHES_NEED_SPACES): Remove here. |
| * config/mips/iris.h (SWITCHES_NEED_SPACES): Remove here. |
| |
| 2009-11-04 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/40835 |
| * arm.md (peephole2 patterns for move and compare): New. |
| |
| 2009-11-04 Nick Clifton <nickc@redhat.com> |
| |
| * defaults.h (CONSTANT_ADDRESS_P): Provide a default definition. |
| Make sure that it does not allow CONST_DOUBLEs. |
| * doc/tm.texi (CONSTANT_ADDRESS_P): Update description. |
| * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete. |
| * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete. |
| * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete. |
| * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete. |
| * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete. |
| * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete. |
| * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete. |
| * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete. |
| * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete. |
| * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete. |
| * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete. |
| * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete. |
| * config/score/score.h (CONSTANT_ADDRESS_P): Delete. |
| * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete. |
| |
| 2009-11-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/41919 |
| * tree-vrp.c (test_for_singularity): Properly compare values. |
| |
| 2009-11-04 Revital Eres <eres@il.ibm.com> |
| |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): |
| Consider peeling for alignment only for stores and remove |
| redundant assignment. |
| |
| 2009-11-04 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/41302 |
| * config/m68k/m68k.c (m68k_reg_present_p): New static function. |
| (m68k_ok_for_sibcall_p): Handle different result return locations. |
| |
| 2009-11-04 Richard Guenther <rguenther@suse.de> |
| |
| * c-opts.c (c_common_post_options): Move LTO option processing |
| code ... |
| * opts.c (decode_options): ... here. |
| |
| 2009-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-common.c (fold_offsetof_1): Use %wd instead of |
| HOST_WIDE_INT_PRINT_DEC. |
| |
| 2009-11-04 Maciej W. Rozycki <macro@linux-mips.org> |
| |
| * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Don't define |
| __pic__ or __PIC__. |
| |
| 2009-11-04 Maciej W. Rozycki <macro@linux-mips.org> |
| |
| * config.gcc (vax-*-linux*): Keep the original contents of |
| tmake_file while adding vax/t-linux. |
| |
| 2009-11-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/10127 |
| PR ada/20548 |
| * expr.h (STACK_CHECK_PROBE_INTERVAL): Delete. |
| (STACK_CHECK_PROBE_INTERVAL_EXP): New macro. |
| (STACK_CHECK_MOVING_SP): Likewise. |
| * system.h (STACK_CHECK_PROBE_INTERVAL): Poison it. |
| * doc/tm.texi (Stack Checking): Delete STACK_CHECK_PROBE_INTERVAL. |
| Document STACK_CHECK_PROBE_INTERVAL_EXP and STACK_CHECK_MOVING_SP. |
| * doc/md.texi (Standard Pattern Names): Tweak entry of CHECK_STACK. |
| Document PROBE_STACK. |
| * explow.c (anti_adjust_stack_and_probe): New function. |
| (allocate_dynamic_stack_space): Do not directly allocate space if |
| STACK_CHECK_MOVING_SP, instead invoke above function. |
| (emit_stack_probe): Handle probe_stack insn. |
| (PROBE_INTERVAL): New macro. |
| (STACK_GROW_OPTAB): Likewise. |
| (STACK_GROW_OFF): Likewise. |
| (probe_stack_range): Use Pmode and memory_address consistently. Fix |
| loop condition in the small constant case. Rewrite in the general |
| case to be immune to wraparounds. Make sure the address of probes |
| is valid. Try to use [base + disp] addressing mode if possible. |
| * ira.c (setup_eliminable_regset): Set frame_pointer_needed if stack |
| checking is enabled and STACK_CHECK_MOVING_SP. |
| * rtlanal.c (may_trap_p_1) <MEM>: If stack checking is enabled, |
| return 1 for volatile references to the stack pointer. |
| * tree.c (build_common_builtin_nodes): Do not set ECF_NOTHROW on |
| __builtin_alloca if stack checking is enabled. |
| * unwind-dw2.c (uw_identify_context): Take into account whether the |
| context is that of a signal frame or not. |
| * config/i386/linux.h (STACK_CHECK_MOVING_SP): Define to 1. |
| * config/i386/linux64.h (STACK_CHECK_MOVING_SP): Likewise. |
| |
| 2009-11-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/41917 |
| * rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second |
| operand isn't known to be 0, return 1. |
| |
| 2009-11-03 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.md: Fix typos. |
| |
| 2009-11-03 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * doc/invoke.texi: Fix typo. |
| |
| 2009-11-03 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/neon.ml (vectype): Add T_floatSF. |
| (string_of_vectype): Ditto. |
| * config/arm/neon-gen.ml (signed_ctype): Add T_floatSF. |
| (deftypes): Use float for float32_t. |
| * config/arm/arm_neon.h: Regenerate. |
| |
| 2009-11-03 Nick Clifton <nickc@redhat.com> |
| Kevin Buettner <kevinb@redhat.com> |
| |
| * config/rx/predicates.md (rx_store_multiple_vector): Reverse |
| order of expected registers. |
| (rx_load_multiple_vector): Likewise. |
| (rx_rtsd_vector): Likewise. |
| * config/rx/rx.c (rx_cpu_type): New variable. |
| (rx_print_operand): Fix bug printing 64-bit constant values. |
| (rx_emit_stack_pushm): Reverse order of pushed registers. |
| (gen_rx_store_vector): Likewise. |
| (is_fast_interrupt_func): Only accept "fast_interrupt" as the |
| attribute name. |
| (is_exception_func): Rename to is_interrupt_func and only accept |
| "interrupt" as the attribute name. |
| (rx_get_stack_layout): Use new function name. |
| (rx_func_attr_inlinable): Likewise. |
| (rx_attribute_table): Remove "exception". |
| (rx_expand_prologue): If necessary push the accumulator register |
| in the prologue of interrupt functions. |
| (rx_expand_epilogue): If necessary pop the accumulator. |
| (rx_builtins): Add RX_BUILTIN_MVTIPL. |
| (rx_expand_builtin_stz): Remove. |
| (rx_expand_builtin_mvtipl): New function. |
| (rx_init_builtins): Handle RX_BUILTIN_MVTIPL. |
| (rx_expand_builtin): Likewise. |
| (rx_enable_fpu): New variable. |
| (rx_handle_option): Handle -fpu, -nofpu, -mcpu and -patch. |
| * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Assert machine based |
| on rx_cpu_type. Define __RX_FPU_INSNS__ if FPU insns are allowed. |
| (enum rx_cpu_types): Define. |
| (ASM_SPEC): Pass -m32bit-doubles on to assembler. |
| (INCOMING_FRAME_SP_OFFSET): Define. |
| (ARG_POINTER_CFA_OFFSET): Define. |
| (FRAME_POINTER_CFA_OFFSET): Define. |
| (OVERRIDE_OPTIONS): Enable fast math if RX FPU insns are enabled. |
| (ALLOW_RX_FPU_INSNS): Define. |
| * config/rx/rx.md: Test ALLOW_RX_FPU_INSNS instead of |
| fast_math_flags_set_p. |
| (UNSPEC_BUILTIN_MVTIPL): Define. |
| (revl): Rename to bswapsi2. |
| (bswaphi2): New pattern. |
| (mvtachi): Mark as volatile because it uses a register unknown to GCC. |
| (mvtaclo): Likewise. |
| (racw): Likewise. |
| (mvtc): Remove clobber of cc0. |
| (mvtcp): Delete. |
| (opecp): Delete. |
| * config/rx/rx.opt (mieee): Remove. |
| (fpu): Add. |
| (nofpu): Add. |
| (mcpu=): Add. |
| (patch=): Add. |
| (msave-acc-in-interrupts): Add. |
| * config/rx/t-rx (MULTILIB_OPTIONS): Change default to 64bit doubles. |
| (MULTILIB_DIRS): Likewise. |
| (MULTILIB_MATCHES): Treat -fpu as an alias for -m32bit-doubles. |
| * doc/extend.texi: Remove description of "exception" function |
| attribute. |
| * doc/invoke.texi: Document -fpu, -nofpu, -mcpu=, -patch= and |
| -msave-acc-in-interrupts options. |
| |
| 2009-11-03 Richard Guenther <rguenther@suse.de> |
| |
| * c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC. |
| |
| 2009-11-03 Dodji Seketeli <dodji@redhat.com> |
| |
| PR c++/38699 |
| * c-common.c (fold_offsetof_1): Issue errors when the member |
| designator of the offsetof expression is not legitimate. |
| |
| 2009-11-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*call_value_1_rex64_ms_sysv): Use register |
| names instead of numerical constants. |
| (sse_prologue_save): Ditto. |
| (*sse_prologue_save_insn): Ditto. |
| |
| 2009-11-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/41900 |
| * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New. |
| (TARGET_CALL_ESP): New define. |
| * config/i386/i386.c (initial_ix86_tune_features): Initialize |
| X86_ARCH_CALL_ESP. |
| * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, |
| *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, |
| *call_1, *call_value_pop_1 and *call_value_1. Depend on |
| TARGET_CALL_ESP. |
| (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): |
| New patterns, use "lsm" as operand 1 constraint. |
| * config/i386/predicates.md (call_insn_operand): Depend on |
| index_register_operand for !TARGET_CALL_ESP to avoid %esp register. |
| |
| 2009-11-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR tree-optimization/41857 |
| * tree-flow.h (rewrite_use_address): Add BASE_HINT argument. |
| * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass base hint |
| to create_mem_ref. |
| * tree-ssa-address.c (move_hint_to_base): New function. |
| (most_expensive_mult_to_index): Add TYPE argument. Use mode and |
| address space associated with TYPE. |
| (addr_to_parts): Add TYPE and BASE_HINT arguments. Pass TYPE to |
| most_expensive_mult_to_index. Call move_hint_to_base. |
| (create_mem_ref): Add BASE_HINT argument. Pass BASE_HINT and |
| TYPE to addr_to_parts. |
| |
| 2009-11-02 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/41750 |
| * tree-sra.c (analyze_modified_params): Loop over all |
| representatives of components of a parameter. |
| |
| 2009-11-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/41841 |
| * ipa-struct-reorg.c (build_data_structure): Don't attempt to look at |
| local variables of not yet materialized clones. |
| |
| PR debug/41893 |
| * cfgexpand.c (expand_debug_expr): Don't attempt to create DECL_RTL |
| for a VOIDmode variable. |
| |
| PR c++/41774 |
| * c-pragma.c (visstack): Change into vector of ints rather than |
| enum symbol_visibility. |
| (push_visibility): Add kind argument, push default_visibility together |
| with kind. |
| (pop_visibility): Add kind argument, return true if successful, fail |
| if visibility stack is empty or if stack top is of different kind. |
| (handle_pragma_visibility): Don't check length of visstack, instead |
| call pop_visibility and issue diagnostics if it failed. Pass 0 |
| as last argument to push_visibility and pop_visibility. |
| * c-pragma.h (push_visibility): Add kind argument. |
| (pop_visibility): Likewise. Return bool instead of void. |
| |
| 2009-11-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.def (TARGET_MEM_REF): Update comment. |
| * alias.c (get_alias_set): Retrieve the original memory reference for |
| a TARGET_MEM_REF before proceeding. |
| |
| 2009-10-31 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/frv/frv.c (frv_function_value, frv_libcall_value, |
| frv_function_value_regno_p): New functions. |
| (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. |
| * config/frv/frv.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove. |
| (FUNCTION_VALUE_REGNO_P): Redefine, use frv_function_value_regno_p. |
| * config/frv/frv-protos.h (frv_function_value_regno_p): Declare. |
| |
| 2009-10-31 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/mn10300/mn10300.c (mn10300_function_value): Make static, add |
| new 'outgoing' argument. |
| (mn10300_libcall_value, mn10300_function_value_regno_p): New functions. |
| (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. |
| * config/mn10300/mn10300.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, |
| LIBCALL_VALUE): Remove. |
| (FUNCTION_VALUE_REGNO_P): Redefine, use mn10300_function_value_regno_p. |
| * config/mn10300/mn10300-protos.h (mn10300_function_value): Remove. |
| (mh10300_function_value_regno_p): Declare. |
| |
| 2009-10-31 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/arm/cortex-a9.md: New - integer pipeline description. |
| |
| 2009-10-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Bail out instead of |
| aborting if the sizes of the two references don't match. |
| |
| 2009-10-31 Toon Moene <toon@moene.org> |
| |
| * ipa-inline.c (cgraph_decide_inlining): |
| Include reason for not inlining called-once functions in dump file. |
| |
| 2009-10-30 Daniel Gutson <dgutson@codesourcery.com> |
| |
| * config/arm/linux-eabi.h (LINK_SPEC): BE8_LINK_SPEC added. |
| * config/arm/bpapi.h (BE8_LINK_SPEC): New define. |
| (LINK_SPEC): BE_LINK_SPEC added. |
| |
| 2009-10-30 Richard Guenther <rguenther@suse.de> |
| |
| PR lto/41858 |
| * lto-streamer.h (struct lto_file_decl_data): Remove fd member. |
| |
| 2009-10-30 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * target-def.h (TARGET_ASM_TTYPE): Correct typo of TARGET_ARM_TTYPE. |
| * config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): Remove unused |
| label. |
| |
| 2009-10-30 Martin Jambor <mjambor@suse.cz> |
| |
<