Lines Matching refs:FieldNo
1106 static Value *GetHeapSROAValue(Value *V, unsigned FieldNo,
1111 if (FieldNo >= FieldVals.size())
1112 FieldVals.resize(FieldNo+1);
1116 if (Value *FieldVal = FieldVals[FieldNo])
1124 Result = new LoadInst(GetHeapSROAValue(LI->getOperand(0), FieldNo,
1127 LI->getName()+".f"+Twine(FieldNo), LI);
1138 PHINode::Create(PointerType::get(ST->getElementType(FieldNo), AS),
1140 PN->getName()+".f"+Twine(FieldNo), PN);
1142 PHIsToRewrite.push_back(std::make_pair(PN, FieldNo));
1145 return FieldVals[FieldNo] = Result;
1169 // Handle 'getelementptr Ptr, Idx, i32 FieldNo ...'
1175 unsigned FieldNo = cast<ConstantInt>(GEPI->getOperand(2))->getZExtValue();
1176 Value *NewPtr = GetHeapSROAValue(GEPI->getOperand(0), FieldNo,
1251 FieldNo = 0, e = STy->getNumElements(); FieldNo != e;++FieldNo){
1252 Type *FieldTy = STy->getElementType(FieldNo);
1257 Constant::getNullValue(PFieldTy), GV->getName() + ".f" + Twine(FieldNo),
1269 CI->getName() + ".f" + Twine(FieldNo));
1376 unsigned FieldNo = PHIsToRewrite.back().second;
1378 PHINode *FieldPN = cast<PHINode>(InsertedScalarizedValues[PN][FieldNo]);
1384 InVal = GetHeapSROAValue(InVal, FieldNo, InsertedScalarizedValues,