Lines Matching refs:CallGraphNode
34 CallsExternalNode(std::make_unique<CallGraphNode>(this, nullptr)) {
76 CallGraphNode *Node = getOrInsertFunction(F);
89 void CallGraph::populateCallGraphNode(CallGraphNode *Node) {
119 SmallVector<CallGraphNode *, 16> Nodes;
125 llvm::sort(Nodes, [](CallGraphNode *LHS, CallGraphNode *RHS) {
133 for (CallGraphNode *CN : Nodes)
141 void CallGraph::ReplaceExternalCallEdge(CallGraphNode *Old,
142 CallGraphNode *New) {
157 Function *CallGraph::removeFunctionFromModule(CallGraphNode *CGN) {
168 // it will insert a new CallGraphNode for the specified function if one does
170 CallGraphNode *CallGraph::getOrInsertFunction(const Function *F) {
176 CGN = std::make_unique<CallGraphNode>(this, const_cast<Function *>(F));
181 // Implementations of the CallGraphNode class methods.
184 void CallGraphNode::print(raw_ostream &OS) const {
203 LLVM_DUMP_METHOD void CallGraphNode::dump() const { print(dbgs()); }
209 void CallGraphNode::removeCallEdgeFor(CallBase &Call) {
229 void CallGraphNode::removeAnyCallEdgeTo(CallGraphNode *Callee) {
241 void CallGraphNode::removeOneAbstractEdgeTo(CallGraphNode *Callee) {
257 void CallGraphNode::replaceCallEdge(CallBase &Call, CallBase &NewCall,
258 CallGraphNode *NewNode) {
269 SmallVector<CallGraphNode *, 4u> OldCBs;
270 SmallVector<CallGraphNode *, 4u> NewCBs;
279 CallGraphNode *OldNode = OldCBs[N];
280 CallGraphNode *NewNode = NewCBs[N];
319 const std::vector<CallGraphNode *> &nextSCC = *SCCI;
322 for (CallGraphNode *CGN : nextSCC) {