History log of /llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp (Results 51 – 75 of 116)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


12345