From 747409a290e119601c8fcb8bc429aafcae186179 Mon Sep 17 00:00:00 2001 From: Anton Korobeynikov Date: Tue, 3 Nov 2009 18:46:11 +0000 Subject: [PATCH] Move subtarget check upper for NEON reg-reg fixup pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85914 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMTargetMachine.cpp | 3 ++- lib/Target/ARM/NEONMoveFix.cpp | 7 ++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index 29579db2e73..b4ce1d7760c 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -115,7 +115,8 @@ bool ARMBaseTargetMachine::addPreEmitPass(PassManagerBase &PM, if (OptLevel != CodeGenOpt::None) { if (!Subtarget.isThumb1Only()) PM.add(createIfConverterPass()); - PM.add(createNEONMoveFixPass()); + if (Subtarget.hasNEON()) + PM.add(createNEONMoveFixPass()); } if (Subtarget.isThumb2()) { diff --git a/lib/Target/ARM/NEONMoveFix.cpp b/lib/Target/ARM/NEONMoveFix.cpp index 3c3b9520ca1..f307e3b3108 100644 --- a/lib/Target/ARM/NEONMoveFix.cpp +++ b/lib/Target/ARM/NEONMoveFix.cpp @@ -35,7 +35,6 @@ namespace { private: const TargetRegisterInfo *TRI; const ARMBaseInstrInfo *TII; - const ARMSubtarget *Subtarget; typedef DenseMap RegMap; @@ -71,7 +70,7 @@ bool NEONMoveFixPass::InsertMoves(MachineBasicBlock &MBB) { Domain = ARMII::DomainNEON; } - if ((Domain & ARMII::DomainNEON) && Subtarget->hasNEON()) { + if (Domain & ARMII::DomainNEON) { // Convert FCPYD to VMOVD. unsigned DestReg = MI->getOperand(0).getReg(); @@ -93,8 +92,7 @@ bool NEONMoveFixPass::InsertMoves(MachineBasicBlock &MBB) { Modified = true; ++NumVMovs; } else { - assert((Domain & ARMII::DomainVFP || - !Subtarget->hasNEON()) && "Invalid domain!"); + assert((Domain & ARMII::DomainVFP) && "Invalid domain!"); // Do nothing. } } @@ -124,7 +122,6 @@ bool NEONMoveFixPass::runOnMachineFunction(MachineFunction &Fn) { return false; TRI = TM.getRegisterInfo(); - Subtarget = &TM.getSubtarget(); TII = static_cast(TM.getInstrInfo()); bool Modified = false; -- 2.34.1