aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-24 19:50:58 +0000
committerChris Lattner <sabre@nondot.org>2006-02-24 19:50:58 +0000
commitdaf6bc6347b4785102611bdf21c512e8a7678cce (patch)
treeef9e106c5293e20327c583121983c5479c455488 /lib/CodeGen
parentfd6d282a7154fd724e7fe6abaac358bb3041cb23 (diff)
Pass all the flags to the asm printer, not just the # operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26362 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/AsmPrinter.cpp6
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAG.cpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp
index 9450576a9a..dceaced12f 100644
--- a/lib/CodeGen/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter.cpp
@@ -575,8 +575,10 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
unsigned OpNo = 1;
// Scan to find the machine operand number for the operand.
- for (; Val; --Val)
- OpNo += MI->getOperand(OpNo).getImmedValue()+1;
+ for (; Val; --Val) {
+ unsigned OpFlags = MI->getOperand(OpNo).getImmedValue();
+ OpNo += (OpFlags >> 3) + 1;
+ }
++OpNo; // Skip over the ID number.
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
index b7c7ec37f7..9bc168f7a6 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
@@ -328,7 +328,7 @@ void ScheduleDAG::EmitNode(NodeInfo *NI) {
unsigned Flags = cast<ConstantSDNode>(Node->getOperand(i))->getValue();
unsigned NumVals = Flags >> 3;
- MI->addZeroExtImm64Operand(NumVals);
+ MI->addZeroExtImm64Operand(Flags);
++i; // Skip the ID value.
switch (Flags & 7) {