[llvm-branch-commits] [llvm] [MIR][NFC] Fix printing INLINEASM dialects. (PR #186797)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Mar 16 06:30:15 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-ir
Author: Ivan Kosarev (kosarev)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/186797.diff
3 Files Affected:
- (modified) llvm/include/llvm/IR/InlineAsm.h (+5-3)
- (modified) llvm/lib/CodeGen/MachineInstr.cpp (+1-1)
- (modified) llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir (+2-3)
``````````diff
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
...
``````````
</details>
https://github.com/llvm/llvm-project/pull/186797
More information about the llvm-branch-commits
mailing list