[llvm-commits] [llvm] r163257 - in /llvm/trunk: include/llvm/InlineAsm.h lib/CodeGen/MachineInstr.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Chad Rosier
mcrosier at apple.com
Wed Sep 5 15:17:43 PDT 2012
Author: mcrosier
Date: Wed Sep 5 17:17:43 2012
New Revision: 163257
URL: http://llvm.org/viewvc/llvm-project?rev=163257&view=rev
Log:
[ms-inline asm] We only need one bit to represent the AsmDialect in the
MachineInstr.
Modified:
llvm/trunk/include/llvm/InlineAsm.h
llvm/trunk/lib/CodeGen/MachineInstr.cpp
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Modified: llvm/trunk/include/llvm/InlineAsm.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/InlineAsm.h?rev=163257&r1=163256&r2=163257&view=diff
==============================================================================
--- llvm/trunk/include/llvm/InlineAsm.h (original)
+++ llvm/trunk/include/llvm/InlineAsm.h Wed Sep 5 17:17:43 2012
@@ -214,8 +214,7 @@
// Interpretation of the MIOp_ExtraInfo bit field.
Extra_HasSideEffects = 1,
Extra_IsAlignStack = 2,
- Extra_ATTDialect = 3, // AT&T AsmDialect.
- Extra_IntelDialect = 4, // Intel AsmDialect.
+ Extra_AsmDialect = 3,
// Inline asm operands map to multiple SDNode / MachineInstr operands.
// The first operand is an immediate describing the asm operand, the low
Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=163257&r1=163256&r2=163257&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Wed Sep 5 17:17:43 2012
@@ -970,11 +970,7 @@
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 @@
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;
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=163257&r1=163256&r2=163257&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Wed Sep 5 17:17:43 2012
@@ -6084,10 +6084,8 @@
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()));
More information about the llvm-commits
mailing list