This is an archive of the discontinued LLVM Phabricator instance.

[InlineAsm][X86] Add backend support for X86 flag output parameters.
ClosedPublic

Authored by niravd on Jan 29 2019, 9:32 AM.

Details

Summary

Allow custom handling of inline assembly output parameters and add X86
flag parameter support.

Diff Detail

Event Timeline

niravd created this revision.Jan 29 2019, 9:32 AM
niravd retitled this revision from [SelectionDAGBuilder] Refactor Inline Asm output check. NFCI. to [InlineAsm][X86] Add backend support for X86 flag output parameters..
niravd edited the summary of this revision. (Show Details)

FYI: only reviewed the SelectionDAGBuilder parts.

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
7700–7701

Please update this comment

7931

Previous code was using IA (that is the output of getCalledValue on the CallSite) rather than the instruction. From what I saw your change is correct as this parameter only gets used indirectly in diagnosePossiblyInvalidConstraint which expects an instruction. Can you confirm?

7943

are manifest -> manifest

rnk added inline comments.Jan 29 2019, 3:01 PM
llvm/test/CodeGen/X86/inline-asm-flag-output.ll
2

FileCheck the output? I wanted to check what this patch does before going back to look at the code. :)

niravd updated this revision to Diff 185152.Feb 4 2019, 1:48 PM
niravd marked 5 inline comments as done.

Actually do FileCheck and improve comments.

Herald added a project: Restricted Project. · View Herald TranscriptFeb 4 2019, 1:48 PM
rnk accepted this revision.Feb 4 2019, 2:56 PM

Nice, looks good to me. :)

This revision is now accepted and ready to land.Feb 4 2019, 2:56 PM
niravd closed this revision.Feb 6 2019, 10:50 AM

Landed in r353307.

llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
7931

Your understanding matches mine.