View source code
Display the source code in dmd/backend/gloop.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

dmd.backend.gloop.UnrollWalker - multiple declarations

Struct UnrollWalker

Unroll loop if possible.

struct UnrollWalker ;

Methods

NameDescription
walker Walk e in execution order, fixing it according to state. state == 0: when rdinc is found, remove it, advance to state 1 state == 1: continue, replacing instances of v with v+increment, when second rdinc is found, advance to state 2 state == 2: continue

Parameters

NameDescription
l loop to unroll

Returns

true if loop was unrolled

Struct UnrollWalker

Unroll loop if possible.

struct UnrollWalker ;

Methods

NameDescription
walker Walk e in execution order, fixing it according to state. state == 0: when rdinc is found, remove it, advance to state 1 state == 1: continue, replacing instances of v with v+increment, when second rdinc is found, advance to state 2 state == 2: continue

Parameters

NameDescription
l loop to unroll

Returns

true if loop was unrolled

Authors

Walter Bright

License

Boost License 1.0