This is an archive of the discontinued LLVM Phabricator instance.

Vectorizer: Refactor code for runtime checks generation.
ClosedPublic

Authored by mzolotukhin on May 28 2015, 11:56 AM.

Details

Summary

This is the main part of the refactoring patch D9332, it should be easier to
review it in phabricator. The other parts are trivial, and I don't think there
is a need in uploading them (but of course I can do so, if that'll make the
review easier).

Diff Detail

Event Timeline

mzolotukhin retitled this revision from to Vectorizer: Refactor code for runtime checks generation..
mzolotukhin updated this object.
mzolotukhin edited the test plan for this revision. (Show Details)
mzolotukhin added a subscriber: Unknown Object (MLST).
hfinkel added inline comments.Jun 22 2015, 3:25 PM
lib/Transforms/Vectorize/LoopVectorize.cpp
2572

Are you eliminating the need for this anchor instruction because you're splitting the block later?

2612

loops -> loop's

mzolotukhin added inline comments.Jun 23 2015, 8:14 PM
lib/Transforms/Vectorize/LoopVectorize.cpp
2572

Yes, exactly. When we split the basic block at the moment when we're going to populate it with instructions, we no longer need any anchors.

2612

Thanks, I'll fix that.

  • s/loops/loop's/

Also rebased on trunk. Does it look good?

hfinkel accepted this revision.Jul 2 2015, 4:45 PM
hfinkel edited edge metadata.

Yes, LGTM.

This revision is now accepted and ready to land.Jul 2 2015, 4:45 PM
mzolotukhin closed this revision.Jul 8 2015, 2:51 PM

Thanks, Hal!

I committed the patches in r241738...r241742. It's slightly different from the one posted here, because the trunk has changed recently, but the idea is the same.

Michael