Lines Matching defs:NewFunc
89 // Clone OldFunc into NewFunc, transforming the old arguments into references to
92 void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
99 NewFunc->setIsNewDbgInfoFormat(OldFunc->IsNewDbgInfoFormat);
111 AttributeList NewAttrs = NewFunc->getAttributes();
112 NewFunc->copyAttributesFrom(OldFunc);
113 NewFunc->setAttributes(NewAttrs);
120 NewFunc->setPersonalityFn(MapValue(OldFunc->getPersonalityFn(), VMap,
125 NewFunc->setPrefixData(MapValue(OldFunc->getPrefixData(), VMap,
131 NewFunc->setPrologueData(MapValue(OldFunc->getPrologueData(), VMap,
136 SmallVector<AttributeSet, 4> NewArgAttrs(NewFunc->arg_size());
147 NewFunc->setAttributes(
148 AttributeList::get(NewFunc->getContext(), OldAttrs.getFnAttrs(),
167 assert((NewFunc->getParent() == nullptr ||
168 NewFunc->getParent() == OldFunc->getParent()) &&
169 "Expected NewFunc to have the same parent, or no parent");
178 assert((NewFunc->getParent() == nullptr ||
179 NewFunc->getParent() != OldFunc->getParent()) &&
180 "Expected NewFunc to have different parents, or no parent");
183 assert(NewFunc->getParent() &&
197 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo,
212 VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB);
267 NewFunc->addMetadata(MD.first, *MapMetadata(MD.second, VMap, RemapFlag,
275 BE = NewFunc->end();
301 auto *NewModule = NewFunc->getParent();
361 Function *NewFunc;
375 : NewFunc(newFunc), OldFunc(oldFunc), VMap(valueMap),
426 LLVMContext &Ctx = NewFunc->getContext();
428 Intrinsic::getDeclaration(NewFunc->getParent(), CIID, TParams);
474 BBEntry = NewBB = BasicBlock::Create(BB->getContext(), NewName, NewFunc);
489 VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB);
649 void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,
669 PruningFunctionCloner PFC(NewFunc, OldFunc, VMap, ModuleLevelChanges,
710 NewBB->moveBefore(NewFunc->end());
811 // Drop all incompatible return attributes that cannot be applied to NewFunc
816 AttributeList Attrs = NewFunc->getAttributes();
817 NewFunc->removeRetAttrs(IncompatibleAttrs);
821 const DataLayout &DL = NewFunc->getDataLayout();
843 NewFunc->setAttributes(Attrs);
861 for (BasicBlock &BB : make_range(Begin, NewFunc->end())) {
875 for (BasicBlock &BB : make_range(Begin, NewFunc->end()))
890 for (BasicBlock &BB : make_range(Begin, NewFunc->end()))
901 while (I != NewFunc->end()) {
938 E = NewFunc->end();
952 Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap,
955 CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap,