[libclang/python] Fix cindex test for cpp lang (#172368)
Fix typo in cindex.py where the C++ support test was incorrectly named
test_c instead of test_cpp
[FastISel] Don't select a CallInst as a BasicBlock in the SelectionDAG fallback if it has bundled ops (#162895)
This was discovered while looking at the codegen for x64 when Control
Flow Guard is enabled.
When using `SelectionDAG`, LLVM would generate the following sequence
for a CF guarded indirect call:
```
leaq target_func(%rip), %rax
rex64 jmpq *__guard_dispatch_icall_fptr(%rip) # TAILCALL
```
However, when Fast ISel was used the following is generated:
```
leaq target_func(%rip), %rax
movq __guard_dispatch_icall_fptr(%rip), %rcx
rex64 jmpq *%rcx # TAILCALL
```
[12 lines not shown]
[flang][runtime] Fix GPU output for multiple statements (#172363)
I recently broke PRINT statements in GPU device code when multiple
PRINTs occur in the same kernel by trying to preserve the allocated
pseudo-unit. This turned out to be a bad idea overall, and I'm reverting
to the original protocol that minimizes allocated memory.
[llvm] Replace `OwningArrayRef` with `SmallVector` in `BTFParser`
`OwningArrayRef` requires that the size and the capacity are the same. This prevents reusing memory allocations unless the size happens to be exactly the same (which is rare enough we don't even try). Switch to `SmallVector` instead so that we're not repeatedly calling `new[]` and `delete[]`.
[MemProf] Add CalleeGUIDs from profile to existing VP metadata (#171495)
Previously, we only synthesized VP metadata with the callee GUIDs from
the memprof profile if no VP metadata already existed (i.e. from PGO).
With this change we will add in any that are not already in the VP
metadata, also with count 1.
[mlir][tosa] Allow dynamic dims in `--tosa-validate` pass (#171463)
This commit allows tensor dimensions to be dynamic when the specified
target TOSA specification version is `1.1.draft` or higher. This is
because this version of the specification supports representation
operations that are dynamic until backend compile time.
[NFC][HIP] Disable device-side kernel launches for HIP (#171043)
#165519 added support for launching kernels from the device side. This is only available in CUDA at the moment. We have to explicitly check whether we are compiling for HIP to guard against this path being exercised, since the CUDA and HIP languages rely on the same `CUDAIsDevice` bit to check for device side compilation, and it is not possible to disambiguate otherwise.
InstCombine: Replace some isa<FPMathOperator> with dyn_cast (#172356)
This isa and get flag pattern is essentially an abstracted
isa and dyn_cast, so make this more direct.
[clang][NFC] In `CFGStmtMap`, remove mutable `getBlock` overload.
The mutable version of the overload is not used. The way we implemented code sharing in the const vs. mutable overloads had a const-correctness violation, anyway.