Commit Graph

540496 Commits

Author SHA1 Message Date
Andrew Rogers
c30952592a [compiler-rt] replicate changes from llvm/ProfileData/InstrProfData.inc (#143574)
## Purpose
The compiler-rt project `check-same-common-code.test` test case started
failing after #142861 was merged. This change addresses the failure.

## Overview
This patch replicates the changes made by #142861 to
llvm/include/llvm/ProfileData/InstrProfData.inc in the duplicated file
compiler-rt/include/profile/InstrProfData.inc. These files otherwise
match.

## Validation
Locally built `check-profile` target and verified
`check-same-common-code.test` now passes.
2025-06-10 10:45:21 -07:00
Erick Velez
47918e7cb7 [clang-doc] add namespaces to JSON generator (#143209)
Emit namespaces to JSON. Also adds tests for namespaces and non-member constructs.
2025-06-10 10:35:53 -07:00
Amr Hesham
84710b49f2 [CIR] Implement folder for VecShuffleOp (#143260)
This change adds a folder for the VecShuffleOp

Issue https://github.com/llvm/llvm-project/issues/136487
2025-06-10 19:33:06 +02:00
Simon Pilgrim
b053f955da [X86] pr40090.ll - add ctlz(x,false) (zero isn't poison) test coverage 2025-06-10 18:23:50 +01:00
Simon Pilgrim
522a375b99 [X86] collectConcatOps - assert that no ops were collected on failure
Ensures we can use collectConcatOps in cases where we don't want to rely on the return code alone
2025-06-10 18:05:03 +01:00
macurtis-amd
2ddf0caaed [clang][driver] Suppress gnu-line-marker when saving temps (#134621)
When passing `-save-temps` to clang, the generated preprocessed output
uses gnu line markers. This unexpectedly triggers gnu-line-marker
warnings when used with `-Weverything` or `-pedantic`. Even worse,
compilation fails if `-Werror` is used.

This change suppresses gnu-line-marker warnings when invoking clang with
input from a preprocessor job and the user has not otherwise explictly
specified `-Wgnu-line-marker` somewhere on the command line. Note that
this does apply to user provided preprocessed files.

fixes #63802
2025-06-10 11:54:50 -05:00
Cyndy Ishida
88f041f3e0 [clang][Darwin] Align all OS Versions for 26 (#143548)
* Translate the following versions to 26.
  * watchOS 12 -> 26
  * visionOS 3 -> 26
  * macos 16 -> 26
  * iOS 19 -> 26
  * tvOS 19 -> 26

* Emit diagnostics, but allow conversion when clients attempt to use
invalid gaps in OS versioning in availability.

* For target-triples, only allow "valid" versions for implicit
conversions.
2025-06-10 09:50:46 -07:00
Chelsea Cassanova
eb76d8332e Reland "[lldb][headers] Create script to fix up versioning" (#142864)" (#142871)
This relands the original commit for the versioning script in LLDB. This
commit uses '>' for output from `unifdef` for platforms that have that
executable but do not have the `-o` option. It also fixes the Xcode
build by adding a dependency between the liblldb-header-staging target
in the source/API/CMakeLists.txt the `liblldb-resource-headers` target
in LLDBFramework.cmake.

Original patch: https://github.com/llvm/llvm-project/pull/141116
2025-06-10 09:47:11 -07:00
Jon Roelofs
68bb005ae0 [Matrix] Add -debug-only prints when matrices get flattened (#142078)
This is a potential source of overhead, which we might be able to alleviate in some cases. For example, static element extracts, or shuffles that pluck out a specific row. Since these diagnostics are highly specific to the pass itself and not immediately actionable for compiler users, these prints don't make a whole lot of sense as Remarks.
2025-06-10 09:44:53 -07:00
Valentin Clement (バレンタイン クレメン)
9c54512c3e [flang][cuda] Allocate the dst descriptor in data transfer (#143437)
In a test like: 

```
integer, allocatable, device :: da(:)
allocate(a(200))
a = 2
da = a ! da is not allocated before data transfer is initiated. Allocate it with a
```

The reference compiler will allocate the data for the `da` descriptor so
the data transfer can be done properly.
2025-06-10 09:43:30 -07:00
Fangrui Song
8957e64a20 [ELF,RISCV] Fix oscillation due to call relaxation
The new test (derived from riscv32 openssl/test/cmp_msg_test.c) revealed
oscillation in two R_RISCV_CALL_PLT jumps:

- First jump (~2^11 bytes away): alternated between 4 and 8 bytes.
- Second jump (~2^20 bytes away): alternated between 2 and 8 bytes.

The issue is not related to alignment. In 2019, GNU ld addressed a
similar problem by reducing the relaxation allowance for cross-section
relaxation (https://sourceware.org/bugzilla/show_bug.cgi?id=25181).
This approach would result in a suboptimal layout for the tight range
tested by riscv-relax-call.s.

This patch stabilizes the process by preventing `remove` increment after
a few passes, similar to integrated assembler's fragment relaxation.
(For the Android bit reproduce, `pass < 2` leads to non-optimal layout
while `pass < 3` and `pass < 4` output is identical.)

Fix https://github.com/llvm/llvm-project/issues/113838
Possibly fix https://github.com/llvm/llvm-project/issues/123248 (inputs
are bitcode, subject to ever-changing code generation, not reproducible)

Pull Request: https://github.com/llvm/llvm-project/pull/142899
2025-06-10 09:28:39 -07:00
satyajanga
1cb906e832 Minor fix to connect-url to support unix-connect sockets on localhost (#142875)
**Summary:**

when the unix-socket connections on localhost are used to for platform
connect i.e.
`platform connect unix-connect:///path/to/socket.sock`
then `PlatformRemoteGDBServer.m_platform_hostname` is empty.

Based on the current logic, for the process attach, when the connection
param returned by platform server as qLaunchGDBServer is this
`socket_name:/path/to/processgdbserver.sock`
then the subsequent connect url for the process url looks like this
`unix-connect://[]/path/to/processgdbserver.sock` and the connection
fail.

This change is only adding the braces when the hostname is not empty.

**Test Plan:**

Added unittest and existing tests pass.
```
satyajanga@devvm21837:toolchain $ LLDB_COMMAND_TRACE=YES ./bin/llvm-lit --verbose  ~/llvm-sand/external/llvm-project/lldb/test/API/commands/platform
-- Testing: 9 tests, 9 workers --
UNSUPPORTED: lldb-api :: commands/platform/sdk/TestPlatformSDK.py (1 of 9)
PASS: lldb-api :: commands/platform/file/read/TestPlatformFileRead.py (2 of 9)
PASS: lldb-api :: commands/platform/file/close/TestPlatformFileClose.py (3 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformPython.py (4 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformCommand.py (5 of 9)
PASS: lldb-api :: commands/platform/process/launch/TestPlatformProcessLaunch.py (6 of 9)
PASS: lldb-api :: commands/platform/connect/TestPlatformConnect.py (7 of 9)
PASS: lldb-api :: commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py (8 of 9)
PASS: lldb-api :: commands/platform/process/list/TestProcessList.py (9 of 9)

Testing Time: 13.24s

Total Discovered Tests: 9
  Unsupported: 1 (11.11%)
  Passed     : 8 (88.89%)
satyajanga@devvm21837:toolchain $ 

```


Reviewers:

@clayborg 
@Jlalond 

Subscribers:

Tasks:

Tags:
2025-06-10 09:25:28 -07:00
Andre Kuhlenschmidt
d502c68dcb [flang][common] return ENUM_CLASS names definition to original state (#143553)
This PR simply reverts a few lines in
bf60aa1c55 to their state in
bcba39a56f so that they are constant for
some of the build tests that require it. This should fix the breakage
caused by #142022.
2025-06-10 09:21:20 -07:00
Ying Yi
c926bff560 Revert "[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)"
This reverts commit 4fb81f11ce.
2025-06-10 17:19:58 +01:00
Marius Kamp
30cabdda45 [X86] Distribute Certain Bitwise Operations over SELECT (#136555)
InstCombine canonicalizes `(select P (and X (- X)) X)` to
`(and (select P (- X) umax) X)`. This is counterproductive for the X86
backend when BMI is available because we can encode `(and X (- X))`
using the `BLSI` instruction. A similar situation arises if we have
`(select P (and X (sub X 1)) X)` (prevents use of `BLSR` instruction) or
`(select P (xor X (sub X 1)) X)` (prevents use of `BLSMSK` instruction).
    
Trigger the inverse transformation in the X86 backend if BMI is
available and we can use the mentioned BMI instructions. This is done by
overriding the appropriate `shouldFoldSelectWithIdentityConstant()`
overload. In this way, we get `(select P (and X (- X)) X)` again, which
enables the use of `BLSI` (similar for the other cases described above).
    
Alive proofs: https://alive2.llvm.org/ce/z/MT_pKi
    
Fixes #131587, fixes #133848.

---------

Co-authored-by: Simon Pilgrim <llvm-dev@redking.me.uk>
2025-06-10 17:12:10 +01:00
Sudharsan Veeravalli
94c241614f [RISCV] Select signed bitfield extract for Xqcibm (#143536)
The Xqcibm Bit Manipulation extension has the `qc.ext` instruction that
can extract a subset of bits from the source register to the destination
register.

Unlike the corresponding instructions in `XTHeadbb` and `XAndesPerf`
which extract the bits between `Msb` and `Lsb`, the `qc.ext` instruction
extracts `width` bits from an offset that is determined by the `shamt`.
2025-06-10 21:30:56 +05:30
Nico Weber
8f80a37578 [gn] port d709dcc090 (LLVMFrontendDirective) 2025-06-10 11:54:49 -04:00
Nicholas Guy
7c946e6e47 [AArch64] Add Neon USDOT support (#143525) 2025-06-10 16:54:19 +01:00
Jianhui Li
9630d7cb92 [MLIR][XeGPU] add blocking support for reduce, broadcast, and transpose (#143389)
This PR adds blocking support for vector dialect operations (`reduce`,
`broadcast`, and `transpose`) in the XeGPU based IR. It simply assigned
the shape specified by "inst_data" as its target shape of the unrolling
to implement the blocking. It is based on
https://github.com/llvm/llvm-project/pull/140163.
2025-06-10 10:50:26 -05:00
Andrew Rogers
bdcbe67400 [llvm] remove llvm:: qualification from appendLoopsToWorklist extern template instantiations (#143555)
## Purpose
Fix a build break introduced by #143413. This was a copy+paste error
where the `llvm::` qualifier was left on the template instantiation
declarations that were added. This causes a compile error with the
version of the compiler used by the mlir-nvidia-gcc7 build.
```
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/Transforms/Utils/LoopUtils.h:539:72: error: explicit qualification in declaration of ‘void llvm::appendLoopsToWorklist(llvm::ArrayRef<llvm::Loop*>&, llvm::SmallPriorityWorklist<llvm::Loop*, 4>&)’
     ArrayRef<Loop *> &Loops, SmallPriorityWorklist<Loop *, 4> &Worklist);
                                                                        ^
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/Transforms/Utils/LoopUtils.h:543:79: error: explicit qualification in declaration of ‘void llvm::appendLoopsToWorklist(llvm::Loop&, llvm::SmallPriorityWorklist<llvm::Loop*, 4>&)’
                                     SmallPriorityWorklist<Loop *, 4> &Worklist);
```
2025-06-10 08:44:00 -07:00
Erick Velez
1c3320cdde [clang-doc] add a JSON generator (#142483)
Adds a JSON generator backend to emit mapped information as JSON. This will enable a better testing format for upcoming changes. It can also potentially serve to feed our other backend generators in the future, like Mustache which already serializes information to JSON before emitting as HTML.

This patch contains functionality to emit classes and provides most of the basis of the generator.
2025-06-10 08:39:42 -07:00
Andrew Rogers
610d0572c6 [llvm] clang-format llvm/TargetParser/Host.h and llvm/Target/TargetOptions.h (#143446)
Reformat llvm/TargetParser/Host.h and llvm/Target/TargetOptions.h using
clang-format in preparation for a codemod.

This is just a formatting change; no functionality is impacted.
2025-06-10 08:34:56 -07:00
Shafik Yaghmour
8d6841f280 [Clang][NFC][ByteCode] Initialize Function HasBody in constructor (#143443)
Static analysis flagged HasBody as not being initialized during
construction. It looks like an oversight in:
https://github.com/llvm/llvm-project/pull/139671

This would be a lot simpler with C++20 which allows in class
initialization of bit-fields.
2025-06-10 08:32:54 -07:00
Joseph Huber
ea0761ff0c [OpenMP] Update out of date documentation (#142411)
Summary:
This deletes and changes somet things that are out of date or wrong and
makes the recommended way to build more clear.

---------

Co-authored-by: Shilei Tian <i@tianshilei.me>
2025-06-10 10:19:41 -05:00
David Spickett
beffd1509a [clang][Interpreter] Disable part of lambda test on Windows
https://github.com/llvm/llvm-project/issues/143547 for details.

For some reason the order of the printf output is not as expected
when piped. None of the "fixes" I have are good, so only run this
RUN on non-Windows.

Test added by https://github.com/llvm/llvm-project/pull/127467.
2025-06-10 15:13:34 +00:00
Andrew Rogers
b2584e0b17 [llvm] annotate interfaces in llvm/Transforms for DLL export (#143413)
## Purpose

This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Transforms`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.

## Background

This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).

The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.

The following manual adjustments were also applied after running IDS on
Linux:
- Removed a redundant `operator<<` from Attributor.h. IDS only
auto-annotates the 1st declaration, and the 2nd declaration being
un-annotated resulted in an "inconsistent linkage" error on Windows when
building LLVM as a DLL.
- `#include` the `VirtualFileSystem.h` in PGOInstrumentation.h and
remove the local declaration of the `vfs::FileSystem` class. This is
required because exporting the `PGOInstrumentationUse` constructor
requires the class be fully defined because it is used by an argument.
- Add #include "llvm/Support/Compiler.h" to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates.

## Validation

Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:

- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
2025-06-10 08:10:17 -07:00
Nico Weber
3cb104e98b [gn] Unbreak build after b62488f832
This is wrong -- it needs to put in the right value for
Python3_ROOT_DIR. But for now, this unbreaks the build.
2025-06-10 11:03:38 -04:00
Andrew Rogers
6bd606fe49 [llvm] annotate interfaces in llvm/ProfileData for DLL export (#142861)
## Purpose

This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ProfileData`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.

## Background

This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).

The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.

The following manual adjustments were also applied after running IDS on
Linux:
- Manually annotate the file
`llvm/include/llvm/ProfileData/InstrProfData.inc` because it is skipped
by IDS
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates.
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers

## Validation

Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:

- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
2025-06-10 07:58:51 -07:00
Andrew Rogers
1c8206bd2a [llvm] annotate interfaces in llvm/Option and llvm/Remarks for DLL export (#142856)
## Purpose

This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Options` and
`llvm/Remarks` libraries. These annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.

## Background

This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).

These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`. No manual fixups were
required.

## Validation

Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:

- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
2025-06-10 07:58:24 -07:00
Alex MacLean
09029045a8 [InstCombine] Fold max/min when incrementing/decrementing by 1 (#142466)
Add the following folds for integer min max folding in InstCombine:
 -  (X > Y) ? X : (Y - 1) ==> MIN(X, Y - 1)
 -  (X < Y) ? X : (Y + 1) ==> MAX(X, Y + 1)

These are safe when overflow corresponding to the sign of the comparison
is poison. (proof https://alive2.llvm.org/ce/z/oj5iiI).

The most common of these patterns is likely the minimum case which
occurs in some internal library code when clamping an integer index to a
range (The maximum cases are included for completeness). Here is a
simplified example:

int clampToWidth(int idx, int width) {
  if (idx >= width)
    return width - 1;
  return idx;
}

https://cuda.godbolt.org/z/nhPzWrc3W
2025-06-10 07:55:56 -07:00
Simon Pilgrim
e74d834cb1 [X86] combineConcatVectorOps - concat mixed v2f64/v4f64 faux shuffles into v4f64/v8f64 vshufpd (#143521)
Replace getTargetShuffleMask call (only permitted for target shuffles)
and use getTargetShuffleInputs instead to match various faux shuffles
(insert+extract sequences in particular).

This does mean we have to explicitly bail out with undef/zero mask
elements, where before getTargetShuffleMask would handle them.
2025-06-10 15:48:37 +01:00
Dominik Adamski
007d29e30c [Flang] Turn on alias analysis for locally allocated objects (#143489)
Previously, a bug in the MemCptOpt LLVM IR pass caused issues with
adding alias tags for locally allocated objects for Fortran code.

However, the bug has now been fixed (https://github.com/llvm/llvm-project/pull/129537 ),
and we can safely enable alias tags for these objects. This change should
improve the accuracy of the alias analysis.

More accurate alias analysis assumes that Cray pointers do not alias
with other variables. This assumption is common among other compilers.
If the code violates this assumption, it can lead to incorrect results
(see: https://github.com/llvm/llvm-project/issues/141928)
2025-06-10 16:46:13 +02:00
Igor Wodiany
f7967effa3 [mlir][spirv][nfc] Add missing tests for GL Tanh Op (#143538)
The problem was noticed when adding Log2 operation.
2025-06-10 15:40:22 +01:00
Zhaoxuan Jiang
713702109a [CGData] Make an option to skip reading Names into StableFunctionMap (#142095)
Names are used for debugging purpose and have no impact on codegen. For
a non-trivial project, reading them consumes a lot of memory and slows
down the compilation significantly. This patch adds a field in the
indexed CGData to remember the total size of Names, and creates a
command-line option to skip reading Names by advancing the pointer when
deserializing the indexed CGData.
2025-06-10 07:33:40 -07:00
Sam Elliott
3eb9b7dbbd [RISCV] Implement Relaxation for Xqcilb Jumps (#142702) 2025-06-10 07:33:21 -07:00
Krzysztof Parzyszek
e295b0ce75 [flang][OpenMP] Fix detecting nested OpenMP constructs (#143383)
Recognize privatizing OpenMP constructs, and only exclude symbols from
non-privatizing ones.
2025-06-10 09:33:12 -05:00
Cameron McInally
cde1035a2f [flang] Add support for -mrecip[=<list>] (#143418)
This patch adds support for the -mrecip command line option. The parsing
of this options is equivalent to Clang's and it is implemented by
setting the "reciprocal-estimates" function attribute.

Also move the ParseMRecip(...) function to CommonArgs, so that Flang is
able to make use of it as well.

---------

Co-authored-by: Cameron McInally <cmcinally@nvidia.com>
2025-06-10 08:25:33 -06:00
Igor Wodiany
326429022f [mlir][spirv] Deserialize OpConstantComposite of type Cooperative Matrix (#142786)
Depends on #142784.
2025-06-10 15:23:06 +01:00
Nikita Popov
b27ab06a3d [InstCombine] Preserve flags for difference of gep chains (#143488)
When expanding the offset of a GEP chain via a series of adds, try to
preserve the nsw/nuw flags based on inbounds/nuw. This is a followup to
https://github.com/llvm/llvm-project/pull/142958.

Proof: https://alive2.llvm.org/ce/z/8HiFYY (note that preserving nsw in
the nusw case is not valid)
2025-06-10 16:19:45 +02:00
Kazu Hirata
99f6cb8935 [BPF] Use heterogeneous lookup with std::map (NFC) (#143395) 2025-06-10 07:12:38 -07:00
NimishMishra
bf1fe6eb33 [mlir][OpenMP] Reintroduce TODO for translation of linear clause (#143531)
Reintroduce a TODO for linear clause translation unless corner issues
(like linear variables being entities other than `alloca`, and support
for linear variables of types other than integer) are solved.
2025-06-10 07:06:28 -07:00
Simon Pilgrim
b21be0e440 [X86] scalarizeExtEltFP - don't assume setcc result pre-legalisation will be vXi1
Another fold may have generated the setcc using getSetCCResultType

Encountered this while investigating topological sorting of dag nodes
2025-06-10 14:58:20 +01:00
Nathan Gauër
65d530193e [SPIR-V] Add Fragment execution model (#141787)
This commits allows the fragment execution model to be set using the
hlsl.shader attribute.

Fixes #136962
2025-06-10 15:44:11 +02:00
Andre Kuhlenschmidt
bf60aa1c55 [flang][cli] Add diagnostic flags to the CLI (#142022)
This change allows the flang CLI to accept `-W[no-]<feature>` flags matching the clang syntax and enable and disable usage and language feature warnings.
2025-06-10 06:41:13 -07:00
Hans Wennborg
c34351c92a Revert "[lld] check cache before real_path in loadDylib (#140791)"
This is causing use-after-frees due to references getting invalidating
after the loadedDylibs map grows, see comments on the PR.

This reverts commit 475a8a47ea.
2025-06-10 15:29:18 +02:00
Simon Pilgrim
c3057de024 [X86] Fix bugprone-argument-comment warnings. NFC. 2025-06-10 14:25:29 +01:00
Asher Mancinelli
535b24d107 [flang][openmp] Propagate volatile on reduction variables (#142435)
Reference types were being constructed from openmp private clauses without propagating volatility.
Fix this by checking the volatility of the original variable and add a test.
2025-06-10 06:13:49 -07:00
Simon Pilgrim
bb531ffccc [DAG] getNode - assert that INSERT_VECTOR_ELT operand types are legal (#143502)
Helped track down a typo in the X86ISD::CVTPH2PS lowering.
2025-06-10 13:51:12 +01:00
Nathan Gauër
6f23116507 [SPIR-V] Add Vertex execution model (#142369)
Adds backend handling of the vertex shader type compiling from HLSL.

Fixes #136961
2025-06-10 14:48:25 +02:00
NAKAMURA Takumi
ee3f50939d [bazel] Turn on LLVM_ENABLE_PLUGINS on posix
Since #141650, `LLVM_ABI inline` has had different linkage regarding
to LLVM_ENABLE_PLUGINS.

This was introduced in 8830e3802a (llvmorg-21-init-14426-g8830e3802a92)
but reverted in #143419 due to breakage of msvc build.
2025-06-10 21:41:33 +09:00