www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20991] New: Optimizer is not unlining various forms of simple

https://issues.dlang.org/show_bug.cgi?id=20991

          Issue ID: 20991
           Summary: Optimizer is not unlining various forms of simple
                    loops
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: bugzilla digitalmars.com

The optimizer will unroll a loop of the form:

   for (uint i = 0; i < 2; ++i)
       foo(i);

but not:

   for (uint i = 0; i <= 1; ++i)
       foo(i);

or loops with more complex bodies.

It will not unroll more than two iterations. Should be up to 100.

--
Jun 28