This is an archive of the discontinued LLVM Phabricator instance.

TailDuplication: Record blocks that received the duplicated block. NFC.
ClosedPublic

Authored by iteratee on Aug 25 2016, 10:09 AM.

Details

Reviewers
davidxl
Summary

This will allow tail duplication during layout to handle the cfg changes more
cleanly.

Diff Detail

Event Timeline

iteratee updated this revision to Diff 69263.Aug 25 2016, 10:09 AM
iteratee retitled this revision from to TailDuplication: Record blocks that received the duplicated block. NFC..
iteratee updated this object.
iteratee added a reviewer: davidxl.
iteratee set the repository for this revision to rL LLVM.
iteratee added subscribers: echristo, timshen, llvm-commits.
davidxl added inline comments.Aug 25 2016, 10:51 PM
lib/CodeGen/TailDuplicator.cpp
139

.. = std::move(TDBBs);

Or do inplace update:

SmallVector<...> *TDBBP = (DuplicatePreds: DuplicatePreds : &TDBBs);
If (!tailDuplicate(IsSimple, MBB, *TDBBP, Copies);

iteratee updated this revision to Diff 69418.Aug 26 2016, 11:46 AM
iteratee marked an inline comment as done.

use std::move

davidxl accepted this revision.Aug 26 2016, 11:49 AM
davidxl edited edge metadata.

lgtm

This revision is now accepted and ready to land.Aug 26 2016, 11:49 AM

Committed in r279858

iteratee closed this revision.Aug 26 2016, 1:21 PM