This is an archive of the discontinued LLVM Phabricator instance.

Add support for nested blocks in Microsoft inline assembly
ClosedPublic

Authored by ehsan on Jul 5 2014, 12:58 PM.

Details

Reviewers
majnemer
Summary

Diff Detail

Event Timeline

ehsan updated this revision to Diff 11101.Jul 5 2014, 12:58 PM
ehsan retitled this revision from to Add support for nested blocks in Microsoft inline assembly.
ehsan updated this object.
ehsan edited the test plan for this revision. (Show Details)
ehsan added a reviewer: majnemer.
ehsan added a subscriber: Unknown Object (MLST).
majnemer edited edge metadata.Jul 5 2014, 1:57 PM

Awesome!

Does this also glue together consecutive __asm statements that aren't in a
block?

Like:
asm mov 1, eax
asm add eax, ecx

That should turn into a single inline assembly IR instruction.

majnemer accepted this revision.Jul 5 2014, 10:18 PM
majnemer edited edge metadata.

LGTM with requested changes addressed.

lib/Parse/ParseStmtAsm.cpp
463

We should probably assert that LBraceLocs isn't empty at this point.

This revision is now accepted and ready to land.Jul 5 2014, 10:18 PM
ehsan closed this revision.Jul 5 2014, 10:35 PM

Landed in r212389 with the review comment addressed.