Added clang-format file
Add plumbing and hooks for basic block based optimization
merged upstream