#
1b622fff |
| 09-Sep-2023 |
liqin.weng <liqin.weng@spacemit.com> |
[VP] IR expansion for inttoptr/ptrtoint
Add basic handling for VP ops that can expand to cast intrinsics
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D159478
|
Revision tags: llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3 |
|
#
be932566 |
| 24-Apr-2023 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[VP] Add IR expansion for fneg
Followup to D149052, it wasn't worthwhile to add general support for unary opcodes
|
#
0b7f53ef |
| 24-Apr-2023 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[VP] IR expansion for fabs/fsqrt/fma/fmadd
Add basic handling for VP ops that can expand to FP intrinsics
Fixes #60464
Differential Revision: https://reviews.llvm.org/D149052
|
Revision tags: 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, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
51b68573 |
| 16-Dec-2022 |
Fangrui Song <i@maskray.me> |
[Transforms,CodeGen] std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable
[Transforms,CodeGen] std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable without _LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).
show more ...
|
#
f3b6dbfd |
| 03-Dec-2022 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
Instructions: convert Optional to std::optional
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working |
|
#
08497a78 |
| 05-Oct-2022 |
Fraser Cormack <fraser@codeplay.com> |
[VP] Fix unused variable in release configurations
|
#
a3a9b074 |
| 05-Oct-2022 |
Fraser Cormack <fraser@codeplay.com> |
[VP][NFC] Remove \brief commands from doxygen comments
Following a precedent set in D46861.
|
Revision tags: llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
3362e2d5 |
| 14-Mar-2022 |
Fraser Cormack <fraser@codeplay.com> |
[VP] Add IR expansion for vp.icmp and vp.fcmp
These intrinsics are simply expanded to regular icmp/fcmp instructions.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D121
[VP] Add IR expansion for vp.icmp and vp.fcmp
These intrinsics are simply expanded to regular icmp/fcmp instructions.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D121594
show more ...
|
#
de9d80c1 |
| 08-Aug-2022 |
Fangrui Song <i@maskray.me> |
[llvm] LLVM_FALLTHROUGH => [[fallthrough]]. NFC
With C++17 there is no Clang pedantic warning or MSVC C5051.
|
#
0387da6f |
| 20-Jul-2022 |
Kazu Hirata <kazu@google.com> |
Use value instead of getValue (NFC)
|
#
41ae78ea |
| 20-Jul-2022 |
Kazu Hirata <kazu@google.com> |
Use has_value instead of hasValue (NFC)
|
#
bbbb4393 |
| 20-Jul-2022 |
Kazu Hirata <kazu@google.com> |
[CodeGen] Use value_or instead of getValueOr (NFC)
|
#
c00a44fa |
| 18-Jul-2022 |
Lorenzo Albano <loralb@posteo.net> |
[VP] IR expansion pass for VP gather and scatter
Add vp_gather and vp_scatter expansion to unpredicated intrinsics.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D120664
|
#
f390781c |
| 14-Jul-2022 |
Lorenzo Albano <loralb@posteo.net> |
[VP] Implementing expansion pass for VP load and store.
Added function to the ExpandVectorPredication pass to handle VP loads and stores.
Reviewed By: simoll
Differential Revision: https://reviews
[VP] Implementing expansion pass for VP load and store.
Added function to the ExpandVectorPredication pass to handle VP loads and stores.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D109584
show more ...
|
#
f96cb66d |
| 06-Jul-2022 |
Nikita Popov <npopov@redhat.com> |
[ValueTracking] Accept Instruction in isSafeToSpeculativelyExecute() (NFC)
As constant expressions can no longer trap, it only makes sense to call isSafeToSpeculativelyExecute on Instructions, so li
[ValueTracking] Accept Instruction in isSafeToSpeculativelyExecute() (NFC)
As constant expressions can no longer trap, it only makes sense to call isSafeToSpeculativelyExecute on Instructions, so limit the API to accept only them, rather than general Operators or Values.
show more ...
|
#
129b531c |
| 19-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Use value_or instead of getValueOr (NFC)
|
#
18c1ee04 |
| 30-May-2022 |
Simon Moll <moll@cs.uni-saarland.de> |
Re-land "[VP] vp intrinsics are not speculatable" with test fix
Update the llvmir-intrinsics.mlir test to account for the modified attribute sets.
This reverts commit 2e2a8a2d9082250e4aad312c6008a5
Re-land "[VP] vp intrinsics are not speculatable" with test fix
Update the llvmir-intrinsics.mlir test to account for the modified attribute sets.
This reverts commit 2e2a8a2d9082250e4aad312c6008a526f2b007c7.
show more ...
|
#
2e2a8a2d |
| 30-May-2022 |
Mehdi Amini <joker.eph@gmail.com> |
Revert "[VP] vp intrinsics are not speculatable"
This reverts commit 78a18d2b54e7e8e0e2c1d1cb33d015d7f69b8cc7.
Break MLIR bot: https://lab.llvm.org/buildbot/#/builders/61/builds/27127
|
#
78a18d2b |
| 30-May-2022 |
Simon Moll <simon.moll@emea.nec.com> |
[VP] vp intrinsics are not speculatable
VP intrinsics show UB if the %evl parameter is out of bounds - they must not carry the speculatable attribute. The out-of-bounds UB disappears when the %evl
[VP] vp intrinsics are not speculatable
VP intrinsics show UB if the %evl parameter is out of bounds - they must not carry the speculatable attribute. The out-of-bounds UB disappears when the %evl parameter is expanded into the mask or expansion replaces the entire VP intrinsic with non-VP code.
This patch - Removes the speculatable attribute on all VP intrinsics. - Generalizes the isSafeToSpeculativelyExecute function to let VP expansion know whether the VP intrinsic replacement will be speculatable. VP expansion may only discard %evl where this is the case.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D125296
show more ...
|
#
6e127110 |
| 25-May-2022 |
Simon Moll <moll@cs.uni-saarland.de> |
[VP][fix] Don't discard masks in reductions
When expanding VP reductions to non VP-code, the reduction pass was ignoring the mask before. Fix this by keeping the mask and selecting neutral elements
[VP][fix] Don't discard masks in reductions
When expanding VP reductions to non VP-code, the reduction pass was ignoring the mask before. Fix this by keeping the mask and selecting neutral elements where the mask is zero.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D126362
show more ...
|
#
989f1c72 |
| 15-Mar-2022 |
serge-sans-paille <sguelton@redhat.com> |
Cleanup codegen includes
This is a (fixed) recommit of https://reviews.llvm.org/D121169
after: 1061034926 before: 1063332844
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-in
Cleanup codegen includes
This is a (fixed) recommit of https://reviews.llvm.org/D121169
after: 1061034926 before: 1063332844
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121681
show more ...
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
#
a278250b |
| 10-Mar-2022 |
Nico Weber <thakis@chromium.org> |
Revert "Cleanup codegen includes"
This reverts commit 7f230feeeac8a67b335f52bd2e900a05c6098f20. Breaks CodeGenCUDA/link-device-bitcode.cu in check-clang, and many LLVM tests, see comments on https:/
Revert "Cleanup codegen includes"
This reverts commit 7f230feeeac8a67b335f52bd2e900a05c6098f20. Breaks CodeGenCUDA/link-device-bitcode.cu in check-clang, and many LLVM tests, see comments on https://reviews.llvm.org/D121169
show more ...
|
#
7f230fee |
| 07-Mar-2022 |
serge-sans-paille <sguelton@redhat.com> |
Cleanup codegen includes
after: 1061034926 before: 1063332844
Differential Revision: https://reviews.llvm.org/D121169
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
#
f3e90472 |
| 14-Jun-2021 |
Fraser Cormack <fraser@codeplay.com> |
[VP] Add vector-predicated reduction intrinsics
This patch adds vector-predicated ("VP") reduction intrinsics corresponding to each of the existing unpredicated `llvm.vector.reduce.*` versions. Unli
[VP] Add vector-predicated reduction intrinsics
This patch adds vector-predicated ("VP") reduction intrinsics corresponding to each of the existing unpredicated `llvm.vector.reduce.*` versions. Unlike the unpredicated reductions, all VP reductions have a start value. This start value is returned when the no vector element is active.
Support for expansion on targets without native vector-predication support is included.
This patch is based on the ["reduction slice"](https://reviews.llvm.org/D57504#1732277) of the LLVM-VP reference patch (https://reviews.llvm.org/D57504).
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D104308
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
66963bf3 |
| 19-May-2021 |
Simon Moll <simon.moll@emea.nec.com> |
[VP] make getFunctionalOpcode return an Optional
The operation of some VP intrinsics do/will not map to regular instruction opcodes. Returning 'None' seems more intuitive here than 'Instruction::Ca
[VP] make getFunctionalOpcode return an Optional
The operation of some VP intrinsics do/will not map to regular instruction opcodes. Returning 'None' seems more intuitive here than 'Instruction::Call'.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D102778
show more ...
|