benchmarks: Fix sample_symbol_list.txt generation again
This wasn't triggering on a basic build. The various target checks
seem to not work as I expect with AND, so split this into separate
if TARGET checks.
[clang][bytecode] Fix a std::optional<bool> mishap (#167091)
This is about the value saved in the std::optional, not about whether
the optional has a value at all.
[AMDGPU][MachineVerifier] test failures in SIFoldOperands (#166600)
After PR:https://github.com/llvm/llvm-project/pull/151421 merged
following fails in SIFoldOperands showed up.
LLVM :: CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
LLVM :: CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
LLVM :: CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
LLVM :: CodeGen/AMDGPU/mfma-loop.ll
LLVM :: CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
In Folding code, if folded operand is register ensure earlyClobber is
set.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Shilei Tian <i at tianshilei.me>
Fix issues and re-enable tests disabled in PR #165983 (from PR #165360) (#166147)
1. Fixed test setup to correctly create .so/.dylib files in the build
directory.
Previously, the build was happening in the source directory using the
same
input parent path.
2. Fixed architecture compatibility check in #166510 .
Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>
[BOLT] Refactor undefined symbols handling. NFCI (#167075)
Remove internal undefined symbol tracking and instead rely on the
emission state of `MCSymbol` while processing data-to-code relocations.
Note that `CleanMCState` pass resets the state of all `MCSymbol`s prior
to code emission.
RuntimeLibcalls: Add more function entries from TargetLibraryInfo
Script scraped dump of most functions in TargetLibraryInfo.def,
with existing entries and a few special cases removed. This only
adds the definitions, and doesn't add them to any system yet.
Adding them in the correct places is the hard part, since it's
all written as opt-out with manually written exemptions in
TargetLibraryInfo.
benchmarks: Fix sample_symbol_list.txt generation again
This wasn't triggering on a basic build. The various target checks
seem to not work as I expect with AND, so split this into separate
if TARGET checks.
RuntimeLibcalls: Add __memcpy_chk, __memmove_chk, __memset_chk
These were in TargetLibraryInfo, but missing from RuntimeLibcalls.
This only adds the cases that already have the non-chk variants
already. Copies the enabled-by-default logic from TargetLibraryInfo,
which is probably overly permissive. Only isPS opts-out.
RuntimeLibcalls: Add a few libm entries from TargetLibraryInfo
These are floating-point functions recorded in TargetLibraryInfo,
but missing from RuntimeLibcalls.
RuntimeLibcalls: Add definitions for vector math functions
This is mostly the output of a vibe coded script running on
VecFuncs.def, with a lot of manual cleanups and fixing where the
vibes were off. This is not yet wired up to anything (except for the
handful of calls which are already manually enabled). In the future
the SystemLibrary mechanism needs to be generalized to allow plugging
these sets in based on the flag.
One annoying piece is there are some name conflicts across the libraries.
Some of the libmvec functions have name collisions with some sleef functions.
I solved this by just adding a prefix to the libmvec functions. It would
probably be a good idea to add a prefix to every group. It gets ugly,
particularly since some of the sleef functions started to use a Sleef_ prefix,
but mostly do not.
[NFC][CodeGen] Replace loop with "if !empty()" (#166515)
The loop iterates once and returns the first element.
Replace it with "if !empty()" to make it more explicit.
Follow up to https://github.com/llvm/llvm-project/pull/158193.