[RISCV] Generate profiles from RISCVProfiles.td
So we can only mantain one place.
Reviewers: preames, yetingk, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/90187
[RISCV] Add subtarget features for profiles
This may simplify the usage of tools like `opt`, `llc`, etc.
Reviewers: michaelmaitland, 4vtomat, preames, asb
Reviewed By: michaelmaitland, preames, 4vtomat
Pull Request: https://github.com/llvm/llvm-project/pull/84877
[RISCV][TableGen] Get right experimental extension name
We should remove the `experimental-` prefix when printing march
string.
We didn't meet this problem because there is no processor containing
experimental extensions.
Reviewers: fpetrogalli, asb, topperc
Reviewed By: topperc, asb
Pull Request: https://github.com/llvm/llvm-project/pull/90185
Revert "Revert "[WebAssembly] remove instruction after builtin trap" (#90354)" (#90366)
`llvm.trap` will be convert as unreachable which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: https://github.com/llvm/llvm-project/issues/68770
Reapply: #90207
[CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)
Set this in the cache file directly instead of via the test-release.sh
script so that the release builds can be reproduced with just the cache
file.
[LV] Add additional cost model coverage for loops with casted inds.
Add test coverage for cost-model code-paths not covered by current unit
tests in preparation for
https://github.com/llvm/llvm-project/pull/67934.
[clang-tidy] Enable C23 support in modernize-use-nullptr (#89990)
C23 introduces the `nullptr` constant similar to C++11 which means that
the checker `modernize-use-nullptr` can be used on C23 code as well.
This PR enables the checker to be run on C23 and adds testcases.
See N3042:
https://open-std.org/JTC1/SC22/WG14/www/docs/n3042.htm
SystemZ: Add more tests for fp128 atomics (#90269)
These did not have proper floating point uses so weren't representative
samples. The bitcast inserted by lowering could be absorbed by the
load/store on the source/use.
[WebAssembly] remove instruction after builtin trap (#90207)
`llvm.trap` will be convert as `unreachable` which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: #68770.
[AArch64] Lowering of fpmode intrinsics in DAG (#80611)
LLVM intrinsics `get_fpmode`, `set_fpmode` and `reset_fpmode` operate
control modes, the bits of FP environment that affect FP operations. On
AArch64 these bits are in FPCR. The lowering implemented to produce code
close to that of GLIBC.
[DFAJumpThreading] Avoid exploring the paths that never come back (#85505)
This patch does:
- Preserve loop info when unfolding selects.
- Reduce the search space for loop paths.
[MIPS] match llvm.{min,max}num with {min,max}.fmt for R6 (#89021)
- The behavior is similar to UCOMISD on x86, which is also used to
compare two fp values, specifically on handling of NaNs.
- Update related tests regarding this change.
- The further goal is to implement `llvm.minimum` and `llvm.maximum`
intrinsics for MIPS R6 and Pre-R6.
Part of https://github.com/llvm/llvm-project/issues/64207
[libc++][NFC] Rename __find_impl to __find (#90163)
For most algorithms we've just added underscores to the detail function.
This changes `std::find` to match that pattern.
[ADT] Add StringRef::{starts,ends}_with(char) (#90311)
This patch adds to StringRef the equivalent of
std::string_view::{starts,ends}_with(char) in C++20.