diff options
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 6 |
2 files changed, 5 insertions, 11 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index dad6840015d..362d99a8a45 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -970,11 +970,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(); - if (ExtraInfo & InlineAsm::Extra_IntelDialect) - return InlineAsm::AD_Intel; - - assert((ExtraInfo & InlineAsm::Extra_ATTDialect) && "Expected AT&T dialect!"); - return InlineAsm::AD_ATT; // The default. + return InlineAsm::AsmDialect((ExtraInfo >> 2) & 1); } int MachineInstr::findInlineAsmFlagIdx(unsigned OpIdx, @@ -1579,9 +1575,9 @@ void MachineInstr::print(raw_ostream &OS, const TargetMachine *TM) const { OS << " [sideeffect]"; if (ExtraInfo & InlineAsm::Extra_IsAlignStack) OS << " [alignstack]"; - if (ExtraInfo & InlineAsm::Extra_ATTDialect) + if (getInlineAsmDialect() == InlineAsm::AD_ATT) OS << " [attdialect]"; - if (ExtraInfo & InlineAsm::Extra_IntelDialect) + if (getInlineAsmDialect() == InlineAsm::AD_Intel) OS << " [inteldialect]"; StartOp = AsmDescOp = InlineAsm::MIOp_FirstOperand; diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index c26a3d41b48..d81c376fe12 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -6084,10 +6084,8 @@ void SelectionDAGBuilder::visitInlineAsm(ImmutableCallSite CS) { ExtraInfo |= InlineAsm::Extra_HasSideEffects; if (IA->isAlignStack()) ExtraInfo |= InlineAsm::Extra_IsAlignStack; - if (IA->getDialect() == InlineAsm::Extra_ATTDialect) - ExtraInfo |= InlineAsm::Extra_ATTDialect; - if (IA->getDialect() == InlineAsm::Extra_IntelDialect) - ExtraInfo |= InlineAsm::Extra_IntelDialect; + // Set the asm dialect. + ExtraInfo |= IA->getDialect() << 2; AsmNodeOperands.push_back(DAG.getTargetConstant(ExtraInfo, TLI.getPointerTy())); |