[llvm-branch-commits] [llvm] [MIR][NFC] Fix printing INLINEASM dialects. (PR #186797)
Ivan Kosarev via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Mar 16 06:28:49 PDT 2026
https://github.com/kosarev created https://github.com/llvm/llvm-project/pull/186797
None
>From 2708ff003ed321b86415f14c3e5d88277f67539c Mon Sep 17 00:00:00 2001
From: Ivan Kosarev <ivan.kosarev at amd.com>
Date: Mon, 16 Mar 2026 13:22:23 +0000
Subject: [PATCH] [MIR][NFC] Fix printing INLINEASM dialects.
---
llvm/include/llvm/IR/InlineAsm.h | 8 +++++---
llvm/lib/CodeGen/MachineInstr.cpp | 2 +-
llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir | 5 ++---
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/llvm/include/llvm/IR/InlineAsm.h b/llvm/include/llvm/IR/InlineAsm.h
index fed0ccc5818f8..564f2e7df2dd3 100644
--- a/llvm/include/llvm/IR/InlineAsm.h
+++ b/llvm/include/llvm/IR/InlineAsm.h
@@ -444,6 +444,10 @@ class InlineAsm final : public Value {
}
};
+ static AsmDialect getDialect(unsigned ExtraInfo) {
+ return ExtraInfo & Extra_AsmDialect ? AD_Intel : AD_ATT;
+ }
+
static std::vector<StringRef> getExtraInfoNames(unsigned ExtraInfo) {
std::vector<StringRef> Result;
if (ExtraInfo & InlineAsm::Extra_HasSideEffects)
@@ -459,9 +463,7 @@ class InlineAsm final : public Value {
if (ExtraInfo & InlineAsm::Extra_MayUnwind)
Result.push_back("unwind");
- AsmDialect Dialect =
- InlineAsm::AsmDialect((ExtraInfo & InlineAsm::Extra_AsmDialect));
-
+ AsmDialect Dialect = getDialect(ExtraInfo);
if (Dialect == InlineAsm::AD_ATT)
Result.push_back("attdialect");
if (Dialect == InlineAsm::AD_Intel)
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index b36d950438fa5..1042856454adf 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -927,7 +927,7 @@ bool MachineInstr::isStackAligningInlineAsm() const {
InlineAsm::AsmDialect MachineInstr::getInlineAsmDialect() const {
assert(isInlineAsm() && "getInlineAsmDialect() only works for inline asms!");
unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
- return InlineAsm::AsmDialect((ExtraInfo & InlineAsm::Extra_AsmDialect) != 0);
+ return InlineAsm::getDialect(ExtraInfo);
}
int MachineInstr::findInlineAsmFlagIdx(unsigned OpIdx,
diff --git a/llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir b/llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
index fce71d62455db..6318a397b58d9 100644
--- a/llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+++ b/llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
@@ -31,9 +31,8 @@ body: |
name: test_inteldialect
body: |
bb.0:
- ; TODO: Fix printing inteldialect.
; CHECK-LABEL: name: test_inteldialect
- ; CHECK: INLINEASM &"", 4
+ ; CHECK: INLINEASM &"", 4 /* inteldialect */
INLINEASM &"", 4
...
@@ -78,6 +77,6 @@ name: test_combined
body: |
bb.0:
; CHECK-LABEL: name: test_combined
- ; CHECK: INLINEASM &"", 13 /* sideeffect mayload */
+ ; CHECK: INLINEASM &"", 13 /* sideeffect mayload inteldialect */
INLINEASM &"", 13
...
More information about the llvm-branch-commits
mailing list