simplify some code by making the SCCNodes set contain Function*'s
authorChris Lattner <sabre@nondot.org>
Mon, 31 Aug 2009 04:09:04 +0000 (04:09 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 31 Aug 2009 04:09:04 +0000 (04:09 +0000)
commit98a27ce03f092ab5464e65725f7d1fa0c03652f2
tree3d4f9eb7a9487af1ebd5ca9b01fade695918ac99
parent306110845ade031f56bf50245357d6e18a929659
simplify some code by making the SCCNodes set contain Function*'s
instead of CallGraphNode*'s.  This also papers over a callgraph
problem where a pass (in this case, MemCpyOpt) introduces a new
function into the module (llvm.memset.i64) but doesn't add it to
the call graph (nor should it, since it is a function pass).

While it might be a good idea for MemCpyOpt to not synthesize
functions in a runOnFunction(), there is no need for FunctionAttrs
to be boneheaded, so fix it there.  This fixes an assertion building
176.gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80535 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/FunctionAttrs.cpp