[LLVMbugs] [Bug 12764] New: Reassociate does a poor job

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue May 8 05:20:58 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12764

             Bug #: 12764
           Summary: Reassociate does a poor job
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


The computation performed by the following function is equivalent to
multiplying
%x0 by a constant and adding another constant.  The reassociate pass should be
able to work this out but it doesn't even get close.

define i64 @f(i64 %x0) {
  %t0 = add i64 %x0, 1
  %t1 = add i64 %x0, 2
  %t2 = add i64 %x0, 3
  %t3 = add i64 %x0, 4
  %t4 = add i64 %x0, 5
  %t5 = add i64 %x0, 6
  %t6 = add i64 %x0, 7
  %t7 = add i64 %x0, 8
  %t8 = add i64 %x0, 9
  %t9 = add i64 %x0, 10
  %t10 = add i64 %x0, 11
  %t11 = add i64 %x0, 12
  %t12 = add i64 %x0, 13
  %t13 = add i64 %x0, 14
  %t14 = add i64 %x0, 15
  %t15 = add i64 %x0, 16
  %t16 = add i64 %x0, 17
  %t17 = add i64 %x0, 18
  %t18 = add i64 %t17, %t0
  %t19 = add i64 %t18, %t1
  %t20 = add i64 %t19, %t2
  %t21 = add i64 %t20, %t3
  %t22 = add i64 %t21, %t4
  %t23 = add i64 %t22, %t5
  %t24 = add i64 %t23, %t6
  %t25 = add i64 %t24, %t7
  %t26 = add i64 %t25, %t8
  %t27 = add i64 %t26, %t9
  %t28 = add i64 %t27, %t10
  %t29 = add i64 %t28, %t11
  %t30 = add i64 %t29, %t12
  %t31 = add i64 %t30, %t13
  %t32 = add i64 %t31, %t14
  %t33 = add i64 %t32, %t15
  %t34 = add i64 %t33, %t16
  %t35 = add i64 %t34, %x0
  %t36 = add i64 %t0, %t1
  %t37 = add i64 %t36, %t2
  %t38 = add i64 %t37, %t3
  %t39 = add i64 %t38, %t4
  %t40 = add i64 %t39, %t5
  %t41 = add i64 %t40, %t6
  %t42 = add i64 %t41, %t7
  %t43 = add i64 %t42, %t8
  %t44 = add i64 %t43, %t9
  %t45 = add i64 %t44, %t10
  %t46 = add i64 %t45, %t11
  %t47 = add i64 %t46, %t12
  %t48 = add i64 %t47, %t13
  %t49 = add i64 %t48, %t14
  %t50 = add i64 %t49, %t15
  %t51 = add i64 %t50, %t16
  %t52 = add i64 %t51, %t17
  %t53 = add i64 %t52, %t18
  %t54 = add i64 %t53, %t19
  %t55 = add i64 %t54, %t20
  %t56 = add i64 %t55, %t21
  %t57 = add i64 %t56, %t22
  %t58 = add i64 %t57, %t23
  %t59 = add i64 %t58, %t24
  %t60 = add i64 %t59, %t25
  %t61 = add i64 %t60, %t26
  %t62 = add i64 %t61, %t27
  %t63 = add i64 %t62, %t28
  %t64 = add i64 %t63, %t29
  %t65 = add i64 %t64, %t30
  %t66 = add i64 %t65, %t31
  %t67 = add i64 %t66, %t32
  %t68 = add i64 %t67, %t33
  %t69 = add i64 %t68, %t34
  %t70 = add i64 %t69, %t35
  %t71 = add i64 %t70, %x0
  ret i64 %t71
}

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list