This is an archive of the discontinued LLVM Phabricator instance.

Generate Loop Fusion Statistics
Needs ReviewPublic

Authored by cestes on Oct 22 2014, 8:43 AM.

Details

Reviewers
dpeixott
Summary

This change creates statistics for loop fusion and reports them
when statistics are enabled and the schedule optimizer's fusion
strategy is set to max.

Diff Detail

Event Timeline

cestes updated this revision to Diff 15243.Oct 22 2014, 8:43 AM
cestes retitled this revision from to Generate Loop Fusion Statistics.
cestes updated this object.
cestes edited the test plan for this revision. (Show Details)
cestes added reviewers: grosser, dpeixott.
cestes added a subscriber: Unknown Object (MLST).

Some comments. Also take a look at http://reviews.llvm.org/D5283 and if that isn't good reuse the test cases.

lib/Transform/ScheduleOptimizer.cpp
618

Extract this (see below)

634

Extract this (see above)

696

Move that in the begin loop:

void f(int *restrict A, int *restrict B) {

int i, j;
for (i = 0; i < 10; i++)
  B[i] = 0;

for (i = 0; i < 1024; i++) {
  for (j = 0; j < 1024; j++)
    A[i+j] ^= 4;
  for (j = 0; j < 1024; j++)
    A[i+j] ^= 4;
}
706

This should produce a warning: unsigned >= 0 is always true

708

This can crash, not every stmt has loop dimension loops surrounding it.

grosser resigned from this revision.Feb 25 2016, 12:39 PM
grosser removed a reviewer: grosser.

This patch seems badly outdated. If you guys need my feedback on a rebased version of this patch, please add me back. Meanwhile I drop out to keep my review log clean