Support LLVM 14 (upstream Git main) (#43628)
Compiles against llvm/llvm-project#2ec3ca747732, with some of
our unmerged local patches from 13.x still required.
Unfortunately, there is quite a bit of fallout from the various
attribute API renames. I chose to introduce some function shims
to separate out all the preprocessor #if clutter.