Skip to content

Commit

Permalink
[AVR] Fix a bug where asm operands are printed twice
Browse files Browse the repository at this point in the history
We would unconditionally call printOperand, even if PrintAsmOperand
already printed the immediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294121 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Dylan McKay committed Feb 5, 2017
1 parent 10348c4 commit 55c879f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/Target/AVR/AVRAsmPrinter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,8 @@ bool AVRAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
}
}

printOperand(MI, OpNum, O);
if (Error)
printOperand(MI, OpNum, O);

return false;
}
Expand Down
8 changes: 8 additions & 0 deletions test/CodeGen/AVR/no-print-operand-twice.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
; RUN: llc -no-integrated-as -march=avr < %s | FileCheck %s

define void @test() {
entry:
; CHECK: /* result: 68719476738 */
tail call void asm sideeffect "/* result: ${0:c} */", "i,~{dirflag},~{fpsr},~{flags}"( i64 68719476738 )
ret void
}

0 comments on commit 55c879f

Please sign in to comment.