[DebugInfo][LoopVectorizer][NFC] Use unknown annotations for more instructions (#170522)
Some recent patches have added more non-annotated empty locations to the
loop vectorizer, resulting in errors reported on the DebugLoc coverage
tracking buildbot:
https://lab.llvm.org/staging/#/builders/222/builds/1938
This patch adds "unknown" annotations in place of the empty locations,
allowing the buildbot to ignore them for now.
[IR] Add CallBr intrinsics support (#133907)
This commit adds support for using intrinsics with callbr. The uses of
this will most of the time look like this example:
```llvm
callbr void @llvm.amdgcn.kill(i1 %c) to label %cont [label %kill]
kill:
unreachable
cont:
...
```
[MLIR][LLVM] Fix the import of LLVM IR metadata
Change `getSupportedMetadata` to return `SmallVector<unsigned>` instead
of `ArrayRef<unsigned>` and make the list non-static. This ensures
metadata identifiers are correctly obtained per LLVM context, preventing
incorrect import when multiple contexts are used (for metadata like
vector hints or work group sizes which have non-static IDs).
[AArch64] Compare and branch set twice in Neoverse V1/N1 sched (NFC) (#170498)
The regex instruction match is unnecessary, these are already wired up
to the instructions via WriteBr.
[llvm-mca][AArch64] Refactor Neoverse tests to split out common inputs (NFC) (#170324)
For many of these tests the inputs are very similiar with slight
divergences, ideally we'd have common sources where we can to avoid
subtle differences.
Changes:
- For basic tests there's a relatively large diff between V1 and all
other cores because of 24f0901 (#128892) which makes it more complete.
I've been thru the entire diff and 99% of the time V1 makes more sense,
except for a couple of small changes (might post a separate patch for).
Therefore I decided it's best to take V1-basic-instructions.s as the
common source.
- Split out FEAT_RCPC_IMMO tests from basic since N1 doesnt have this
feature.
- Split out FEAT_MTE tests. V2/V3 also have this feature but were
missing tests, so I've added them.
- Take 16-bit load/store register offset from V2/V3 (better coverage).
[2 lines not shown]
[BOLT][AArch64] Enable safe ICF (#170172)
All the pieces required seem to have already been in place so just
need to enable the option. Also added one more string prefix for
vtable recognition.
[MLIR][LLVM] Fix the import of LLVM IR metadata
Change `getSupportedMetadata` to return `SmallVector<unsigned>` instead
of `ArrayRef<unsigned>` and make the list non-static. This ensures
metadata identifiers are correctly obtained per LLVM context, preventing
incorrect import when multiple contexts are used (for metadata like
vector hints or work group sizes which have non-static IDs).
[flang][Evaluate] Add IntrinsicCall::impureFunction to RAND and IRAND (#170492)
This PR adds the` impureFunction` intrinsicClass for intrinsics wich are
function such as RAND and IRAND, which are not PURE functions in the GNU
extension and therefore cannot be called in a DO CONCURRENT (see
`test-suite::gfortran-regression-compile-regression__pr119836_2_f90.test`
). The `Pure` attribute will not be added for these intrinsics.
[ExposeObjCDirect] Setup helper functions
1. GenerateDirectMethodsPreconditionCheck: Move some functionalities to a separate functions.
Those functions will be reused if we move precondition checks into a thunk
2. Create `DirectMethodInfo`, which will be used to manage true implementation and its thunk
[RISCV] Commute Src in foldVMV_V_V (#170536)
In #156499 we taught the vmerge peephole to commute operands so that the
passthru operands lined up. We can do the same for the vmv.v.v peephole,
which allows us fold more vmv.v.vs away.
This is needed to prevent a regression in an upcoming patch that adds a
combine for vmerge.vvm to vmv.v.v.
[flang][acc] Add TODO for cache directive lowering (#170608)
The OpenACC cache directive is not yet fully implemented. Add a TODO to
emit a clear "not yet implemented" error during lowering.
[ExposeObjCDirect] Adding a flag to allow new objc direct ABI
1. Add a flag
2. Clean up and set up helper functions to implement later
Signed-off-by: Peter Rong <PeterRong at meta.com>