1. 11 Dec, 2011 9 commits
  2. 10 Dec, 2011 12 commits
    • trans-decl.c (add_argument_checking): Fix syntax. · 9be1227b
      2011-12-10  Tobias Burnus  <burnus@net-b.de>
      
              * trans-decl.c (add_argument_checking): Fix syntax.
      
      From-SVN: r182194
      Tobias Burnus committed
    • rs6000: Implement vec_perm_const for all vector ISAs · 5aebfdad
              * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
              vec_select + vec_concat.
              (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
              altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
              (vec_perm_constv16qi): New.
              (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
              vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
              vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
              * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
              vec_select + vec_concat.
              (paired_merge10, paired_merge01, paired_merge11): Likewise.
              (vec_perm_constv2sf): New.
              (vec_interleave_highv2sf, vec_interleave_lowv2sf,
              vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
              * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
              vec_select + vec_concat.
              (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
              (vec_perm_constv2si): New.
              * config/rs6000/vector.md (vec_interleave_highv4sf,
              vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
              vec_interleave_low<VEC_64>): Remove.
              * config/rs6000/vsx.md (VS_double): New mode attribute.
              (UNSPEC_VSX_XXPERMDI): Remove.
              (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
              (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
              (vsx_xxpermdi_<VSX_L>): Change to expander.
              (vec_perm_const<VSX_D>): New.
              (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
              * config/rs6000/predicates.md (const_0_to_1_operand): New.
              (const_2_to_3_operand): New.
              * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
              (altivec_expand_vec_perm_const): New.
              (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
              (rs6000_vectorize_vec_perm_const_ok): New.
              (rs6000_do_expand_vec_perm): New.
              (rs6000_expand_extract_even, rs6000_expand_interleave): New.
              * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
              * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
              * config/rs6000/rs6000-protos.h: Update.
      
      From-SVN: r182193
      Richard Henderson committed
    • Force the creation of a CONST_VECTOR for expand_vec_perm. · ccdfb0e2
              * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
              CONST_INT to expand_vec_perm as the selector.
              * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.
      
      From-SVN: r182192
      Richard Henderson committed
    • Let GET_MODE_2XWIDER_MODE find a double-width vector mode. · a7de2c2a
              * genmodes.c (struct mode_data): Remove wider_2x member.
              (blank_mode): Adjust initializer.
              (calc_wider_mode): Use XALLOCAVEC.
              (emit_move_wider): Select double-width same-element vectors for
              2xwider vectors.
              * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
              * config/i386/i386.c (doublesize_vector_mode): Remove.
              (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.
      
      From-SVN: r182191
      Richard Henderson committed
    • trans-decl.c (add_argument_checking): Check ts.deferred earlier. · be94c034
      2011-12-10  Tobias Burnus  <burnus@net-b.de>
                  Kai Tietz  <ktietz@redhat.com>
      
              * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
              * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.
      
      
      Co-Authored-By: Kai Tietz <ktietz@redhat.com>
      
      From-SVN: r182190
      Tobias Burnus committed
    • user.cfg.in: Add macros, directories. · 7897a1c0
      2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* doc/doxygen/user.cfg.in: Add macros, directories.
      	* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
      	* include/bits/locale_classes.tcc: Same.
      	* include/bits/shared_ptr.h: Same.
      	* include/bits/stl_algo.h: Same.
      	* include/bits/stl_list.h: Same.
      	* include/bits/stl_numeric.h: Same.
      	* include/debug/safe_base.h: Same.
      	* include/parallel/equally_split.h: Same.
      	* include/std/bitset: Same.
      	* include/std/complex: Same.
      	* include/std/fstream: Same.
      	* include/std/istream: Same.
      	* include/std/ostream: Same.
      	* include/tr2/dynamic_bitset: Same.
      	* scripts/run_doxygen: Remove munging for names that no longer exist.
      
      	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
      	Adjust line numbers.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_1_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_2_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
      
      From-SVN: r182189
      Benjamin Kosnik committed
    • unordered_set: Minor formatting changes. · f431d7ca
      2011-12-12  François Dumont <fdumont@gcc.gnu.org>
      
      	* include/profile/unordered_set: Minor formatting changes.
      	(unordered_set<>::_M_profile_destruct,
      	unordered_multiset<>::_M_profile_destruct): Fix implementation to not
      	rely on normal implementation details anymore.
      	(unordered_set<>::_M_profile_resize,
      	unordered_multiset<>::_M_profile_resize): Implement consistently
      	accross all unordered containers.
      	(unordered_set<>::emplace, unordered_set<>::emplace_hint,
      	unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
      	to signal rehash to profiling system.
      	* include/profile/unordered_map: Likewise for unordered_map<> and
      	unordered_multimap<>.
      
      From-SVN: r182188
      François Dumont committed
    • epiphany-protos.h (epiphany_start_function): Declare. · 188b7e23
      gcc:
              * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
              * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
              Split "timer" value into "timer0" and "timer1".
              Handle page_miss, message and wand.  Don't handle static_flag.
              Adjust warning text.
              (epiphany_start_function): New function.
              (epiphany_compute_function_type): Split "timer" value into "timer0"
              and "timer1".  Handle page_miss, message and wand.
              Don't handle static_flag.
              (epiphany_expand_epilogue): Don't use frame_insn for status / iret
              restore.
              * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
              (enum epiphany_function_type):
              Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
              and EPIPHANY_FUNCTION_TIMER1.
              Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
              Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
              Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
      gcc/testsuite:
              * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
              Add a scan-assembler-time clause to test for the interupt vector jump.
              (f): Rename to ...
              (dma0_handler): ... this.
      
      From-SVN: r182187
      Joern Rennecke committed
    • epiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of .. · b149e5a2
              * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
              broken out of ..
              (INCOMING_RETURN_ADDR_RTX) .. this.  Use EPIPHANY_RETURN_REGNO.
              (DWARF_FRAME_RETURN_COLUMN): New macro.
      
      From-SVN: r182186
      Joern Rennecke committed
    • epiphany.h (USE_LOAD_POST_INCREMENT): Define. · af7476b8
              * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
              (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
              (USE_STORE_POST_DECREMENT): Likewise.
      
      From-SVN: r182185
      Joern Rennecke committed
    • re PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure) · 2ac69a0c
      	PR gcov-profile/51449
      	* coverage.c (coverage_end_function): Always process the coverage
      	variables.
      
      	testsuite/
      	* g++.dg/gcov/gcov-14.C: New.
      
      From-SVN: r182184
      Nathan Sidwell committed
    • Daily bump. · e2d04984
      From-SVN: r182183
      GCC Administrator committed
  3. 09 Dec, 2011 19 commits
    • tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless… · 67fafdd1
      tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language has support for TM.
      
              PR/51291
              * tree.c (build_common_builtin_nodes): Do not use TM_PURE
              attribute unless language has support for TM.
              * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
              the absence of TM builtins.
      
      From-SVN: r182179
      Aldy Hernandez committed
    • gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to… · 8f420307
      gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize useless pointer conversions.
      
      	* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
      	Also check the TYPE_MODE to recognize useless pointer conversions.
      
      From-SVN: r182178
      Eric Botcazou committed
    • re PR tree-optimization/51117 (rev.181172 causes glibc build failure) · 6d1c2bd3
      	PR tree-optimization/51117
      	* tree-eh.c (optimize_clobbers): Don't remove just one
      	clobber, but all consecutive clobbers before RESX.
      	Use gimple_clobber_p predicate.
      
      From-SVN: r182177
      Jakub Jelinek committed
    • re PR c++/51151 (Invalid -Woverflow warning in C++ frontend) · d179d179
      	PR c++/51151
      	* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
      	* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
      	in templates even if decl isn't type-dependent.
      
      From-SVN: r182175
      Jason Merrill committed
    • hashtable.h (_Hashtable<>::emplace, [...]): Add. · 9b81593b
      2011-12-09  François Dumont <fdumont@gcc.gnu.org>
      
      	* include/bits/hashtable.h (_Hashtable<>::emplace,
      	_Hashtable<>::emplace_hint): Add.
      	* include/debug/unordered_set (unordered_set<>::emplace,
      	unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
      	unordered_multiset<>::emplace_hint): Add.
      	* include/profile/unordered_set: Likewise.
      	* include/debug/unordered_map (unordered_map<>::emplace,
      	unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
      	unordered_multimap<>::emplace_hint): Add.
      	* include/profile/unordered_map: Likewise.
      	* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
      	* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
      	New.
      	* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
      	* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
      	New.
      	* testsuite/util/testsuite_container_traits.h
      	(traits_base::has_emplace): Add and defined as std::true_type for
      	unordered containers.
      	* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
      	use them in basic_safety exception test case.
      	* doc/xml/manual/status_cxx2011.xml: Update unordered containers
      	status.
      
      From-SVN: r182174
      François Dumont committed
    • PR c++/51289 - ICE with alias template for bound template template parm · 60ef5d4e
      gcc/cp/
      
      	PR c++/51289
      	* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
      	better support aliased types.
      	(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
      	TYPE_DECL.
      	* pt.c (find_parameter_packs_r): Handle types aliases.
      	(push_template_decl_real): Check for bare parameter packs in the
      	underlying type of an alias template.
      
      gcc/PR51289/gcc/testsuite/
      
      	PR c++/51289
      	* g++.dg/cpp0x/alias-decl-17.C: New test.
      
      From-SVN: r182170
      Dodji Seketeli committed
    • syslog: Fix name of C syslog function. · 9820d09c
      From Rainer Orth.
      
      From-SVN: r182168
      Ian Lance Taylor committed
    • runtime: make print() built-in write to stderr. · ec2c7255
      Fixes issue 2294.
      
      From-SVN: r182167
      Ian Lance Taylor committed
    • Restore errors.o dependency · 7de61209
      2011-12-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR bootstrap/51479
      	* Makefile.in (errors.o): Restored.
      
      From-SVN: r182166
      H.J. Lu committed
    • slp-13.c: Increase array size, add initialization. · 43e78fd7
      
      	* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
      	* gcc.dg/vect/slp-24.c: Ditto.
      	* gcc.dg/vect/slp-3.c: Likewise and fix scans.
      	* gcc.dg/vect/slp-34.c: Ditto.
      	* gcc.dg/vect/slp-4.c: Ditto.
      	* gcc.dg/vect/slp-cond-2.c: Ditto.
      	* gcc.dg/vect/slp-multitypes-11.c: Ditto.
      	* gcc.dg/vect/vect-1.c: Ditto.
      	* gcc.dg/vect/vect-10.c: Ditto.
      	* gcc.dg/vect/vect-105.c: Ditto.
      	* gcc.dg/vect/vect-112.c: Ditto.
      	* gcc.dg/vect/vect-15.c: Ditto.
      	* gcc.dg/vect/vect-2.c: Ditto.
      	* gcc.dg/vect/vect-31.c: Ditto.
      	* gcc.dg/vect/vect-32.c: Ditto.
      	* gcc.dg/vect/vect-33.c: Ditto.
      	* gcc.dg/vect/vect-34.c: Ditto.
      	* gcc.dg/vect/vect-35.c: Ditto.
      	* gcc.dg/vect/vect-36.c: Ditto.
      	* gcc.dg/vect/vect-6.c: Ditto.
      	* gcc.dg/vect/vect-73.c: Ditto.
      	* gcc.dg/vect/vect-74.c: Ditto.
      	* gcc.dg/vect/vect-75.c: Ditto.
      	* gcc.dg/vect/vect-76.c: Ditto.
      	* gcc.dg/vect/vect-80.c: Ditto.
      	* gcc.dg/vect/vect-85.c: Ditto.
      	* gcc.dg/vect/vect-89.c: Ditto.
      	* gcc.dg/vect/vect-97.c: Ditto.
      	* gcc.dg/vect/vect-98.c: Ditto.
      	* gcc.dg/vect/vect-all.c: Ditto.
      	* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
      	* gcc.dg/vect/vect-iv-8.c: Ditto.
      	* gcc.dg/vect/vect-iv-8a.c: Ditto.
      	* gcc.dg/vect/vect-outer-1.c: Ditto.
      	* gcc.dg/vect/vect-outer-1a.c: Ditto.
      	* gcc.dg/vect/vect-outer-1b.c: Ditto.
      	* gcc.dg/vect/vect-outer-2.c: Ditto.
      	* gcc.dg/vect/vect-outer-2a.c: Ditto.
      	* gcc.dg/vect/vect-outer-2c.c: Ditto.
      	* gcc.dg/vect/vect-outer-3.c: Ditto.
      	* gcc.dg/vect/vect-outer-3a.c: Ditto.
      	* gcc.dg/vect/vect-outer-4a.c: Ditto.
      	* gcc.dg/vect/vect-outer-4b.c: Ditto.
      	* gcc.dg/vect/vect-outer-4c.c: Ditto.
      	* gcc.dg/vect/vect-outer-4d.c: Ditto.
      	* gcc.dg/vect/vect-outer-4m.c: Ditto.
      	* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
      	* gcc.dg/vect/vect-outer-fir.c: Ditto.
      	* gcc.dg/vect/vect-over-widen-1.c: Ditto.
      	* gcc.dg/vect/vect-over-widen-2.c: Ditto.
      	* gcc.dg/vect/vect-over-widen-3.c: Ditto.
      	* gcc.dg/vect/vect-over-widen-4.c: Ditto.
      	* gcc.dg/vect/vect-reduc-1char.c: Ditto.
      	* gcc.dg/vect/vect-reduc-2char.c: Ditto.
      	* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
      	* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
      	* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
      	* gcc.dg/vect/vect-shift-2.c: Ditto.
      	* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
      	* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
      	* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
      	* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
      	* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
      
      From-SVN: r182165
      Michael Zolotukhin committed
    • dse.c (get_stored_val, [...]): Use gen_int_mode. · 6d26322f
              * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
              * expmed.c (expand_divmod): Likewise.
              * combine.c (simplify_if_then_else): Likewise.
      
      From-SVN: r182164
      Joern Rennecke committed
    • re PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program) · 4a33ac4a
      2011-12-09  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/48042
      	* tree.c (free_lang_data_in_decl): Remove freeing conditional
      	on debuginfo level.
      
      	* g++.dg/lto/pr48042_0.C: New testcase.
      
      From-SVN: r182163
      Richard Guenther committed
    • re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681) · 7543f918
              PR middle-end/40154
              * emit-rtl.c (set_dst_reg_note): New function.
              * rtl.h (set_dst_reg_note): Declare.
              * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
              (emit_libcall_block, expand_fix): Likewise.
              * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
              * expmed.c (expand_mult_const, expand_divmod): Likewise.
              * reload1.c (gen_reload): Likewise.
      
      From-SVN: r182162
      Joern Rennecke committed
    • ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld. · fb550348
      	* ira-color.c (print_hard_regs_subforest): Use
      	HOST_WIDEST_INT_PRINT_DEC instead of %lld.
      	(allocno_hard_regs): Change type of cost member
      	to HOST_WIDEST_INT.
      	(add_allocno_hard_regs): Change type of argument cost
      	to HOST_WIDEST_INT.
      	* ira-conflict.c (build_conflict_bit_table): Replace use
      	of long-long by HOST_WIDEST_INT.
      
      From-SVN: r182161
      Kai Tietz committed
    • re PR target/49313 (Inefficient libgcc implementations for avr) · 3447cae6
      	PR target/49313
      	* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
      	* config/avr/lib1funcs.S (__muldi3): New function.
      
      From-SVN: r182160
      Georg-Johann Lay committed
    • re PR target/51425 (Compiler fails to produce SBIS/SBIC instructions) · b7de39b7
      	PR target/51425
      	* config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
      	zero_extract:QIHI instead of zero_extract:HI.
      
      From-SVN: r182159
      Georg-Johann Lay committed
    • re PR tree-optimization/51117 (rev.181172 causes glibc build failure) · 960f0c9d
      	PR tree-optimization/51117
      	* tree-eh.c (optimize_clobbers): New function.
      	(execute_lower_eh_dispatch): Call it.
      
      Co-Authored-By: Andrew Pinski <apinski@cavium.com>
      
      From-SVN: r182158
      Jakub Jelinek committed
    • re PR tree-optimization/51482 (ice: invalid types in conversion to floating point) · 48f2e373
      2011-12-09  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51482
      	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
      	Make sure to only create REAL_TYPE and INTEGER_TYPE component
      	vectors.
      
      	* g++.dg/torture/pr51482.C: New testcase.
      
      From-SVN: r182156
      Richard Biener committed