In order for the hot/cold splitting pass to graduate out of experimental
status, users need some way to safely enable it.
The current method of passing -mllvm -hot-cold-split=true to clang is
not safe, because directly setting a cl::opt cannot interact well with
other CC1 options (e.g. -O0, or -disable-llvm-passes).
This patch adds -f[no-]split-cold-code CC1 options to clang so that the
splitting pass can be toggled/combined with other options without issue.
This makes it possible to deploy the new pass on a large scale.
I've held off on adding a driver option because the ultimate goal is to
remove these options, and to simply have the pass enabled by default.