------- Additional Comments From sebastian dot pop at cri dot ensmp dot fr  
2005-08-15 00:34 -------
Subject: Re:  [4.1 regression] Tree checking failure due to scev

This patch should fix the problem.  There are some more cases that use
build_int_cst instead of build_real.  I'll propose a more complete
patch later.

*** tree-scalar-evolution.c.~2.35.~     2005-08-13 19:06:26.000000000 +0200
--- tree-scalar-evolution.c     2005-08-15 02:36:50.000000000 +0200
***************
*** 1680,1686 ****
        opnd10 = TREE_OPERAND (opnd1, 0);
        chrec10 = analyze_scalar_evolution (loop, opnd10);
        chrec10 = chrec_convert (type, chrec10, at_stmt);
!       res = chrec_fold_minus (type, build_int_cst (type, 0), chrec10);
        break;
  
      case MULT_EXPR:
--- 1680,1688 ----
        opnd10 = TREE_OPERAND (opnd1, 0);
        chrec10 = analyze_scalar_evolution (loop, opnd10);
        chrec10 = chrec_convert (type, chrec10, at_stmt);
!       res = chrec_fold_multiply (type, chrec10, SCALAR_FLOAT_TYPE_P (type)
!                                 ? build_real (type, dconstm1)
!                                 : build_int_cst_type (type, -1));
        break;
  
      case MULT_EXPR:
*** tree-chrec.c.~2.23.~        2005-08-13 19:06:26.000000000 +0200
--- tree-chrec.c        2005-08-15 02:20:51.000000000 +0200
***************
*** 284,291 ****
            return build_polynomial_chrec 
              (CHREC_VARIABLE (op1), 
               chrec_fold_minus (type, op0, CHREC_LEFT (op1)),
!              chrec_fold_multiply (type, CHREC_RIGHT (op1),
!                                   build_int_cst_type (type, -1)));
  
        default:
          {
--- 284,292 ----
            return build_polynomial_chrec 
              (CHREC_VARIABLE (op1), 
               chrec_fold_minus (type, op0, CHREC_LEFT (op1)),
!              chrec_fold_multiply (type, CHREC_RIGHT (op1), 
SCALAR_FLOAT_TYPE_P (type)
!                                   ? build_real (type, dconstm1)
!                                   : build_int_cst_type (type, -1)));
  
        default:
          {


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23391

Reply via email to