While it's useful to make a reasonable effort to format tablegen output in a
sensible way, it's also easy to get overly bogged down in the formatting
concerns.
This patch adds a way for tablegen-erated intermediate files to opt-in to being
filtered through clang-format when it's available. Files that opt-in to this
will fall back on the output that comes directly from tablegen.
To opt-in, invoke tablegen() using the FORMAT option like so:
tablegen(LLVM AArch64GenRegisterBank.inc FORMAT OPTIONS -gen-register-bank)