[PATCH] D14228: [FunctionAttrs] Identify norecurse functions
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 2 12:25:37 PST 2015
jmolloy added a comment.
Hi,
My understanding is that CGSCC behaves conservatively - if a function's address is taken, an edge is added from the "Externally called" node to that function. However, in our case we don't actually need to care what can *call* a function, we just need to know whether or not we have full knowledge about what that function *can call*. That's why we only mark functions norecurse if we've enumerated successfully all call edges and found them not to form a cycle or encounter the special "calls external" node in which case all bets are off.
James
Repository:
rL LLVM
http://reviews.llvm.org/D14228
More information about the llvm-commits
mailing list