This is an archive of the discontinued LLVM Phabricator instance.

Preserve blockaddress use edges in the module splitter.
ClosedPublic

Authored by eugenis on Mar 28 2016, 4:48 PM.

Details

Reviewers
pcc
Summary

"blockaddress" can not apply to an external function. All
blockaddress constant uses must belong to the same module as the
definition of the target function.

Diff Detail

Repository
rL LLVM

Event Timeline

eugenis updated this revision to Diff 51855.Mar 28 2016, 4:48 PM
eugenis retitled this revision from to Preserve blockaddress use edges in the module splitter..
eugenis updated this object.
eugenis added a reviewer: pcc.
eugenis set the repository for this revision to rL LLVM.
eugenis added a subscriber: llvm-commits.
eugenis updated this revision to Diff 51858.Mar 28 2016, 5:03 PM
pcc added inline comments.Mar 30 2016, 7:25 PM
lib/Transforms/Utils/SplitModule.cpp
125

I don't think you need the PreserveLocals && part here, as the RHS can only be true if the LHS is true.

eugenis updated this revision to Diff 52267.Mar 31 2016, 12:53 PM
eugenis added inline comments.
lib/Transforms/Utils/SplitModule.cpp
125

good point, removed

pcc accepted this revision.Mar 31 2016, 2:36 PM
pcc edited edge metadata.

LGTM

This revision is now accepted and ready to land.Mar 31 2016, 2:36 PM
eugenis closed this revision.Mar 31 2016, 2:59 PM
eugenis updated this revision to Diff 52294.
eugenis edited edge metadata.

r265061