In CryptoUtils.h some macro name ("S") conflict with templates in llvm
headers. Putting aside the name of this macro, including internal
headers before llvm's would only cause use troubles.
If we don't returns 'true', implicitly, it let means the previous
analyses can be preserved which is not the case as split is performing
CFG changes.
In this case it caused and error when used with clang -fpass-plugin=
Error: SplitBasicBlockPass does not invalidate CFG analyses but CFG changes detected in function @NewTreeNode:
Different number of non-leaf basic blocks: before=0, after=2
Non-leaf block entry.split<0x55c11c3331d0> is added (1 successors)
Non-leaf block entry<0x55c11c2934c0> is added (1 successors)
fatal error: error in backend: CFG unexpectedly changed by SplitBasicBlockPass
clang-13: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 13.0.0 (https://github.com/llvm/llvm-project.git f6b09e394a5fad4b33f8746195377f4f638e2c8d)