#
29441e4f |
| 29-Jan-2025 |
Nikita Popov <npopov@redhat.com> |
[IR] Convert from nocapture to captures(none) (#123181)
This PR removes the old `nocapture` attribute, replacing it with the new
`captures` attribute introduced in #116990. This change is
intended
[IR] Convert from nocapture to captures(none) (#123181)
This PR removes the old `nocapture` attribute, replacing it with the new
`captures` attribute introduced in #116990. This change is
intended to be essentially NFC, replacing existing uses of `nocapture`
with `captures(none)` without adding any new analysis capabilities.
Making use of non-`none` values is left for a followup.
Some notes:
* `nocapture` will be upgraded to `captures(none)` by the bitcode
reader.
* `nocapture` will also be upgraded by the textual IR reader. This is to
make it easier to use old IR files and somewhat reduce the test churn in
this PR.
* Helper APIs like `doesNotCapture()` will check for `captures(none)`.
* MLIR import will convert `captures(none)` into an `llvm.nocapture`
attribute. The representation in the LLVM IR dialect should be updated
separately.
show more ...
|
Revision tags: llvmorg-21-init |
|
#
31249e27 |
| 14-Jan-2025 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Avoid deprecated PointerUnion methods (#122972)
PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in
favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these
u
[DirectX] Avoid deprecated PointerUnion methods (#122972)
PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in
favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these
uses over.
show more ...
|
Revision tags: llvmorg-19.1.7 |
|
#
ae6a7809 |
| 08-Jan-2025 |
Sarah Spall <sarahspall@microsoft.com> |
[HLSL] [DirectX] translate llvm fast math flags to llvm 3.7 fast math flags (#122025)
Translate modern LLVM fast math flags to LLVM 3.7 equivalent in DXIL
bitcode. Mostly use patch from #120630
Cl
[HLSL] [DirectX] translate llvm fast math flags to llvm 3.7 fast math flags (#122025)
Translate modern LLVM fast math flags to LLVM 3.7 equivalent in DXIL
bitcode. Mostly use patch from #120630
Closes #120630
show more ...
|
Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0 |
|
#
49b57df1 |
| 11-Sep-2024 |
Tim Besard <tim.besard@gmail.com> |
DXIL: Use correct type ID when writing ValueAsMetadata. (#94337)
When emitting references to functions as part of `ValueAsMetadata`,
we currently emit the incorrect (typed) pointer, resulting in
c
DXIL: Use correct type ID when writing ValueAsMetadata. (#94337)
When emitting references to functions as part of `ValueAsMetadata`,
we currently emit the incorrect (typed) pointer, resulting in
crashes during deserialization. Avoid this by correctly mapping the
type during serialization.
show more ...
|
Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1 |
|
#
dfeb3991 |
| 25-Jul-2024 |
James Y Knight <jyknight@google.com> |
Remove the `x86_mmx` IR type. (#98505)
It is now translated to `<1 x i64>`, which allows the removal of a bunch
of special casing.
This _incompatibly_ changes the ABI of any LLVM IR function wit
Remove the `x86_mmx` IR type. (#98505)
It is now translated to `<1 x i64>`, which allows the removal of a bunch
of special casing.
This _incompatibly_ changes the ABI of any LLVM IR function with
`x86_mmx` arguments or returns: instead of passing in mmx registers,
they will now be passed via integer registers. However, the real-world
incompatibility caused by this is expected to be minimal, because Clang
never uses the x86_mmx type -- it lowers `__m64` to either `<1 x i64>`
or `double`, depending on ABI.
This change does _not_ eliminate the SelectionDAG `MVT::x86mmx` type.
That type simply no longer corresponds to an IR type, and is used only
by MMX intrinsics and inline-asm operands.
Because SelectionDAGBuilder only knows how to generate the
operands/results of intrinsics based on the IR type, it thus now
generates the intrinsics with the type MVT::v1i64, instead of
MVT::x86mmx. We need to fix this before the DAG LegalizeTypes, and thus
have the X86 backend fix them up in DAGCombine. (This may be a
short-lived hack, if all the MMX intrinsics can be removed in upcoming
changes.)
Works towards issue #98272.
show more ...
|
Revision tags: llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7 |
|
#
c6e96a26 |
| 04-Jun-2024 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Update for removal of icmp and fcmp constant expressions
The icmp and fcmp constant expressions were removed in deab451e7a7f "[IR] Remove support for icmp and fcmp constant expressions (#9
[DirectX] Update for removal of icmp and fcmp constant expressions
The icmp and fcmp constant expressions were removed in deab451e7a7f "[IR] Remove support for icmp and fcmp constant expressions (#93038)". Update the DXILBitcodeWriter to stop referencing them.
show more ...
|
#
c4dad9a6 |
| 30-May-2024 |
Fangrui Song <i@maskray.me> |
[DirectX] Fix BitcodeWriter ctor after #92983
|
Revision tags: llvmorg-18.1.6 |
|
#
1650f1b3 |
| 15-May-2024 |
Jay Foad <jay.foad@amd.com> |
Fix typo "indicies" (#92232)
|
Revision tags: llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
af8d0502 |
| 25-Dec-2023 |
Kazu Hirata <kazu@google.com> |
[Target] Use range-based for loops (NFC)
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3 |
|
#
d7f3b238 |
| 20-Aug-2023 |
Justin Bogner <mail@justinbogner.com> |
[DXILBitcodeWriter] Fix handling of an unspecified lower bound in DISubrange
If the lower bound isn't specified it implies that it's zero.
Differential Revision: https://reviews.llvm.org/D158441
|
#
48e0a6f9 |
| 20-Aug-2023 |
Justin Bogner <mail@justinbogner.com> |
[DXILBitcodeWriter] Don't create a new abbrev per MDString
We were running out of abbrevs and crashing if there were more than 20 something strings in metadata, which turned out to be a bug where we
[DXILBitcodeWriter] Don't create a new abbrev per MDString
We were running out of abbrevs and crashing if there were more than 20 something strings in metadata, which turned out to be a bug where we created an abbrev every time we emitted a string rather than just one for the string table.
Differential Revision: https://reviews.llvm.org/D158440
show more ...
|
Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
245073ac |
| 19-Jul-2023 |
Justin Bogner <mail@justinbogner.com> |
[DirectX] Remove uses of isOpaquePointerTy(). NFC
isOpaquePointerTy now returns true for all pointers, so we can replace these with isPointerTy().
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2 |
|
#
62c7f035 |
| 07-Feb-2023 |
Archibald Elliott <archibald.elliott@arm.com> |
[NFC][TargetParser] Remove llvm/ADT/Triple.h
I also ran `git clang-format` to get the headers in the right order for the new location, which has changed the order of other headers in two files.
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
e3becfac |
| 09-Jan-2023 |
Xiang Li <python3kgae@outlook.com> |
[DirectX backend] Remove unused bitcode block for dxil
DXIL doesn't need uselist strtab and symtab blocks which are not supported by llvm3.7 bitcode.
Differential Revision: https://reviews.llvm.or
[DirectX backend] Remove unused bitcode block for dxil
DXIL doesn't need uselist strtab and symtab blocks which are not supported by llvm3.7 bitcode.
Differential Revision: https://reviews.llvm.org/D141328
show more ...
|
#
aa34a9d1 |
| 20-Dec-2022 |
Joshua Cranmer <joshua.cranmer@intel.com> |
Add TargetExtTyID to switch statements in Hexagon and DXIL backend code.
|
Revision tags: llvmorg-15.0.6 |
|
#
f7ae55f0 |
| 21-Nov-2022 |
Alex Richardson <alexrichardson@google.com> |
[DirectX] Fix shared libraries build
I just tried to build all experimental targets and noticed that DirectX did not build with -DBUILD_SHARED_LIBS=ON.
Differential Revision: https://reviews.llvm.o
[DirectX] Fix shared libraries build
I just tried to build all experimental targets and noticed that DirectX did not build with -DBUILD_SHARED_LIBS=ON.
Differential Revision: https://reviews.llvm.org/D138431
show more ...
|
Revision tags: llvmorg-15.0.5 |
|
#
ad68c66a |
| 11-Nov-2022 |
Xiang Li <python3kgae@outlook.com> |
[DirectX backend] Fix build and test error caused by out of sync with upstream change.
Fix build and test error caused by https://github.com/llvm/llvm-project/commit/a2620e00ffa232a406de3a1d8634beed
[DirectX backend] Fix build and test error caused by out of sync with upstream change.
Fix build and test error caused by https://github.com/llvm/llvm-project/commit/a2620e00ffa232a406de3a1d8634beeda86956fd# and https://github.com/llvm/llvm-project/commit/304f1d59ca41872c094def3aee0a8689df6aa398
Reviewed By: beanz
Differential Revision: https://reviews.llvm.org/D137815
show more ...
|
Revision tags: llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2 |
|
#
a80a888d |
| 29-Sep-2022 |
Xiang Li <python3kgae@outlook.com> |
[DirectX backend] Support global ctor for DXILBitcodeWriter.
1. Save typed pointer type for GlobalVariable/Function instead of the ObjectType. This will allow use GlobalVariable/Function as value
[DirectX backend] Support global ctor for DXILBitcodeWriter.
1. Save typed pointer type for GlobalVariable/Function instead of the ObjectType. This will allow use GlobalVariable/Function as value. 2. Save target type for global ctors for Constant. 3. In DXILBitcodeWriter::getTypeID, check PointerMap first for Constant case.
Reviewed By: beanz
Differential Revision: https://reviews.llvm.org/D133283
show more ...
|
#
5d4dd535 |
| 29-Sep-2022 |
Chris Bieneman <chris.bieneman@me.com> |
Revert "[DirectX backend] Support global ctor for DXILBitcodeWriter."
This reverts commit 26129766df701d462ed9a6a9a68a88b3564a70bd.
The reverted commit broke in-tree unit tests for the DirectX back
Revert "[DirectX backend] Support global ctor for DXILBitcodeWriter."
This reverts commit 26129766df701d462ed9a6a9a68a88b3564a70bd.
The reverted commit broke in-tree unit tests for the DirectX backend.
show more ...
|
Revision tags: llvmorg-15.0.1, llvmorg-15.0.0 |
|
#
26129766 |
| 05-Sep-2022 |
Xiang Li <python3kgae@outlook.com> |
[DirectX backend] Support global ctor for DXILBitcodeWriter.
1. Save typed pointer type for GlobalVariable/Function instead of the ObjectType. This will allow use GlobalVariable/Function as value
[DirectX backend] Support global ctor for DXILBitcodeWriter.
1. Save typed pointer type for GlobalVariable/Function instead of the ObjectType. This will allow use GlobalVariable/Function as value. 2. Save target type for global ctors for Constant. 3. In DXILBitcodeWriter::getTypeID, check PointerMap first for Constant case.
Reviewed By: beanz
Differential Revision: https://reviews.llvm.org/D133283
show more ...
|
Revision tags: llvmorg-15.0.0-rc3 |
|
#
eebf84c5 |
| 22-Aug-2022 |
Chris Bieneman <chris.bieneman@me.com> |
[DirectX] Remove broken assert
This assert always fails. It is unclear to me what it was attempting to test, but removing it gets our tests passing, so it clearly isn't checking the right thing.
|
#
4579a022 |
| 19-Aug-2022 |
Chris Bieneman <chris.bieneman@me.com> |
[NFC] Fix warning in asserts build
When asserts are enabled a warning for implicit conversion from 64-bit to 32-bit integer occurs here.
|
#
dfde731d |
| 18-Aug-2022 |
Xiang Li <python3kgae@outlook.com> |
[DirectX] Fix crash on ShuffleVectorInst in DXILBitcodeWriter
Use onstantDataSequential::getElementType to allow vector type.
Use getShuffleMaskForBitcode to get ShuffleMask.
Use old format for al
[DirectX] Fix crash on ShuffleVectorInst in DXILBitcodeWriter
Use onstantDataSequential::getElementType to allow vector type.
Use getShuffleMaskForBitcode to get ShuffleMask.
Use old format for alloca Align.
Reviewed By: beanz
Differential Revision: https://reviews.llvm.org/D132102
show more ...
|
Revision tags: llvmorg-15.0.0-rc2 |
|
#
2138c906 |
| 04-Aug-2022 |
Joshua Cranmer <joshua.cranmer@intel.com> |
[IR] Move support for dxil::TypedPointerType to LLVM core IR.
This allows the construct to be shared between different backends. However, it still remains illegal to use TypedPointerType in LLVM IR-
[IR] Move support for dxil::TypedPointerType to LLVM core IR.
This allows the construct to be shared between different backends. However, it still remains illegal to use TypedPointerType in LLVM IR--the type is intended to remain an auxiliary type, not a real LLVM type. So no support is provided for LLVM-C, nor bitcode, nor LLVM assembly (besides the bare minimum needed to make Type->dump() work properly).
Reviewed By: beanz, nikic, aeubanks
Differential Revision: https://reviews.llvm.org/D130592
show more ...
|
Revision tags: llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
aba43035 |
| 23-Jul-2022 |
Dmitri Gribenko <gribozavr@gmail.com> |
Use llvm::sort instead of std::sort where possible
llvm::sort is beneficial even when we use the iterator-based overload, since it can optionally shuffle the elements (to detect non-determinism). Ho
Use llvm::sort instead of std::sort where possible
llvm::sort is beneficial even when we use the iterator-based overload, since it can optionally shuffle the elements (to detect non-determinism). However llvm::sort is not usable everywhere, for example, in compiler-rt.
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D130406
show more ...
|