#
b0f4b658 |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Delete probably wrong constant folding of expm1
It's not really correct to implement this as exp(x) - 1, it was maybe OK for the restricted float-as-double case handled here. There's not a s
AMDGPU: Delete probably wrong constant folding of expm1
It's not really correct to implement this as exp(x) - 1, it was maybe OK for the restricted float-as-double case handled here. There's not a strong reason to special case it with the host function, as the implementation naturally constant folds anyway. InstSimplify can fully handle everything in it, so just running the inliner alone with a constant argument produces the fully constant folded result. This also had no tests.
https://reviews.llvm.org/D156892
show more ...
|
#
54bda793 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Simplify and improve sincos matching
The first trivial example I tried failed to merge due to the user scan logic. Remove the complicated scan of users handling with distance thresholds, wit
AMDGPU: Simplify and improve sincos matching
The first trivial example I tried failed to merge due to the user scan logic. Remove the complicated scan of users handling with distance thresholds, with a same block restriction. The actual expansion of sincos is basically the same size as sin or cos individually. Copy the technique the generic optimization uses, which is to just use the input instruction as the insert point or just insert at the start of the entry block.
https://reviews.llvm.org/D156706
show more ...
|
#
9a806551 |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Delete old PM support for libcall passes
This has no reason to run in the codegen pipeline.
|
#
5dfdd349 |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Don't try to fold wavefrontsize intrinsic in libcall simplify
It's not a libcall so doesn't really belong here to begin with. Relying on checking the target name and explicit features isn't
AMDGPU: Don't try to fold wavefrontsize intrinsic in libcall simplify
It's not a libcall so doesn't really belong here to begin with. Relying on checking the target name and explicit features isn't particularly sound either. The library doesn't use the intrinsic anymore, so it doesn't matter anyway.
show more ...
|
#
3b2f3238 |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Don't try memory optimizations in libcall optimizer
This was trying to find a loaded value for some reason when looking for sincos arguments. This is untested and shouldn't be necessary.
ht
AMDGPU: Don't try memory optimizations in libcall optimizer
This was trying to find a loaded value for some reason when looking for sincos arguments. This is untested and shouldn't be necessary.
https://reviews.llvm.org/D156746
show more ...
|
#
db4d6ef9 |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Directly emit fabs intrinsic instead of new libcall
|
#
f63cdfc4 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Move check of compatible libcall
https://reviews.llvm.org/D156681
|
#
c2c22c6c |
| 31-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Don't store current instruction in AMDGPULibCalls member
This was adding confusing global state which was shadowed most of the time.
https://reviews.llvm.org/D156680
|
#
8f381380 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Refactor libcall simplify to help with future refined fast math flag usage
https://reviews.llvm.org/D156678
|
#
94d55450 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Don't parse name of sin/cos twice in libcall simplify
|
#
8a677a7f |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Partially respect nobuiltin in libcall simplifier
There are more contexts where it's not handled correctly but this is the simplest one.
https://reviews.llvm.org/D156682
|
#
2dc1a274 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Some AMDGPULibCalls cleanups
dyn_cast instead of isa+cast, and initialize on declaration.
|
#
ab6cd2d4 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Simplify early exit handling for libcall simplify
Early exit on intrinsics and don't duplicate indirect call checks. Also let the IRBuilder constructor figure out the insert point rather tha
AMDGPU: Simplify early exit handling for libcall simplify
Early exit on intrinsics and don't duplicate indirect call checks. Also let the IRBuilder constructor figure out the insert point rather than doing it manually. Also avoid debug print about trying to simplify calls in more unhandled scenarios.
show more ...
|
#
360a5d56 |
| 30-Jul-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Remove some typed pointer handling
|
Revision tags: llvmorg-17.0.0-rc1, llvmorg-18-init, 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, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2 |
|
#
90f7f24b |
| 28-Sep-2022 |
Nico Weber <thakis@chromium.org> |
try to fix build yet more after 16544cbe64b8
|
Revision tags: 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 |
|
#
ae998555 |
| 23-Jul-2022 |
Kazu Hirata <kazu@google.com> |
[AMDGPU] Remove a redundant variable (NFC)
ArrayRef has operator[], so we don't need to access the contents via data().
|
#
6cbfffb3 |
| 16-Jul-2022 |
Kazu Hirata <kazu@google.com> |
[AMDGPU] Declare TableRef in terms of ArrayRef (NFC)
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
8de72973 |
| 10-Feb-2022 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[AMDGPU] Pull out repeated getVecSize() calls. NFC.
This is guaranteed to be evaluated so we can avoid repeated calls.
Helps the static analyzer as it couldn't recognise that each getVecSize() woul
[AMDGPU] Pull out repeated getVecSize() calls. NFC.
This is guaranteed to be evaluated so we can avoid repeated calls.
Helps the static analyzer as it couldn't recognise that each getVecSize() would return the same value.
show more ...
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
e188aae4 |
| 31-Jan-2022 |
serge-sans-paille <sguelton@redhat.com> |
Cleanup header dependencies in LLVMCore
Based on the output of include-what-you-use.
This is a big chunk of changes. It is very likely to break downstream code unless they took a lot of care in avo
Cleanup header dependencies in LLVMCore
Based on the output of include-what-you-use.
This is a big chunk of changes. It is very likely to break downstream code unless they took a lot of care in avoiding hidden ehader dependencies, something the LLVM codebase doesn't do that well :-/
I've tried to summarize the biggest change below:
- llvm/include/llvm-c/Core.h: no longer includes llvm-c/ErrorHandling.h - llvm/IR/DIBuilder.h no longer includes llvm/IR/DebugInfo.h - llvm/IR/IRBuilder.h no longer includes llvm/IR/IntrinsicInst.h - llvm/IR/LLVMRemarkStreamer.h no longer includes llvm/Support/ToolOutputFile.h - llvm/IR/LegacyPassManager.h no longer include llvm/Pass.h - llvm/IR/Type.h no longer includes llvm/ADT/SmallPtrSet.h - llvm/IR/PassManager.h no longer includes llvm/Pass.h nor llvm/Support/Debug.h
And the usual count of preprocessed lines: $ clang++ -E -Iinclude -I../llvm/include ../llvm/lib/IR/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 6400831 after: 6189948
200k lines less to process is no that bad ;-)
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D118652
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
bc360fd8 |
| 01-Jan-2022 |
Kazu Hirata <kazu@google.com> |
[AMDGPU] Remove unused declarations fold_exp* and fold_log* (NFC)
|
#
5c4b9ea4 |
| 01-Jan-2022 |
Kazu Hirata <kazu@google.com> |
[AMDGPU] Remove replaceWithNative (NFC)
The function was introduced without any use on Aug 11, 2017 in commit 7f37794ebd2c6c36224597800e4d1e5a99ad80e9.
|
#
5a667c0e |
| 28-Dec-2021 |
Kazu Hirata <kazu@google.com> |
[llvm] Use nullptr instead of 0 (NFC)
Identified with modernize-use-nullptr.
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
d1f45ed5 |
| 11-Nov-2021 |
Neubauer, Sebastian <Sebastian.Neubauer@amd.com> |
[AMDGPU][NFC] Fix typos
Differential Revision: https://reviews.llvm.org/D113672
|
#
6fe949c4 |
| 22-Oct-2021 |
Kazu Hirata <kazu@google.com> |
[Target, Transforms] Use StringRef::contains (NFC)
|
#
a750332d |
| 22-Oct-2021 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
AMDGPULibCalls - constify some FuncInfo& arguments. NFCI.
|