This is an archive of the discontinued LLVM Phabricator instance.

[Memcpy Loop Lowering] Insert loop basic block inbetween the split basic block.
ClosedPublic

Authored by sfertile on Dec 13 2017, 1:13 PM.

Details

Summary

When creating the basic block for the loop body when lowering memcpy, place it between the 2 blocks split from the original basic-block.

Diff Detail

Repository
rL LLVM

Event Timeline

sfertile created this revision.Dec 13 2017, 1:13 PM

When creating the basic block for the loop body when lowering memcpy, place it between the 2 blocks split from the original basic-block.

Why? Is this fixing a bug in the current code under some conditions, or preparing for some future changes?

When creating the basic block for the loop body when lowering memcpy, place it between the 2 blocks split from the original basic-block.

Why? Is this fixing a bug in the current code under some conditions, or preparing for some future changes?

Neither, I noticed the difference between the original implementation and the wide implementation when comparing the expansions. Id like to cleanup the new implementation to match as close to the old as possible as part of removing the old implementation.

hfinkel accepted this revision.Dec 14 2017, 12:18 PM

When creating the basic block for the loop body when lowering memcpy, place it between the 2 blocks split from the original basic-block.

Why? Is this fixing a bug in the current code under some conditions, or preparing for some future changes?

Neither, I noticed the difference between the original implementation and the wide implementation when comparing the expansions. Id like to cleanup the new implementation to match as close to the old as possible as part of removing the old implementation.

LGTM. Please say this in the commit message.

This revision is now accepted and ready to land.Dec 14 2017, 12:18 PM
sfertile closed this revision.Dec 18 2017, 8:05 AM

committed in r320848.