Remove the long, long defunct IR block placement pass.
authorChandler Carruth <chandlerc@gmail.com>
Sat, 14 Sep 2013 09:28:14 +0000 (09:28 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 14 Sep 2013 09:28:14 +0000 (09:28 +0000)
commit3748de6e2d7620794ff93b896d85aff6cc0ea9d2
tree5955ba7b6b32175c1c2e27b4df1ed625db00901e
parentdcc425c6301c088b4c0598696de50c01fbca5733
Remove the long, long defunct IR block placement pass.

This pass was based on the previous (essentially unused) profiling
infrastructure and the assumption that by ordering the basic blocks at
the IR level in a particular way, the correct layout would happen in the
end. This sometimes worked, and mostly didn't. It also was a really
naive implementation of the classical paper that dates from when branch
predictors were primarily directional and when loop structure wasn't
commonly available. It also didn't factor into the equation
non-fallthrough branches and other machine level details.

Anyways, for all of these reasons and more, I wrote
MachineBlockPlacement, which completely supercedes this pass. It both
uses modern profile information infrastructure, and actually works. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190748 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/InitializePasses.h
include/llvm/LinkAllPasses.h
include/llvm/Transforms/Scalar.h
lib/Transforms/Scalar/BasicBlockPlacement.cpp [deleted file]
lib/Transforms/Scalar/CMakeLists.txt
lib/Transforms/Scalar/Scalar.cpp
test/Transforms/BlockPlacement/basictest.ll [deleted file]