[SDAG] Don't handle non-canonical libcalls in SDAG lowering (#171114)
SDAG currently tries to lower certain libcalls to ISD opcodes. However,
many of these are already canonicalized from libcalls to intrinsic in
the middle-end (and often already emitted as intrinsics in the
front-end).
I believe that SDAG should not be doing anything for such libcalls. This
PR just drops a single libcall to get consensus on the direction, as
these changes need a non-trivial amount of test updates.
A lot of the remaining libcalls *should* probably also be canonicalized
to intrinsics in the middle-end when annotated with `memory(none)`, but
that would require additional work in SimplifyLibCalls.
Add CMake configure preset building blocks (#170019)
All of these presets are hidden and won't be shown with --list-presets.
They are intended to be used as building blocks to be combined through
inheritance to create customized user presets.
All of these presets begin with "llvm-" to avoid clashing with user
defined presets.
[clangd] Add a (currently hidden) --strong-workspace-mode flag (#155905)
Its current effect is to use the `rootUri` provided by the client as the
working directory for fallback commands.
Future effects will include other behaviors appropriate for cases
where clangd is being run in the context of editing a single
workspace, such as using the `compile_commands.json` file in the
workspace root for all opened files.
The flag is hidden until other behaviors are implemented and they
constitute a cohesive "mode" for users.
---------
Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
[clang][bytecode] Always initialize scope before conditional operator (#171133)
Otherwise, the scope might be (lazily) initialized in one of the arms of
the conditional operator, which means the will NOT be intialized in the
other arm.
Fixes https://github.com/llvm/llvm-project/issues/170981
Properly handle post license update for SED feature
This commit adds changes to make sure that on post license update, we mark disks as SED/non-SED correctly and after that is in place - we appropriately mark pools as all-sed.
[IR][RISCV] Remove @llvm.experimental.vp.splat (#171084)
@llvm.experimental.vp.splat was originally added in #98731 in order to
prevent VL toggles when optimizing a zero strided load to a scalar load
+ splat on RISC-V: #101329
However, the need to explicitly set the VL operand has been superseded
by RISCVVLOptimizer which can infer this automatically based on the
splat's users, and the use of the vp.splat intrinsic was removed in
#170543.
Now that there are no users of @llvm.experimental.vp.splat internal to
LLVM and it's unlikely we will need it in future due to
RISCVVLOptimizer, this patch removes the intrinsic. I couldn't find any
publicly available out-of-tree users of the intrinsic with a quick
search on GitHub.