This is an archive of the discontinued LLVM Phabricator instance.

Add helper functions in Statepoint.h to handle invoke statepoints.
ClosedPublic

Authored by igor-laevsky on Feb 2 2015, 3:51 PM.

Details

Summary

This patch adds invoke related functionality into StatepointSite classes. Uses of it will follow up in the next few patches shortly.

Diff Detail

Repository
rL LLVM

Event Timeline

igor-laevsky retitled this revision from to Add helper functions in Statepoint.h to handle invoke statepoints..
igor-laevsky updated this object.
igor-laevsky edited the test plan for this revision. (Show Details)
igor-laevsky added a reviewer: reames.
igor-laevsky set the repository for this revision to rL LLVM.
igor-laevsky added a subscriber: Unknown Object (MLST).
reames edited edge metadata.Feb 3 2015, 8:59 AM

Some style cleanup needed. Comments inline.

include/llvm/IR/Statepoint.h
32 ↗(On Diff #19197)

If we have the versions that take Value's, why do we need versions which take Instructions? Shouldn't the later match the former?

202 ↗(On Diff #19197)

Doxygen comment please

218 ↗(On Diff #19197)

Add a comment here. This combines both call statepoints and the normal path of invokes right?

272 ↗(On Diff #19197)

Make this an early return to reduce indentation.

273 ↗(On Diff #19197)

LandingPad please

igor-laevsky edited edge metadata.

Ping?

include/llvm/IR/Statepoint.h
32 ↗(On Diff #19197)

Because in case if we will pass Instruction* it will be converted into ImmutableCallSite instead of the Value*. Anyway on a second thought I figured out nicer way to express this in the code - check updated diff.

LGTM, I assume you'd like me to commit on your behalf? If so, I'll do so in the morning.

Yes, please commit on my behalf.

This revision was automatically updated to reflect the committed changes.