[clang-tidy] Fix `misc-const-correctness` false positive on writes through adjusted pointers (#215285)
`ExprPointeeResolve` did not resolve through `++`/`--` or `+=`/`-=`, so
a write such as `*p++ = 0` was not recognised as mutating `p`'s pointee
and the check suggested a `const` pointee that does not compile:
```cpp
void func(int *ptr1) {
int *ptr2 = ptr1;
*ptr2++ = 0; // warning: pointee of 'ptr2' can be declared 'const'
}
```
Godbolt: https://godbolt.org/z/fxW8Ea1WT
Resolve through increment/decrement, like the existing additive case,
and through `+=`/`-=`, where only the LHS can be the pointer.
Reads through an adjusted pointer (e.g. `int i = *p++;`) still get the
`const` suggestion.
Fixes https://github.com/llvm/llvm-project/issues/215161
[AArch64][MacroFusion] Check register overlap in WAW check (#213953)
Architectural registers can share physical register storage, e.g. wN and
xN, so a mix of writes to either effectively creates a WAW dependency to
the same storage. This patch adds a check for such register overlap.
Adds a test for FMIN+FMAX clustering. The other user which is AES
clustering is architecturally bound to an exact match.
bmaptool: added version 3.9.0
Bmaptool is a generic tool for creating the block map (bmap) for
a file and copying files using the block map. The idea is that
large files, like raw system image files, can be copied or flashed
a lot faster and more reliably with bmaptool than with traditional
tools, like "dd" or "cp".