From 53799048071ad5746fcbc2dca55cdcf5c5593870 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 21 Aug 2012 00:34:53 +0000 Subject: [PATCH] Add a missing def flag. *** Bad machine code: Explicit definition marked as use *** - function: test_cos - basic block: BB#0 L.entry (0x7ff2a2024fd0) - instruction: VSETLNi32 %D11, %D11, %R0, 0, pred:14, pred:%noreg, %Q5, %Q5 - operand 0: %D11 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162247 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMBaseInstrInfo.cpp | 6 ++---- test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/Target/ARM/ARMBaseInstrInfo.cpp b/lib/Target/ARM/ARMBaseInstrInfo.cpp index 64d80dc67ab..29033e5117f 100644 --- a/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -3464,13 +3464,11 @@ ARMBaseInstrInfo::setExecutionDomain(MachineInstr *MI, unsigned Domain) const { MI->RemoveOperand(0); MI->setDesc(get(ARM::VSETLNi32)); - MIB.addReg(DReg); - MIB.addReg(DReg); + MIB.addReg(DReg, RegState::Define); + MIB.addReg(DReg, RegState::Undef); MIB.addReg(SrcReg); MIB.addImm(Lane); - MIB->getOperand(1).setIsUndef(); - if (isKill) MIB->addRegisterKilled(DstReg, TRI, true); MIB->addRegisterDefined(DstReg, TRI); diff --git a/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll b/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll index 89c01d58c39..bf2db3aa252 100644 --- a/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll +++ b/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=arm -mcpu=cortex-a9 | FileCheck %s +; RUN: llc < %s -march=arm -mcpu=cortex-a9 -verify-machineinstrs | FileCheck %s @A = global <4 x float> -- 2.34.1