Skip to content
Snippets Groups Projects
  1. Jul 28, 2011
    • H.J. Lu's avatar
      Set need_64bit_hwint to yes for x86 targets. · 5e9627ca
      H.J. Lu authored
      gcc/
      
      2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config.gcc: Set need_64bit_hwint to yes for x86 targets.
      
      libcpp/
      
      2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac: Set need_64bit_hwint to yes for x86 targets.
      	* configure: Regenerated.
      
      From-SVN: r176871
      5e9627ca
    • Rainer Orth's avatar
      init.c (__gnat_error_handler): Cast reason to int. · 6da2ca7d
      Rainer Orth authored
      	* init.c (__gnat_error_handler): Cast reason to int.
      	(__gnat_install_handler): Explain sa_sigaction use.
      
      From-SVN: r176870
      6da2ca7d
    • H.J. Lu's avatar
      Only expand strlen to Pmode. · 40b9321d
      H.J. Lu authored
      2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/47364
      	* config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
      
      From-SVN: r176868
      40b9321d
    • Ramana Radhakrishnan's avatar
      vfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints. · 95f89bb3
      Ramana Radhakrishnan authored
      
      2011-07-28  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	* config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
      	before the core constraints. Adjust attributes.
      	(*thumb2_movdf_vfp"): Likewise.
      
      From-SVN: r176867
      95f89bb3
    • Kai Tietz's avatar
      tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case. · 98958241
      Kai Tietz authored
      2011-07-28  Kai Tietz  <ktietz@redhat.com>
      
              * tree-vrp.c (simplify_stmt_using_ranges): Remove
              TRUTH_NOT_EXPR case.
              (simplify_truth_ops_using_ranges): Likewise.
              (build_assert_expr_for): Likewise.
              (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
              and handle BIT_NOT_EXPR for truth-operation.
      
      From-SVN: r176866
      98958241
    • Georg-Johann Lay's avatar
      re PR target/49313 (Inefficient libgcc implementations for avr) · f627fef2
      Georg-Johann Lay authored
      	PR target/49313
      	Undo r176835 from trunk
      	2011-07-27  Georg-Johann Lay
      
      From-SVN: r176865
      f627fef2
    • Alan Modra's avatar
      update copyright · c35c943f
      Alan Modra authored
      From-SVN: r176863
      c35c943f
    • Georg-Johann Lay's avatar
      re PR target/49687 ([avr] Missed optimization for widening MUL) · 296799ba
      Georg-Johann Lay authored
      	
      	PR target/49687
      	* config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
      	Add _muluhisi3, _mulshisi3, _usmulhisi3.
      	* config/avr/libgcc.S (__mulsi3): Rewrite.
      	(__mulhisi3): Rewrite.
      	(__umulhisi3): Rewrite.
      	(__usmulhisi3): New.
      	(__muluhisi3): New.
      	(__mulshisi3): New.
      	(__mulohisi3): New.
      	(__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
      	declare.
      	* config/avr/predicates.md (pseudo_register_operand): Rewrite.
      	(pseudo_register_or_const_int_operand): New.
      	(combine_pseudo_register_operand): New.
      	(u16_operand): New.
      	(s16_operand): New.
      	(o16_operand): New.
      	* config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
      	* config/avr/avr.md (QIHI, QIHI2): New mode iterators.
      	(any_extend, any_extend2): New code iterators.
      	(extend_prefix): New code attribute.
      	(mulsi3): Rewrite. Turn insn to expander.
      	(mulhisi3): Ditto.
      	(umulhisi3): Ditto.
      	(usmulhisi3): New expander.
      	(*mulsi3): New insn-and-split.
      	(mulu<mode>si3): New insn-and-split.
      	(muls<mode>si3): New insn-and-split.
      	(mulohisi3): New insn-and-split.
      	(*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
      	*usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
      	*sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
      	*ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
      	insn-and-split.
      	(*mulsi3_call): Rewrite.
      	(*mulhisi3_call): Rewrite.
      	(*umulhisi3_call): Rewrite.
      	(*usmulhisi3_call): New insn.
      	(*muluhisi3_call): New insn.
      	(*mulshisi3_call): New insn.
      	(*mulohisi3_call): New insn.
      	(extendqihi2): Use combine_pseudo_register_operand as predicate
      	for operand 1.
      	(extendqisi2): Ditto.
      	(zero_extendqihi2): Ditto.
      	(zero_extendqisi2): Ditto.
      	(zero_extendhisi2): Ditto.
      	(extendhisi2): Ditto. Don't early-clobber operand 0.
      
      From-SVN: r176862
      296799ba
    • Alan Modra's avatar
      linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if... · 2374a88a
      Alan Modra authored
      linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub.
      
      	* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
      	Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
      	in a plt call stub.  Do restore r2 if stopped on bctrl.
      
      From-SVN: r176861
      2374a88a
    • Uros Bizjak's avatar
      i386.c (add->lea splitter): Add SWI mode to PLUS RTX. · d8fa1b73
      Uros Bizjak authored
      	* config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
      
      From-SVN: r176860
      d8fa1b73
    • Jakub Jelinek's avatar
      i386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized away. · 542550cf
      Jakub Jelinek authored
      	* gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
      	the builtin isn't optimized away.
      
      From-SVN: r176859
      542550cf
    • GCC Administrator's avatar
      Daily bump. · 1c9275a9
      GCC Administrator authored
      From-SVN: r176856
      1c9275a9
  2. Jul 27, 2011
    • Tobias Burnus's avatar
      re PR fortran/45586 (ICE non-trivial conversion at assignment) · 4bfd470b
      Tobias Burnus authored
      2011-07-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45586
              * trans-types.c (gfc_get_derived_type): Ensure that pointer
              component types are marked as nonrestricted.
      
      2011-07-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45586
              * gfortran.dg/lto/pr45586-2_0.f90: New.
      
      From-SVN: r176852
      4bfd470b
    • Aldy Hernandez's avatar
      re PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c) · fa8a398e
      Aldy Hernandez authored
             PR middle-end/49875
              * c-c++-common/cxxbitfields-4.c: Check for smaller than long
              moves.
              * c-c++-common/cxxbitfields-5.c: Same.
      
      From-SVN: r176848
      fa8a398e
    • Paolo Carlini's avatar
      re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr) · fa459900
      Paolo Carlini authored
      2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/49813
      	* include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.
      
      From-SVN: r176847
      fa459900
    • Ulrich Weigand's avatar
      target-supports.exp (check_effective_target_mmap): Use check_function_available. · a5f9523c
      Ulrich Weigand authored
      	* lib/target-supports.exp (check_effective_target_mmap): Use
      	check_function_available.
      
      From-SVN: r176846
      a5f9523c
    • Jeffrey Yasskin's avatar
      Propagate the source location of a template's function_decl to the template_decl built out of it. · ce77c22f
      Jeffrey Yasskin authored
      Propagate the source location of a template's function_decl to the
      template_decl built out of it.  Without this, specializations
      generated before the template was defined get the location of the
      closing ')' instead of the location of the template's name, which can
      produce inconsistent locations between translation units, which makes
      gold's ODR checker unhappy.
      
      	* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
      	location to the new template_decl.
      	* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
      	* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
      
      From-SVN: r176845
      ce77c22f
    • Jakub Jelinek's avatar
      re PR target/49866 (-mcmodel=large tail call fails to assemble) · f22cfb2e
      Jakub Jelinek authored
      	PR target/49866
      	* gcc.target/i386/pr49866.c: New test.
      
      From-SVN: r176842
      f22cfb2e
    • Yukhin Kirill's avatar
      Add BMI testcases. · 084e45a5
      Yukhin Kirill authored
      2011-07-27  Yukhin Kirill  <kirill.yukhin@intel.com>
      
      	* gcc.target/i386/i386.exp (check_effective_target_bmi): New.
      	* gcc.target/i386/bmi-andn-1.c: New test.
      	* gcc.target/i386/bmi-andn-1a.c: Likewise.
      	* gcc.target/i386/bmi-andn-2.c: Likewise.
      	* gcc.target/i386/bmi-andn-2a.c: Likewise.
      	* gcc.target/i386/bmi-bextr-1.c: Likewise.
      	* gcc.target/i386/bmi-bextr-1a.c: Likewise.
      	* gcc.target/i386/bmi-bextr-2.c: Likewise.
      	* gcc.target/i386/bmi-bextr-2a.c: Likewise.
      	* gcc.target/i386/bmi-blsi-1.c: Likewise.
      	* gcc.target/i386/bmi-blsi-1a.c: Likewise.
      	* gcc.target/i386/bmi-blsi-2.c: Likewise.
      	* gcc.target/i386/bmi-blsi-2a.c: Likewise.
      	* gcc.target/i386/bmi-blsmsk-1.c: Likewise.
      	* gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
      	* gcc.target/i386/bmi-blsmsk-2.c: Likewise.
      	* gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
      	* gcc.target/i386/bmi-blsr-1.c: Likewise.
      	* gcc.target/i386/bmi-blsr-1a.c: Likewise.
      	* gcc.target/i386/bmi-blsr-2.c: Likewise.
      	* gcc.target/i386/bmi-blsr-2a.c: Likewise.
      	* gcc.target/i386/bmi-tzcnt-1.c: Likewise.
      	* gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
      	* gcc.target/i386/bmi-tzcnt-2.c: Likewise.
      	* gcc.target/i386/bmi-tzcnt-2a.c: Likewise.
      
      From-SVN: r176840
      084e45a5
    • Sebastian Pop's avatar
      Fix PR49471: canonicalize_loop_ivs should not generate unsigned types. · 3689198d
      Sebastian Pop authored
      2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR tree-optimization/49471
      	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
      	iv only when the largest type is unsigned.  Do not call
      	lang_hooks.types.type_for_size.
      
      	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
      	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
      
      From-SVN: r176838
      3689198d
    • Sebastian Pop's avatar
      PR45450: disable legality check after an openscop read · 27165edd
      Sebastian Pop authored
      2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/45450
      	* graphite-poly.c (apply_poly_transforms): Disable legality check
      	after an openscop read.
      
      From-SVN: r176837
      27165edd
    • Sebastian Pop's avatar
      Fix PR47691: do not abort compilation when code generation fails · bd4a54da
      Sebastian Pop authored
      2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/47691
      	* graphite-clast-to-gimple.c (translate_clast_user): Update use of
      	copy_bb_and_scalar_dependences.
      	* sese.c (rename_uses): Do not call gcc_assert.  Set gloog_error.
      	(graphite_copy_stmts_from_block): Update call to rename_uses.
      	(copy_bb_and_scalar_dependences): Update call to
      	graphite_copy_stmts_from_block.
      	* sese.h (copy_bb_and_scalar_dependences): Update declaration.
      
      	* gfortran.dg/graphite/id-pr47691.f: New.
      
      From-SVN: r176836
      bd4a54da
    • Georg-Johann Lay's avatar
      re PR target/49313 (Inefficient libgcc implementations for avr) · 04c9ea12
      Georg-Johann Lay authored
      	
      	PR target/49313
      	* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
      	(__ctzsi2): Result for 0 may be undefined.
      	(__ctzhi2): Result for 0 may be undefined.
      	(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
      	(__popcountsi2): Ditto. And don't clobber r26.
      	(__popcountdi2): Ditto. And don't clobber r27.
      	* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
      	(parityhi2): New expand.
      	(paritysi2): New expand.
      	(popcounthi2): New expand.
      	(popcountsi2): New expand.
      	(clzhi2): New expand.
      	(clzsi2): New expand.
      	(ctzhi2): New expand.
      	(ctzsi2): New expand.
      	(ffshi2): New expand.
      	(ffssi2): New expand.
      	(copysignsf3): New insn.
      	(bswapsi2): New expand.
      	(*parityhi2.libgcc): New insn.
      	(*parityqihi2.libgcc): New insn.
      	(*paritysihi2.libgcc): New insn.
      	(*popcounthi2.libgcc): New insn.
      	(*popcountsi2.libgcc): New insn.
      	(*popcountqi2.libgcc): New insn.
      	(*popcountqihi2.libgcc): New insn-and-split.
      	(*clzhi2.libgcc): New insn.
      	(*clzsihi2.libgcc): New insn.
      	(*ctzhi2.libgcc): New insn.
      	(*ctzsihi2.libgcc): New insn.
      	(*ffshi2.libgcc): New insn.
      	(*ffssihi2.libgcc): New insn.
      	(*bswapsi2.libgcc): New insn.
      
      From-SVN: r176835
      04c9ea12
    • Uros Bizjak's avatar
      i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes. · 479a4921
      Uros Bizjak authored
      	* config/i386/i386.c (ix86_expand_move): Do not explicitly check
      	the mode of symbolic_opreand RTXes.
      
      From-SVN: r176834
      479a4921
    • Uros Bizjak's avatar
      predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands. · 7aecd4e8
      Uros Bizjak authored
      	* config/i386/predicates.md (x86_64_movabs_operand): Reject
      	pic32_bit_operand operands.
      	* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
      	in DImode.
      
      From-SVN: r176833
      7aecd4e8
    • Uros Bizjak's avatar
      avx-os-support.h: New. · 5019a14e
      Uros Bizjak authored
      	* gcc.target/i386/avx-os-support.h: New.
      	* gcc.target/i386/avx-check.h: Include avx-os-support.h
      	(main): Check avx_os_support before the test is run.
      	* gcc.target/i386/aes-avx-check.h: Ditto.
      	* gcc.target/i386/pclmul-avx-check.h: Ditto.
      
      From-SVN: r176829
      5019a14e
    • Kai Tietz's avatar
      i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too. · 2fe83a0c
      Kai Tietz authored
              * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
              for 32-bit, too.
              (ix86_handle_abi_attribute): Allow function attributes
              ms_abi/sysv_abi in 32-bit mode, too.
              * doc/extend.texi: Adjust attribute documentation.
      
              * gcc.target/i386/aggregate-ret3.c: New test.
              * gcc.target/i386/aggregate-ret4.c: New test.
      
      From-SVN: r176828
      2fe83a0c
    • Kai Tietz's avatar
      gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling. · eb9820c0
      Kai Tietz authored
      2011-07-27  Kai Tietz  <ktietz@redhat.com>
      
              * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
              expression handling.
              (and_var_with_comparison_1): Likewise.
      
      From-SVN: r176827
      eb9820c0
    • Aldy Hernandez's avatar
      params.h (ALLOW_STORE_DATA_RACES): New. · 1169e45d
      Aldy Hernandez authored
      	* params.h (ALLOW_STORE_DATA_RACES): New.
      	* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
      	* Makefile.in (expr.o): Depend on PARAMS_H.
      	* machmode.h (get_best_mode): Add argument.
      	* fold-const.c (optimize_bit_field_compare): Add argument to
      	get_best_mode.
      	(fold_truthop): Same.
      	* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
      	* expr.c (emit_group_store): Same.
      	(copy_blkmode_from_reg): Same.
      	(write_complex_part): Same.
      	(optimize_bitfield_assignment_op): Add argument.
      	Add argument to get_best_mode.
      	(get_bit_range): New.
      	(expand_assignment): Calculate maxbits and pass it down
      	accordingly.
      	(store_field): New argument.
      	(expand_expr_real_2): New argument to store_field.
      	Include params.h.
      	* expr.h (store_bit_field): New argument.
      	* stor-layout.c (get_best_mode): Restrict mode expansion by taking
      	into account maxbits.
      	* calls.c (store_unaligned_arguments_into_pseudos): New argument
      	to store_bit_field.
      	* expmed.c (store_bit_field_1): New argument.  Use it.
      	(store_bit_field): Same.
      	(store_fixed_bit_field): Same.
      	(store_split_bit_field): Same.
      	(extract_bit_field_1): Pass new argument to get_best_mode.
      	(extract_bit_field): Same.
      	* stmt.c (store_bit_field): Pass new argument to store_bit_field.
      	* doc/invoke.texi: Document parameter allow-store-data-races.
      
      From-SVN: r176824
      1169e45d
    • Daniel Carrera's avatar
      re PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already allocated vars) · 4f13e17f
      Daniel Carrera authored
      2011-07-26  Daniel Carrera  <dcarrera@gmail.com>
      
      	PR fortran/49755
      	* trans.c (gfc_allocate_using_malloc): Change function signature.
      	Return nothing. New parameter "pointer". Eliminate temorary variables.
      	(gfc_allocate_using_lib): Ditto.
      	(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
      	and gfc_allocate_using_malloc. Do not free and then reallocate a
      	variable that is already allocated.
      	(gfc_likely): New function. Basedon gfc_unlikely.
      	* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
      	Instructions to modify the array descriptor are stored in this block
      	while other instructions continue to be stored in "pblock".
      	(gfc_array_allocate): Update call to gfc_array_init_size. Move the
      	descriptor_block so that the array descriptor is only updated if
      	the array was allocated successfully.
      	Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
      	* trans.h (gfc_allocate_allocatable): Change function signature.
      	Function now returns void.
      	(gfc_allocate_using_lib): Ditto, and new function parameter.
      	(gfc_allocate_using_malloc): Ditto.
      	* trans-openmp.c (gfc_omp_clause_default_ctor,
      	gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
      	to gfc_allocate_allocatable with gfc_allocate_using_malloc.
      	* trans-stmt.c (gfc_trans_allocate): Update function calls for
      	gfc_allocate_allocatable and gfc_allocate_using_malloc.
      
      
      
      2011-07-26  Daniel Carrera  <dcarrera@gmail.com>
      
      	PR fortran/49755
      	* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
      	allocated array should *not* change its size.
      	* gfortran.dg/multiple_allocation_3.f90: New test.
      
      From-SVN: r176822
      4f13e17f
    • Jakub Jelinek's avatar
      dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string. · 7bbdd4e9
      Jakub Jelinek authored
      	* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
      	to GC allocated copy of the string.
      	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
      	before .debug_line, not after it.
      
      From-SVN: r176819
      7bbdd4e9
    • Kai Tietz's avatar
      tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new bitwise-cases. · aebf4828
      Kai Tietz authored
      2011-07-27  Kai Tietz  <ktietz@redhat.com>
      
              * tree-vrp.c (extract_range_from_binary_expr): Remove
              TRUTH-binary cases and add new bitwise-cases.
              (extract_range_from_assignment): Likewise.
              (register_edge_assert_for_1): Likeiwise.
              (register_edge_assert_for): Likewise.
              (simplify_truth_ops_using_ranges): Likewise.
              (simplify_stmt_using_ranges): Likewise.
      
      From-SVN: r176818
      aebf4828
    • GCC Administrator's avatar
      Daily bump. · d2a99e87
      GCC Administrator authored
      From-SVN: r176816
      d2a99e87
  3. Jul 26, 2011
    • H.J. Lu's avatar
      Call simplify_gen_subreg for PIC with mode of x. · 65ceed36
      H.J. Lu authored
      2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/47372
      	* config/i386/i386.c (ix86_delegitimize_address): Call
      	simplify_gen_subreg for PIC with mode of x only if modes of
      	x and orig_x are different.
      
      From-SVN: r176812
      65ceed36
    • Jakub Jelinek's avatar
      dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string. · b56bc05b
      Jakub Jelinek authored
      	* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
      	to GC allocated copy of the string.
      	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
      	before .debug_line, not after it.
      
      From-SVN: r176811
      b56bc05b
    • Paolo Carlini's avatar
      re PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics.c:5499) · 625f85e9
      Paolo Carlini authored
      /cp
      2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/49776
      	* typeck.c (cp_build_modify_expr): Check digest_init return value
      	for error_mark_node.
      
      /testsuite
      2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/49776
      	* g++.dg/cpp0x/constexpr-49776.C: New.
      
      From-SVN: r176809
      625f85e9
    • Sebastian Pop's avatar
      Fix PR47046: correct evolution_function_is_affine_p · bce26def
      Sebastian Pop authored
      "Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"
      
      The problem here is that we are left with the following code to be
      translated in the new representation following the transform that
      Graphite has chosen:
      
              D.2709_14 = j_33 * i_32;
              D.2710_15 = D.2709_14 * i_32;
              D.2711_16 = D.2710_15 * sign_34;
              *D.2708_13 = D.2711_16;
      
      In this particular case we have a nonlinear expression "i * i" for
      which we have to generate code following the new graphite_iv variables.
      
      The patch fixes the function that detects whether we are passing non
      linear stuff to graphite: evolution_function_is_affine_p.  It seems
      like for the moment evolution_function_is_affine_p is testing whether
      an evolution function is affine only in the innermost loop, without
      looking recursively at what happens in outer loops.
      
      The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
      testing whether the evolution is affine only for the loop_2, which is
      true as we have {0, +, blah}_2 with blah invariant in loop_2.
      
      The patch adds the recursive call to evolution_function_is_affine_p.
      
      Bootstrapped and tested on amd64-linux.
      
      2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/47046
      	* tree-chrec.h (evolution_function_is_affine_p): Recursively call
      	evolution_function_is_affine_p on CHREC_RIGHT.
      
      	* gcc.dg/graphite/id-pr47046.c: New.
      
      From-SVN: r176805
      bce26def
    • Sebastian Pop's avatar
      Avoid use of lang_hooks.types.type_for_size. · 5f72e02d
      Sebastian Pop authored
      2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* tree-data-ref.c (max_stmt_executions_tree): Do not call
      	lang_hooks.types.type_for_size.
      
      From-SVN: r176804
      5f72e02d
    • Sebastian Pop's avatar
      Add testcase for PR47593 · 7e806cfa
      Sebastian Pop authored
      2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/47653
      	* gcc.dg/graphite/run-id-pr47593.c: New.
      
      From-SVN: r176803
      7e806cfa
    • Sebastian Pop's avatar
      Fix PR47653: do not handle loops using wrapping semantics in graphite · cbc1994b
      Sebastian Pop authored
      2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/47653
      	* graphite-scop-detection.c (graphite_can_represent_loop): Discard
      	loops using wrapping semantics.
      
      	* gcc.dg/graphite/run-id-pr47653.c: New.
      	* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
      	induction variables.
      	* gcc.dg/graphite/scop-16.c: Same.
      	* gcc.dg/graphite/scop-17.c: Same.
      	* gcc.dg/graphite/scop-21.c: Same.
      
      From-SVN: r176802
      cbc1994b
Loading