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.