summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-21 00:47:40 +0000
committerChris Lattner <sabre@nondot.org>2010-04-21 00:47:40 +0000
commit6fbe70493282c91886a79d45f36c2dd77269b576 (patch)
tree414fdd06c482894e56e196fe655030935181a08c /llvm/lib/Target/PowerPC/PPCISelLowering.cpp
parent9a1291942127751d4621f930d048fe22496e9681 (diff)
downloadbcm5719-llvm-6fbe70493282c91886a79d45f36c2dd77269b576.tar.gz
bcm5719-llvm-6fbe70493282c91886a79d45f36c2dd77269b576.zip
Implement (but don't enable) PR6724 and rdar://6295824. In short,
we have RefreshCallGraph detect when a function pass devirtualizes a call, and have CGSCCPassMgr iterate (up to a count) when this happens. This allows (in the example) GVN to devirtualize the call in foo, then the inliner to inline it away. This is not currently enabled because I haven't done any analysis on the (potentially substantial) code size or performance impact of doing this, and guess what, it exposes callgraph updating bugs in various passes. This is progress though, and you can play with it by passing -max-cg-scc-iterations=5 to opt. llvm-svn: 101973
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud