• Home
  • Raw
  • Download

Lines Matching refs:Instr

447 void TargetARM32::genTargetHelperCallFor(Inst *Instr) {  in genTargetHelperCallFor()  argument
451 switch (Instr->getKind()) { in genTargetHelperCallFor()
455 Variable *Dest = Instr->getDest(); in genTargetHelperCallFor()
458 llvm::cast<InstArithmetic>(Instr)->getOp(); in genTargetHelperCallFor()
469 scalarizeArithmetic(Op, Dest, Instr->getSrc(0), Instr->getSrc(1)); in genTargetHelperCallFor()
470 Instr->setDeleted(); in genTargetHelperCallFor()
503 Call->addArg(Instr->getSrc(0)); in genTargetHelperCallFor()
504 Call->addArg(Instr->getSrc(1)); in genTargetHelperCallFor()
505 Instr->setDeleted(); in genTargetHelperCallFor()
541 Operand *Src0 = Instr->getSrc(0); in genTargetHelperCallFor()
542 Operand *Src1 = Instr->getSrc(1); in genTargetHelperCallFor()
578 Instr->setDeleted(); in genTargetHelperCallFor()
592 Call->addArg(Instr->getSrc(0)); in genTargetHelperCallFor()
593 Call->addArg(Instr->getSrc(1)); in genTargetHelperCallFor()
594 Instr->setDeleted(); in genTargetHelperCallFor()
601 Variable *Dest = Instr->getDest(); in genTargetHelperCallFor()
602 Operand *Src0 = Instr->getSrc(0); in genTargetHelperCallFor()
605 auto *CastInstr = llvm::cast<InstCast>(Instr); in genTargetHelperCallFor()
627 Instr->setDeleted(); in genTargetHelperCallFor()
646 Instr->setDeleted(); in genTargetHelperCallFor()
693 Instr->setDeleted(); in genTargetHelperCallFor()
725 Variable *Dest = Instr->getDest(); in genTargetHelperCallFor()
726 auto *IntrinsicCall = llvm::cast<InstIntrinsicCall>(Instr); in genTargetHelperCallFor()
741 Instr->setDeleted(); in genTargetHelperCallFor()
756 Instr->setDeleted(); in genTargetHelperCallFor()
771 Instr->setDeleted(); in genTargetHelperCallFor()
784 Instr->setDeleted(); in genTargetHelperCallFor()
807 Instr->setDeleted(); in genTargetHelperCallFor()
822 Instr->setDeleted(); in genTargetHelperCallFor()
832 Instr->setDeleted(); in genTargetHelperCallFor()
1835 const Inst *Instr) { in resetTempBaseIfClobberedBy() argument
1838 Variable *Dest = Instr->getDest(); in resetTempBaseIfClobberedBy()
1839 if (llvm::isa<InstARM32Call>(Instr)) { in resetTempBaseIfClobberedBy()
2210 void TargetARM32::lowerAlloca(const InstAlloca *Instr) { in lowerAlloca() argument
2220 const uint32_t AlignmentParam = std::max(1u, Instr->getAlignInBytes()); in lowerAlloca()
2230 const bool AllocaWithKnownOffset = Instr->getKnownFrameOffset(); in lowerAlloca()
2242 Variable *Dest = Instr->getDest(); in lowerAlloca()
2243 Operand *TotalSize = Instr->getSizeInBytes(); in lowerAlloca()
2349 TargetARM32::lowerInt1Arithmetic(const InstArithmetic *Instr) { in lowerInt1Arithmetic() argument
2350 Variable *Dest = Instr->getDest(); in lowerInt1Arithmetic()
2357 assert(Instr->getSrcSize() == 2); in lowerInt1Arithmetic()
2359 SafeBoolChain Src0Safe = lowerInt1(Src0, Instr->getSrc(0)); in lowerInt1Arithmetic()
2361 Operand *Src1 = Instr->getSrc(1); in lowerInt1Arithmetic()
2373 switch (Instr->getOp()) { in lowerInt1Arithmetic()
2556 void TargetARM32::preambleDivRem(const InstCall *Instr) { in preambleDivRem() argument
2557 Operand *Src1 = Instr->getArg(1); in preambleDivRem()
3075 void TargetARM32::lowerArithmetic(const InstArithmetic *Instr) { in lowerArithmetic() argument
3076 Variable *Dest = Instr->getDest(); in lowerArithmetic()
3085 lowerInt1Arithmetic(Instr); in lowerArithmetic()
3089 Operand *Src0 = legalizeUndef(Instr->getSrc(0)); in lowerArithmetic()
3090 Operand *Src1 = legalizeUndef(Instr->getSrc(1)); in lowerArithmetic()
3092 lowerInt64Arithmetic(Instr->getOp(), Instr->getDest(), Src0, Src1); in lowerArithmetic()
3097 switch (Instr->getOp()) { in lowerArithmetic()
3099 UnimplementedLoweringError(this, Instr); in lowerArithmetic()
3125 switch (Instr->getOp()) { in lowerArithmetic()
3209 switch (Instr->getOp()) { in lowerArithmetic()
3521 void TargetARM32::lowerAssign(const InstAssign *Instr) { in lowerAssign() argument
3522 Variable *Dest = Instr->getDest(); in lowerAssign()
3529 Operand *Src0 = Instr->getSrc(0); in lowerAssign()
3661 void TargetARM32::lowerBr(const InstBr *Instr) { in lowerBr() argument
3662 if (Instr->isUnconditional()) { in lowerBr()
3663 _br(Instr->getTargetUnconditional()); in lowerBr()
3667 CfgNode *TargetTrue = Instr->getTargetTrue(); in lowerBr()
3668 CfgNode *TargetFalse = Instr->getTargetFalse(); in lowerBr()
3670 Instr->getCondition(), LowerInt1BranchTarget(TargetTrue), in lowerBr()
3693 void TargetARM32::lowerCall(const InstCall *Instr) { in lowerCall() argument
3694 Operand *CallTarget = Instr->getCallTarget(); in lowerCall()
3695 if (Instr->isTargetHelperCall()) { in lowerCall()
3698 (this->*TargetHelperPreamble->second)(Instr); in lowerCall()
3715 for (SizeT i = 0, NumArgs = Instr->getNumArgs(); i < NumArgs; ++i) { in lowerCall()
3716 Operand *Arg = legalizeUndef(Instr->getArg(i)); in lowerCall()
3778 Variable *Dest = Instr->getDest(); in lowerCall()
3853 if (Instr->hasSideEffects() && ReturnReg) { in lowerCall()
3878 if (Instr->isTargetHelperCall()) { in lowerCall()
3881 (this->*TargetHelpersPostamble->second)(Instr); in lowerCall()
3894 void TargetARM32::lowerCast(const InstCast *Instr) { in lowerCast() argument
3895 InstCast::OpKind CastKind = Instr->getCastKind(); in lowerCast()
3896 Variable *Dest = Instr->getDest(); in lowerCast()
3898 Operand *Src0 = legalizeUndef(Instr->getSrc(0)); in lowerCast()
4147 Operand *Src0 = Instr->getSrc(0); in lowerCast()
4158 UnimplementedLoweringError(this, Instr); in lowerCast()
4236 void TargetARM32::lowerExtractElement(const InstExtractElement *Instr) { in lowerExtractElement() argument
4237 Variable *Dest = Instr->getDest(); in lowerExtractElement()
4240 Variable *Src0 = legalizeToReg(Instr->getSrc(0)); in lowerExtractElement()
4241 Operand *Src1 = Instr->getSrc(1); in lowerExtractElement()
4311 TargetARM32::CondWhenTrue TargetARM32::lowerFcmpCond(const InstFcmp *Instr) { in lowerFcmpCond() argument
4312 InstFcmp::FCond Condition = Instr->getCondition(); in lowerFcmpCond()
4320 Variable *Src0R = legalizeToReg(Instr->getSrc(0)); in lowerFcmpCond()
4321 Operand *Src1 = Instr->getSrc(1); in lowerFcmpCond()
4334 void TargetARM32::lowerFcmp(const InstFcmp *Instr) { in lowerFcmp() argument
4335 Variable *Dest = Instr->getDest(); in lowerFcmp()
4339 if (Instr->getCondition() == InstFcmp::False) { in lowerFcmp()
4347 if (Instr->getCondition() == InstFcmp::True) { in lowerFcmp()
4358 auto *Src0 = legalizeToReg(Instr->getSrc(0)); in lowerFcmp()
4359 auto *Src1 = legalizeToReg(Instr->getSrc(1)); in lowerFcmp()
4361 switch (Instr->getCondition()) { in lowerFcmp()
4418 CondWhenTrue Cond = lowerFcmpCond(Instr); in lowerFcmp()
4651 TargetARM32::CondWhenTrue TargetARM32::lowerIcmpCond(const InstIcmp *Instr) { in lowerIcmpCond() argument
4652 return lowerIcmpCond(Instr->getCondition(), Instr->getSrc(0), in lowerIcmpCond()
4653 Instr->getSrc(1)); in lowerIcmpCond()
4705 void TargetARM32::lowerIcmp(const InstIcmp *Instr) { in lowerIcmp() argument
4706 Variable *Dest = Instr->getDest(); in lowerIcmp()
4711 auto *Src0 = legalizeToReg(Instr->getSrc(0)); in lowerIcmp()
4712 auto *Src1 = legalizeToReg(Instr->getSrc(1)); in lowerIcmp()
4753 switch (Instr->getCondition()) { in lowerIcmp()
4788 CondWhenTrue Cond = lowerIcmpCond(Instr); in lowerIcmp()
4797 void TargetARM32::lowerInsertElement(const InstInsertElement *Instr) { in lowerInsertElement() argument
4798 Variable *Dest = Instr->getDest(); in lowerInsertElement()
4801 Variable *Src0 = legalizeToReg(Instr->getSrc(0)); in lowerInsertElement()
4802 Variable *Src1 = legalizeToReg(Instr->getSrc(1)); in lowerInsertElement()
4803 Operand *Src2 = Instr->getSrc(2); in lowerInsertElement()
4993 void TargetARM32::postambleCtpop64(const InstCall *Instr) { in postambleCtpop64() argument
4994 Operand *Arg0 = Instr->getArg(0); in postambleCtpop64()
5002 auto *DestHi = llvm::cast<Variable>(hiOperand(Instr->getDest())); in postambleCtpop64()
5010 void TargetARM32::lowerIntrinsicCall(const InstIntrinsicCall *Instr) { in lowerIntrinsicCall() argument
5011 Variable *Dest = Instr->getDest(); in lowerIntrinsicCall()
5013 Intrinsics::IntrinsicID ID = Instr->getIntrinsicInfo().ID; in lowerIntrinsicCall()
5021 Operand *ByteSize = Instr->getArg(0); in lowerIntrinsicCall()
5047 ID, getConstantMemoryOrder(Instr->getArg(1)))) { in lowerIntrinsicCall()
5057 _ldrex(T, formMemoryOperand(Instr->getArg(0), IceType_i64)); in lowerIntrinsicCall()
5060 _ldr(T, formMemoryOperand(Instr->getArg(0), DestTy)); in lowerIntrinsicCall()
5073 ID, getConstantMemoryOrder(Instr->getArg(2)))) { in lowerIntrinsicCall()
5078 auto *Value = Instr->getArg(0); in lowerIntrinsicCall()
5085 IceType_i64, Instr->getArg(1), [this, ValueR](Variable *Tmp) { in lowerIntrinsicCall()
5098 auto *ValueR = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5101 auto *Addr = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5123 ID, getConstantMemoryOrder(Instr->getArg(3)), in lowerIntrinsicCall()
5124 getConstantMemoryOrder(Instr->getArg(4)))) { in lowerIntrinsicCall()
5134 lowerAssign(InstAssign::create(Func, New, Instr->getArg(2))); in lowerIntrinsicCall()
5138 lowerAssign(InstAssign::create(Func, Expected, Instr->getArg(1))); in lowerIntrinsicCall()
5142 DestTy, Instr->getArg(0), in lowerIntrinsicCall()
5143 [this, Expected, New, Instr, DestTy, &LoadedValue](Variable *Tmp) { in lowerIntrinsicCall()
5167 auto *New = legalizeToReg(Instr->getArg(2)); in lowerIntrinsicCall()
5168 auto *Expected = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5173 DestTy, Instr->getArg(0), in lowerIntrinsicCall()
5174 [this, Expected, New, Instr, DestTy, &LoadedValue](Variable *Tmp) { in lowerIntrinsicCall()
5189 ID, getConstantMemoryOrder(Instr->getArg(3)))) { in lowerIntrinsicCall()
5195 llvm::cast<ConstantInteger32>(Instr->getArg(0))->getValue()), in lowerIntrinsicCall()
5196 Instr->getArg(1), Instr->getArg(2)); in lowerIntrinsicCall()
5200 Operand *Val = Instr->getArg(0); in lowerIntrinsicCall()
5233 Operand *Val = Instr->getArg(0); in lowerIntrinsicCall()
5248 Operand *Val = Instr->getArg(0); in lowerIntrinsicCall()
5272 _vabs(T, legalizeToReg(Instr->getArg(0))); in lowerIntrinsicCall()
5304 Variable *Src = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5316 Variable *Val = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5326 Variable *Src0 = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5327 Variable *Src1 = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5334 assert(llvm::isa<ConstantInteger32>(Instr->getArg(1)) && in lowerIntrinsicCall()
5336 Variable *Dest = Instr->getDest(); in lowerIntrinsicCall()
5338 auto *SubVectorSize = llvm::cast<ConstantInteger32>(Instr->getArg(1)); in lowerIntrinsicCall()
5339 Operand *Addr = Instr->getArg(0); in lowerIntrinsicCall()
5364 assert(llvm::isa<ConstantInteger32>(Instr->getArg(2)) && in lowerIntrinsicCall()
5366 auto *SubVectorSize = llvm::cast<ConstantInteger32>(Instr->getArg(2)); in lowerIntrinsicCall()
5367 Variable *Value = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5368 Operand *Addr = Instr->getArg(1); in lowerIntrinsicCall()
5388 Variable *Src0 = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5389 Variable *Src1 = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5398 Variable *Src0 = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5399 Variable *Src1 = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5406 UnimplementedLoweringError(this, Instr); in lowerIntrinsicCall()
5410 UnimplementedLoweringError(this, Instr); in lowerIntrinsicCall()
5414 UnimplementedLoweringError(this, Instr); in lowerIntrinsicCall()
5420 Variable *Src0 = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5421 Variable *Src1 = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5431 Variable *Src0 = legalizeToReg(Instr->getArg(0)); in lowerIntrinsicCall()
5432 Variable *Src1 = legalizeToReg(Instr->getArg(1)); in lowerIntrinsicCall()
5551 bool isAddOrSub(const Inst *Instr, InstArithmetic::OpKind *Kind) { in isAddOrSub() argument
5552 if (const auto *Arith = llvm::dyn_cast<InstArithmetic>(Instr)) { in isAddOrSub()
5910 Inst *Instr = iteratorToInst(Context.getCur()); in doAddressOptLoad() local
5911 assert(llvm::isa<InstLoad>(Instr)); in doAddressOptLoad()
5912 Variable *Dest = Instr->getDest(); in doAddressOptLoad()
5913 Operand *Addr = Instr->getSrc(0); in doAddressOptLoad()
5915 formAddressingMode(Dest->getType(), Func, Instr, Addr)) { in doAddressOptLoad()
5916 Instr->setDeleted(); in doAddressOptLoad()
5933 void TargetARM32::lowerRet(const InstRet *Instr) { in lowerRet() argument
5935 if (Instr->hasRetValue()) { in lowerRet()
5936 Operand *Src0 = Instr->getRetValue(); in lowerRet()
5973 void TargetARM32::lowerShuffleVector(const InstShuffleVector *Instr) { in lowerShuffleVector() argument
5974 auto *Dest = Instr->getDest(); in lowerShuffleVector()
5978 auto *Src0 = Instr->getSrc(0); in lowerShuffleVector()
5979 auto *Src1 = Instr->getSrc(1); in lowerShuffleVector()
5984 for (SizeT I = 1; Replicate && I < Instr->getNumIndexes(); ++I) { in lowerShuffleVector()
5985 if (Instr->getIndexValue(I) != Instr->getIndexValue(0)) { in lowerShuffleVector()
5992 _vdup(T, Src0Var, Instr->getIndexValue(0)); in lowerShuffleVector()
6001 assert(ExpectedNumElements == Instr->getNumIndexes()); in lowerShuffleVector()
6004 if (Instr->indexesAre(0, 0, 1, 1, 2, 2, 3, 3)) { in lowerShuffleVector()
6011 if (Instr->indexesAre(0, 8, 1, 9, 2, 10, 3, 11)) { in lowerShuffleVector()
6019 if (Instr->indexesAre(0, 2, 4, 6, 0, 2, 4, 6)) { in lowerShuffleVector()
6029 assert(ExpectedNumElements == Instr->getNumIndexes()); in lowerShuffleVector()
6032 if (Instr->indexesAre(0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7)) { in lowerShuffleVector()
6039 if (Instr->indexesAre(0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, in lowerShuffleVector()
6052 assert(ExpectedNumElements == Instr->getNumIndexes()); in lowerShuffleVector()
6055 if (Instr->indexesAre(0, 0, 1, 1)) { in lowerShuffleVector()
6062 if (Instr->indexesAre(0, 4, 1, 5)) { in lowerShuffleVector()
6070 if (Instr->indexesAre(0, 1, 4, 5)) { in lowerShuffleVector()
6078 if (Instr->indexesAre(2, 3, 2, 3)) { in lowerShuffleVector()
6085 if (Instr->indexesAre(2, 3, 6, 7)) { in lowerShuffleVector()
6100 for (SizeT I = 0; I < Instr->getNumIndexes(); ++I) { in lowerShuffleVector()
6101 auto *Index = Instr->getIndex(I); in lowerShuffleVector()
6120 void TargetARM32::lowerSelect(const InstSelect *Instr) { in lowerSelect() argument
6121 Variable *Dest = Instr->getDest(); in lowerSelect()
6123 Operand *SrcT = Instr->getTrueOperand(); in lowerSelect()
6124 Operand *SrcF = Instr->getFalseOperand(); in lowerSelect()
6125 Operand *Condition = Instr->getCondition(); in lowerSelect()
6162 void TargetARM32::lowerStore(const InstStore *Instr) { in lowerStore() argument
6163 Operand *Value = Instr->getData(); in lowerStore()
6164 Operand *Addr = Instr->getAddr(); in lowerStore()
6181 Inst *Instr = iteratorToInst(Context.getCur()); in doAddressOptStore() local
6182 assert(llvm::isa<InstStore>(Instr)); in doAddressOptStore()
6183 Operand *Src = Instr->getSrc(0); in doAddressOptStore()
6184 Operand *Addr = Instr->getSrc(1); in doAddressOptStore()
6186 formAddressingMode(Src->getType(), Func, Instr, Addr)) { in doAddressOptStore()
6187 Instr->setDeleted(); in doAddressOptStore()
6192 void TargetARM32::lowerSwitch(const InstSwitch *Instr) { in lowerSwitch() argument
6195 Operand *Src0 = Instr->getComparison(); in lowerSwitch()
6196 SizeT NumCases = Instr->getNumCases(); in lowerSwitch()
6202 Operand *ValueLo = Ctx->getConstantInt32(Instr->getValue(I)); in lowerSwitch()
6203 Operand *ValueHi = Ctx->getConstantInt32(Instr->getValue(I) >> 32); in lowerSwitch()
6208 _br(Instr->getLabel(I), CondARM32::EQ); in lowerSwitch()
6210 _br(Instr->getLabelDefault()); in lowerSwitch()
6228 Operand *Value = Ctx->getConstantInt32(Instr->getValue(I) << ShiftAmt); in lowerSwitch()
6231 _br(Instr->getLabel(I), CondARM32::EQ); in lowerSwitch()
6233 _br(Instr->getLabelDefault()); in lowerSwitch()
6236 void TargetARM32::lowerBreakpoint(const InstBreakpoint *Instr) { in lowerBreakpoint() argument
6237 UnimplementedLoweringError(this, Instr); in lowerBreakpoint()
6876 bool shouldTrackProducer(const Inst &Instr) { in shouldTrackProducer() argument
6877 switch (Instr.getKind()) { in shouldTrackProducer()
6884 switch (llvm::cast<InstCast>(&Instr)->getCastKind()) { in shouldTrackProducer()
6892 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in shouldTrackProducer()
6903 bool isValidConsumer(const Inst &Instr) { in isValidConsumer() argument
6904 switch (Instr.getKind()) { in isValidConsumer()
6910 return !isVectorType(Instr.getDest()->getType()); in isValidConsumer()
6912 switch (llvm::cast<InstCast>(&Instr)->getCastKind()) { in isValidConsumer()
6916 return !isVectorType(Instr.getDest()->getType()); in isValidConsumer()
6918 return !isVectorType(Instr.getDest()->getType()); in isValidConsumer()
6922 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in isValidConsumer()
6926 return !isVectorType(Instr.getDest()->getType()); in isValidConsumer()
6928 return !isVectorType(Instr.getDest()->getType()); in isValidConsumer()
6936 bool shouldTrackProducer(const Inst &Instr) { in shouldTrackProducer() argument
6937 switch (Instr.getKind()) { in shouldTrackProducer()
6941 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in shouldTrackProducer()
6951 bool isValidConsumer(const Inst &Instr) { in isValidConsumer() argument
6952 switch (Instr.getKind()) { in isValidConsumer()
6956 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in isValidConsumer()
6969 bool shouldTrackProducer(const Inst &Instr) { in shouldTrackProducer() argument
6970 switch (Instr.getKind()) { in shouldTrackProducer()
6974 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in shouldTrackProducer()
6984 bool isValidConsumer(const Inst &Instr) { in isValidConsumer() argument
6985 switch (Instr.getKind()) { in isValidConsumer()
6989 switch (llvm::cast<InstArithmetic>(&Instr)->getOp()) { in isValidConsumer()
7003 for (Inst &Instr : Node->getInsts()) { in recordProducers()
7005 Variable *Dest = Instr.getDest(); in recordProducers()
7006 if (!Instr.isDeleted() // only consider non-deleted instructions; and in recordProducers()
7009 && BoolFolding::shouldTrackProducer(Instr)) { // white-listed instr. in recordProducers()
7011 ComputationEntry(&Instr, IceType_i1)); in recordProducers()
7013 if (!Instr.isDeleted() // only consider non-deleted instructions; and in recordProducers()
7016 && FpFolding::shouldTrackProducer(Instr)) { // white-listed instr. in recordProducers()
7018 ComputationEntry(&Instr, Dest->getType())); in recordProducers()
7020 if (!Instr.isDeleted() // only consider non-deleted instructions; and in recordProducers()
7023 && IntFolding::shouldTrackProducer(Instr)) { // white-listed instr. in recordProducers()
7025 ComputationEntry(&Instr, IceType_i32)); in recordProducers()
7028 FOREACH_VAR_IN_INST(Var, Instr) { in recordProducers()
7041 if (!BoolFolding::isValidConsumer(Instr)) { in recordProducers()
7047 if (IndexOfVarInInst(Var) != 1 || !IntFolding::isValidConsumer(Instr)) { in recordProducers()
7054 if (IndexOfVarInInst(Var) != 1 || !FpFolding::isValidConsumer(Instr)) { in recordProducers()
7061 if (Instr.isLastUse(Var)) { in recordProducers()
7079 Iter->second.Instr->setDead(); in recordProducers()