[asan] Adjust interception compatibility for AIX (#131870)
Adjust asan interceptor compatbility for AIX. AIX uses dlsym to retrieve
addresses of exported functions. However, some functions in libc.a, such
as memcpy, are not exported, so we currently have a limitation in
retrieving these addresses.
Issue: https://github.com/llvm/llvm-project/issues/138916
[TableGen] Remove TypeInfer::isConcrete/getConcrete. NFC (#174235)
These don't use any state from TypeInfer and only wrap methods in
TypeSetByHwMode. We can use the TypeSetByHwMode methods directly.
[clang-doc] Add friends to class template (#173960)
This patch also allows comments to be associated with friend
declarations. Currently, it seems like the comments for friend `RecordDecl`
are taken from the actual class declaration, while a friend
function's comments are taken from the actual `friend` declaration.
[VPlan] Simplify ~VPDef (NFCI).
Slightly simplify ~VPDef to avoid setting Def to nullptr, which is done
when remove the VPValue from VPDef, via VPValue's destructor.
Also use to_vector() instead of make_early_inc_range; as this is a
vector that may get modified, to_vector is appropriate.
[clang-doc] Add friends to class template
This patch also allows comments to be associated with friend
declarations. Currently, it seems like the comments for friend `RecordDecl`
are taken from the actual class declaration, while a friend
function's comments are taken from the actual `friend` declaration.
[clang-doc] Add nested records to class template (#173959)
Nested records already had some tags, but they weren't
compatible with the current JSON scheme.
[-Wunsafe-buffer-usage] Add check for custom printf/scanf functions (#173096)
This commit adds support for functions annotated with
`__attribute__((__format__(__printf__, ...)))` (or `__scanf__`). These
functions will be treated the same way as printf/scanf functions in the
standard C library by `-Wunsafe-buffer-usage`
rdar://143233737
[SelectionDAG] Fix operand of BRCOND in visitSPDescriptorParent (#174230)
The first operand should be a chain, but `GuardVal.getOperand(0)` isn't
always a chain (i.e. if `TLI.emitStackGuardXorFP()` is called). Use
`getControlRoot()` instead like in other places when creating terminator
nodes.
Extracted from #168421.