Fix layering between SCCP and IPO SCCP
authorDavid Blaikie <dblaikie@gmail.com>
Thu, 22 Mar 2018 21:41:29 +0000 (21:41 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Thu, 22 Mar 2018 21:41:29 +0000 (21:41 +0000)
commit3bbf5af0ac2e9b5564dfecee64ec7b0df1da4edb
tree5acc8cb268ea6e9f96ba0599f6b1fcd22cf9589a
parent2c2344e32779459cb04d3c0eea7d221953af0201
Fix layering between SCCP and IPO SCCP

Transforms/Scalar/SCCP.cpp implemented both the Scalar and IPO SCCP, but
this meant Transforms/Scalar including Transfroms/IPO headers, creating
a circular dependency. (IPO depends on Scalar already) - so move the IPO
SCCP shims out into IPO and the basic library implementation accessible
from Scalar/SCCP.h to be used from the IPO/SCCP.cpp implementation.

llvm-svn: 328250
llvm/include/llvm/Transforms/Scalar/SCCP.h
llvm/lib/Transforms/IPO/CMakeLists.txt
llvm/lib/Transforms/IPO/SCCP.cpp [new file with mode: 0644]
llvm/lib/Transforms/Scalar/SCCP.cpp