1. 21 Apr, 2011 8 commits
  2. 20 Apr, 2011 32 commits
    • mips.c (mips16_build_function_stub): Call build_function_type_list instead of build_function_type. · b861891b
      	* config/mips/mips.c (mips16_build_function_stub): Call
      	build_function_type_list instead of build_function_type.
      	(mips16_build_call_stub): Likewise.
      
      From-SVN: r172796
      Nathan Froyd committed
    • mep.c (mep_init_builtins): Call build_function_type_list instead of build_function_type. · 34149ed5
      	* config/mep/mep.c (mep_init_builtins): Call build_function_type_list
      	instead of build_function_type.
      
      From-SVN: r172795
      Nathan Froyd committed
    • pa.c (pa_init_builtins): Call build_function_type_list instead of build_function_type. · 12526412
      	* config/pa/pa.c (pa_init_builtins): Call build_function_type_list
      	instead of build_function_type.
      
      From-SVN: r172794
      Nathan Froyd committed
    • re PR target/48678 (unable to find a register to spill in class ‘GENERAL_REGS’) · 3b84d61f
      	PR target/48678
      	* config/i386/i386.md (insv): Change operand 0 constraint to
      	"register_operand".  Change operand 1 and 2 constraint to
      	"const_int_operand".  Expand to pinsr{b,w,d,q} * when appropriate.
      	* config/i386/sse.md (sse4_1_pinsrb): Export.
      	(sse2_pinsrw): Ditto.
      	(sse4_1_pinsrd): Ditto.
      	(sse4_1_pinsrq): Ditto.
      	* config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
      	* config/i386/i386.c (ix86_expand_pinsr): New.
      
      testsuite/ChangeLog:
      
      	PR target/48678
      	* gcc.target/i386/sse2-pinsrw.c: New test.
      	* gcc.target/i386/avx-vpinsrw.c: Ditto.
      	* gcc.target/i386/sse4_1-insvqi.c: Ditto.
      	* gcc.target/i386/sse2-insvhi.c: Ditto.
      	* gcc.target/i386/sse4_1-insvsi.c: Ditto.
      	* gcc.target/i386/sse4_1-insvdi.c: Ditto.
      
      From-SVN: r172792
      Uros Bizjak committed
    • re PR c++/48657 (could not convert template argument ‘VectorDimension’ to ‘unsigned int’) · 8efcbeca
      	PR c++/48657
      	* decl.c (cp_finish_decl): Simplify template handling.
      
      From-SVN: r172790
      Jason Merrill committed
    • cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable containing… · 4a25752b
      cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable containing union type only with -fstrict-aliasing.
      
      2011-04-20  Easwaran Raman  <eraman@google.com>
      
      	* cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
      	containing union type only with -fstrict-aliasing.
      
      2011-04-20  Easwaran Raman  <eraman@google.com>
      
      	* gcc.dg/stack-layout-1.c: New test.
      
      From-SVN: r172788
      Easwaran Raman committed
    • MAINTAINERS (Write After Approval): Add myself. · 1809ba94
      2011-04-20  Easwaran Raman  <eraman@google.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r172787
      Easwaran Raman committed
    • remove useless if-before-free tests · 04695783
      Change "if (E) free (E);" to "free (E);" everywhere except in the
      libgo/, intl/, zlib/ and classpath/ directories.
      Also transform equivalent variants like
      "if (E != NULL) free (E);" and allow an extra cast on the
      argument to free.  Otherwise, the tested and freed "E"
      expressions must be identical, modulo white space.
      
      From-SVN: r172785
      Jim Meyering committed
    • discourage unnecessary use of if before free · 53eebfbf
      * README.Portability: Explain why "if (P) free (P)" is best avoided.
      
      From-SVN: r172784
      Jim Meyering committed
    • re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr… · 6788475a
      re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)
      
      	PR tree-optimization/48611
      	* tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
      	beyond ERT_MUST_NOT_THROW region.
      
      From-SVN: r172783
      Jakub Jelinek committed
    • re PR fortran/48588 (ICE (segfault) in gfc_get_nodesc_array_type) · 8721a387
      2011-04-19  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/48588
              PR fortran/48692
      
              * module.c (fix_mio_expr): Commit created symbol.
      
      From-SVN: r172782
      Tobias Burnus committed
    • Fixed recent testcases for backslash hell typo. · c988e08f
      From-SVN: r172781
      Kai Tietz committed
    • mips.opt (mfix-24k): New. · 0eda4033
      2011-04-20  Catherine Moore  <clm@codesourcery.com>
      
      	* config/mips/mips.opt (mfix-24k): New.
      	* config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
      	* config/mips/mips.md (length): Increase by 4 for stores if
      	fixing 24K errata.
      	* config/mips/mips.c (mips_reorg_process_insns): Do not allow
      	all noreorder if fixing 24K errata.
      	* doc/invoke.texi: Document mfix-24k.
      
      From-SVN: r172780
      Catherine Moore committed
    • arm.c (arm_legitimize_reload_address): For NEON quad-word modes, reduce to 9-bit… · 01475747
      arm.c (arm_legitimize_reload_address): For NEON quad-word modes, reduce to 9-bit index range when above 1016 limit.
      
      2011-04-20  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	* config/arm/arm.c (arm_legitimize_reload_address): For NEON
      	quad-word modes, reduce to 9-bit index range when above 1016
      	limit.
      
      From-SVN: r172779
      Chung-Lin Tang committed
    • vect-shift-3.c, [...]: New. · cfc99488
      2011-04-20  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	gcc/testsuite/
      	* gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New.
      	* lib/target-supports.exp (check_effective_target_vect_shift_char): New
      	function.
      
      From-SVN: r172778
      Daniel Jacobowitz committed
    • arm.c (arm_gen_constant): Move movw support .... · bc2c1a60
      2011-04-20  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/arm/arm.c (arm_gen_constant): Move movw support ....
      	(const_ok_for_op): ... to here.
      
      From-SVN: r172777
      Andrew Stubbs committed
    • ChangeLog gcc/ · 583722ee
      2011-04-20  Kai Tietz  <ktietz@redhat.com>
      
      	* fold-const.c (fold_binary_loc): Add handling for
      	(X & ~Y) | (~X & Y) and (X && !Y) | (!X && Y) optimization
      	to (X ^ Y).
      
      ChangeLog gcc/testsuite
      
      2011-04-20  Kai Tietz  <ktietz@redhat.com>
      
      	* gcc.dg/binio-xor1.c: New test.
      	* gcc.dg/binio-xor2.c: New test.
      	* gcc.dg/binio-xor3.c: New test.
      	* gcc.dg/binio-xor4.c: New test.
      	* gcc.dg/binio-xor5.c: New test.
      
      From-SVN: r172776
      Kai Tietz committed
    • arm.c (arm_gen_constant): Remove redundant can_invert. · 422c0989
      2011-04-20  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
      
      From-SVN: r172775
      Andrew Stubbs committed
    • re PR c/47892 (Fails to vectorize comparison code, if-conversion fails) · d7978bff
      2011-04-20  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/47892
      	* tree-if-conv.c (if_convertible_stmt_p): Const builtins
      	are if-convertible.
      
      	* gcc.dg/vect/fast-math-ifcvt-1.c: New testcase.
      
      From-SVN: r172774
      Richard Guenther committed
    • Fix long line and tidy up · 9d12f71a
      From-SVN: r172773
      Eric Botcazou committed
    • vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine. · 818412ba
      2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
      
              * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
      
      From-SVN: r172771
      Eric Botcazou committed
    • vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld. · b501ce4e
      2011-04-20  Tristan Gingold  <gingold@adacore.com>
      
      	* config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
      
      From-SVN: r172770
      Tristan Gingold committed
    • re PR target/18145 (Do not emit __do_copy_data or __do_clear_bss if .data or .bss is empty.) · 516edfdd
      	PR target/18145
      
      	* config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
      	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
      	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
      	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
      	(TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
      
      	* config/avr/avr-protos.h (avr_asm_output_aligned_common):
      	New prototype.
      
      	* config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
      	(avr_asm_named_section,	avr_asm_output_aligned_common,
      	avr_output_data_section_asm_op,	avr_output_bss_section_asm_op):
      	New functions to update...
      	(avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
      	(avr_asm_init_sections): Overwrite section callbacks for
      	data_section, bss_section.
      	(avr_file_start): Move output of __do_copy_data, __do_clear_bss
      	from here to...
      	(avr_file_end): ...here.
      
      From-SVN: r172769
      Georg-Johann Lay committed
    • re PR rtl-optimization/48695 (Runtime with an array of std::vectors) · dafc9511
      2011-04-20  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/48695
      	* tree-ssa-alias.c (aliasing_component_refs_p): Compute base
      	objects and types here.  Adjust for their offset before
      	comparing.
      
      	* g++.dg/torture/pr48695.C: New testcase.
      
      From-SVN: r172768
      Richard Guenther committed
    • Revert accidental commit. · d72dd5f9
      From-SVN: r172764
      Richard Sandiford committed
    • Revert last patch. · 267d3070
      From-SVN: r172763
      Richard Sandiford committed
    • * bootstrap-lto.mk: Remove obsolete requirement. · 0b2ddd9c
      From-SVN: r172761
      Eric Botcazou committed
    • md.texi (vec_load_lanes, [...]): Document. · c2d7ab2a
      gcc/
      	* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
      	* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
      	convert_optab_index values.
      	(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
      	* genopinit.c (optabs): Initialize the new optabs.
      	* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
      	* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
      	(expand_STORE_LANES): New functions.
      	* tree.h (build_array_type_nelts): Declare.
      	* tree.c (build_array_type_nelts): New function.
      	* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
      	(vect_model_load_cost): Likewise.
      	(vect_store_lanes_supported, vect_load_lanes_supported)
      	(vect_record_strided_load_vectors): Declare.
      	* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
      	(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
      	(vect_transform_strided_load): Split out statement recording into...
      	(vect_record_strided_load_vectors): ...this new function.
      	* tree-vect-stmts.c (create_vector_array, read_vector_array)
      	(write_vector_array, create_array_ref): New functions.
      	(vect_model_store_cost): Add store_lanes_p argument.
      	(vect_model_load_cost): Add load_lanes_p argument.
      	(vectorizable_store): Try to use store-lanes functions for
      	interleaved stores.
      	(vectorizable_load): Likewise load-lanes and loads.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs)
      	(vect_build_slp_tree):
      
      From-SVN: r172760
      Richard Sandiford committed
    • tree-vect-stmts.c (vectorizable_store): Only chain one related statement per copy. · 1da0876c
      gcc/
      	* tree-vect-stmts.c (vectorizable_store): Only chain one related
      	statement per copy.
      
      From-SVN: r172759
      Richard Sandiford committed
    • Makefile.in (INTERNAL_FN_DEF, [...]): Define. · 25583c4f
      gcc/
      	* Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
      	(GIMPLE_H): Include $(INTERNAL_FN_H).
      	(OBJS-common): Add internal-fn.o.
      	(internal-fn.o): New rule.
      	* internal-fn.def: New file.
      	* internal-fn.h: Likewise.
      	* internal-fn.c: Likewise.
      	* gimple.h: Include internal-fn.h.
      	(GF_CALL_INTERNAL): New gf_mask.
      	(gimple_statement_call): Put fntype into a union with a new
      	internal_fn field.
      	(gimple_build_call_internal): Declare.
      	(gimple_build_call_internal_vec): Likewise.
      	(gimple_call_same_target_p): Likewise.
      	(gimple_call_internal_p): New function.
      	(gimple_call_internal_fn): Likewise.
      	(gimple_call_fntype): Return null for internal calls.
      	(gimple_call_set_fntype): Assert that the function is not internal.
      	(gimple_call_set_fn): Likewise.
      	(gimple_call_set_fndecl): Likewise.
      	(gimple_call_set_internal_fn): New function.
      	(gimple_call_addr_fndecl): Handle null functions.
      	(gimple_call_return_type): Likewise null types.
      	* gimple.c (gimple_build_call_internal_1): New function.
      	(gimple_build_call_internal): Likewise.
      	(gimple_build_call_internal_vec): Likewise.
      	(gimple_call_same_target_p): Likewise.
      	(gimple_call_flags): Handle calls to internal functions.
      	(gimple_call_fnspec): New function.
      	(gimple_call_arg_flags, gimple_call_return_flags): Use it.
      	(gimple_has_side_effects): Handle null functions.
      	(gimple_rhs_has_side_effects): Likewise.
      	(gimple_call_copy_skip_args): Handle calls to internal functions.
      	* cfgexpand.c (expand_call_stmt): Likewise.
      	* expr.c (expand_expr_real_1): Assert that the call isn't internal.
      	* gimple-fold.c (gimple_fold_call): Handle null functions.
      	(gimple_fold_stmt_to_constant_1): Don't fold
      	calls to internal functions.
      	* gimple-low.c (gimple_check_call_args): Handle calls to internal
      	functions.
      	* gimple-pretty-print.c (dump_gimple_call): Likewise.
      	* ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
      	* tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
      	(do_warn_unused_result): Likewise.
      	* tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
      	* tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
      	* tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
      	the target of a call.
      	(initialize_hash_element): Update accordingly.
      	(hashable_expr_equal_p): Use gimple_call_same_target_p.
      	(iterative_hash_hashable_expr): Handle calls to internal functions.
      	(print_expr_hash_elt): Likewise.
      	* tree-ssa-pre.c (can_value_number_call): Likewise.
      	(eliminate): Handle null functions.
      	* tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
      	* tree-ssa-structalias.c (get_fi_for_callee): Likewise.
      	(find_func_aliases): Likewise.
      	* value-prof.c (gimple_ic_transform): Likewise.
      	(gimple_indirect_call_to_profile): Likewise.
      	* lto-streamer-in.c (input_gimple_stmt): Likewise.
      	* lto-streamer-out.c (output_gimple_stmt): Likewise.
      
      From-SVN: r172758
      Richard Sandiford committed
    • pr42629.c: Add dg-require-effective-target int32plus · 7da29ed0
      	* gcc.dg/pr42629.c: Add dg-require-effective-target int32plus
      	* gcc.c-torture/execute/cmpsi-2.c: Ditto
      	* gcc.c-torture/execute/pr45262.c: Ditto
      	* gcc.dg/torture/pr43165.c: Ditto.
      	* gcc.dg/torture/pr47228.c: Ditto.
      	* gcc.dg/tree-ssa/pr45144.c: Ditto.
      	* gcc.dg/ipa/pr45644.c: Ditto.
      	* gcc.c-torture/compile/pr43191.c: Ditto. Remove dg-skip-if for
      	PDP11.
      
      From-SVN: r172757
      Georg-Johann Lay committed
    • re PR c++/46304 (g++ crashes with ICE in bitmap_first_set_bit, at bitmap.c:770) · 68a29e1c
      	PR c++/46304
      	* typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR.
      
      From-SVN: r172754
      Jason Merrill committed