History log of /llvm-project/llvm/lib/Transforms/Utils/Local.cpp (Results 301 – 325 of 910)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2
# 6429471e 20-Jun-2020 Yevgeny Rouban <yrouban@azul.com>

[IR] Convert profile metadata in createCallMatchingInvoke()

When an invoke instruction is converted to a call its
profile metadata is dropped because it has incompatible
format (see commit 16ad6eeb9

[IR] Convert profile metadata in createCallMatchingInvoke()

When an invoke instruction is converted to a call its
profile metadata is dropped because it has incompatible
format (see commit 16ad6eeb94ff).
This patch adds an attempt to convert profile data to
format of the call instruction. This used to work well
before the commit dcfa78a4ccec.

Reviewers: reames
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82071

show more ...


# 16ad6eeb 17-Jun-2020 Hans Wennborg <hans@chromium.org>

[IR] Don't copy profile metadata in createCallMatchingInvoke()

The invoke instruction can have profile metadata with branch_weights,
which does not make sense for a call instruction and will be
reje

[IR] Don't copy profile metadata in createCallMatchingInvoke()

The invoke instruction can have profile metadata with branch_weights,
which does not make sense for a call instruction and will be
rejected by the verifier.

Differential revision: https://reviews.llvm.org/D81996

show more ...


# 6fdd5a28 16-Jun-2020 Jay Foad <jay.foad@amd.com>

Revert "[IR] Clean up dead instructions after simplifying a conditional branch"

This reverts commit 69bdfb075b293c4b3363f2dc0ac732ca03c3c9ca.

Reverting to investigate https://bugs.llvm.org/show_bug

Revert "[IR] Clean up dead instructions after simplifying a conditional branch"

This reverts commit 69bdfb075b293c4b3363f2dc0ac732ca03c3c9ca.

Reverting to investigate https://bugs.llvm.org/show_bug.cgi?id=46343

show more ...


Revision tags: llvmorg-10.0.1-rc1
# 69bdfb07 18-May-2020 Jay Foad <jay.foad@amd.com>

[IR] Clean up dead instructions after simplifying a conditional branch

Change BasicBlock::removePredecessor to optionally return a vector of
instructions which might be dead. Use this in ConstantFol

[IR] Clean up dead instructions after simplifying a conditional branch

Change BasicBlock::removePredecessor to optionally return a vector of
instructions which might be dead. Use this in ConstantFoldTerminator to
delete them if they are dead.

Reapply with a bug fix: don't drop the "!KeepOneInputPHIs" argument when
removePredecessor calls PHINode::removeIncomingValue.

Differential Revision: https://reviews.llvm.org/D80206

show more ...


# f45c65aa 11-Jun-2020 Jay Foad <jay.foad@amd.com>

Revert "[IR] Clean up dead instructions after simplifying a conditional branch"

This reverts commit 4494e45316a0bfaabb6bb1450fb0f49a0e6832af.

It caused problems for sanitizer buildbots.


# 4494e453 18-May-2020 Jay Foad <jay.foad@amd.com>

[IR] Clean up dead instructions after simplifying a conditional branch

Change BasicBlock::removePredecessor to optionally return a vector of
instructions which might be dead. Use this in ConstantFol

[IR] Clean up dead instructions after simplifying a conditional branch

Change BasicBlock::removePredecessor to optionally return a vector of
instructions which might be dead. Use this in ConstantFoldTerminator to
delete them if they are dead.

Differential Revision: https://reviews.llvm.org/D80206

show more ...


# 4707bc21 11-Jun-2020 Chris Jackson <chris.jackson@sony.com>

[DebugInfo] Refactor SalvageDebugInfo and SalvageDebugInfoForDbgValues

- Simplify the salvaging interface and the algorithm in InstCombine

Reviewers: vsk, aprantl, Orlando, jmorse, TWeaver

Reviewe

[DebugInfo] Refactor SalvageDebugInfo and SalvageDebugInfoForDbgValues

- Simplify the salvaging interface and the algorithm in InstCombine

Reviewers: vsk, aprantl, Orlando, jmorse, TWeaver

Reviewed by: Orlando

Differential Revision: https://reviews.llvm.org/D79863

show more ...


# c6c65164 08-Jun-2020 Chris Jackson <chris.jackson@sony.com>

[DebugInfo] Reduce SalvageDebugInfo() functions

- Now all SalvageDebugInfo() calls will mark undef if the salvage
attempt fails.

Reviewed by: vsk, Orlando

Differential Revision: https://review

[DebugInfo] Reduce SalvageDebugInfo() functions

- Now all SalvageDebugInfo() calls will mark undef if the salvage
attempt fails.

Reviewed by: vsk, Orlando

Differential Revision: https://reviews.llvm.org/D78369

show more ...


# 3badd17b 07-Jun-2020 Benjamin Kramer <benny.kra@googlemail.com>

SmallPtrSet::find -> SmallPtrSet::count

The latter is more readable and more efficient. While there clean up
some double lookups. NFCI.


# c710bb44 29-May-2020 Ehud Katz <ehudkatz@gmail.com>

[Local] Prevent `invertCondition` from creating a redundant instruction

Prevent `invertCondition` from creating the inversion instruction, in
case the given value is an argument which has already be

[Local] Prevent `invertCondition` from creating a redundant instruction

Prevent `invertCondition` from creating the inversion instruction, in
case the given value is an argument which has already been inverted.
Note that this approach has already been taken in case the given value
is an instruction (and not an argument).

Differential Revision: https://reviews.llvm.org/D80399

show more ...


# 623b2542 15-May-2020 Vedant Kumar <vsk@apple.com>

[Local] Do not ignore zexts in salvageDebugInfo, PR45923

Summary:
When salvaging a dead zext instruction, append a convert operation to
the DIExpressions of the debug uses of the instruction, to pre

[Local] Do not ignore zexts in salvageDebugInfo, PR45923

Summary:
When salvaging a dead zext instruction, append a convert operation to
the DIExpressions of the debug uses of the instruction, to prevent the
salvaged value from being sign-extended.

I confirmed that lldb prints out the correct unsigned result for "f" in
the example from PR45923 with this changed applied.

rdar://63246143

Reviewers: aprantl, jmorse, chrisjackson, davide

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80034

show more ...


# 4f04db4b 15-May-2020 Eli Friedman <efriedma@quicinc.com>

AllocaInst should store Align instead of MaybeAlign.

Along the lines of D77454 and D79968. Unlike loads and stores, the
default alignment is getPrefTypeAlign, to match the existing handling in
vari

AllocaInst should store Align instead of MaybeAlign.

Along the lines of D77454 and D79968. Unlike loads and stores, the
default alignment is getPrefTypeAlign, to match the existing handling in
various places, including SelectionDAG and InstCombine.

Differential Revision: https://reviews.llvm.org/D80044

show more ...


# f65f566a 08-May-2020 zoecarver <z.zoelec2@gmail.com>

Re-commit: Mark values as trivially dead when their only use is a start or end lifetime intrinsic.

Summary:
If the only use of a value is a start or end lifetime intrinsic then mark the intrinsic as

Re-commit: Mark values as trivially dead when their only use is a start or end lifetime intrinsic.

Summary:
If the only use of a value is a start or end lifetime intrinsic then mark the intrinsic as trivially dead. This should allow for that value to then be removed as well.

Currently, this only works for allocas, globals, and arguments.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79355

show more ...


# 1998e796 06-May-2020 zoecarver <z.zoelec2@gmail.com>

Revert "Mark values as trivially dead when their only use is a start or end lifetime intrinsic."

This reverts commit 95aa28cc8fcbcb43a047779814a5be0abe54863b.


# 95aa28cc 06-May-2020 zoecarver <z.zoelec2@gmail.com>

Mark values as trivially dead when their only use is a start or end lifetime intrinsic.

Summary:
If the only use of a value is a start or end lifetime intrinsic then mark the intrinsic as trivially

Mark values as trivially dead when their only use is a start or end lifetime intrinsic.

Summary:
If the only use of a value is a start or end lifetime intrinsic then mark the intrinsic as trivially dead. This should allow for that value to then be removed as well.

Currently, this only works for allocas, globals, and arguments.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79355

show more ...


# a58b62b4 28-Apr-2020 Craig Topper <craig.topper@gmail.com>

[IR] Replace all uses of CallBase::getCalledValue() with getCalledOperand().

This method has been commented as deprecated for a while. Remove
it and replace all uses with the equivalent getCalledOpe

[IR] Replace all uses of CallBase::getCalledValue() with getCalledOperand().

This method has been commented as deprecated for a while. Remove
it and replace all uses with the equivalent getCalledOperand().

I also made a few cleanups in here. For example, to removes use
of getElementType on a pointer when we could just use getFunctionType
from the call.

Differential Revision: https://reviews.llvm.org/D78882

show more ...


# 81c5e83f 24-Apr-2020 Craig Topper <craig.topper@gmail.com>

[CallSite removal][Transform] Replace CallSite with CallBase in Utils. NFC

Differential Revision: https://reviews.llvm.org/D78780


# d9af50ef 21-Apr-2020 Simon Pilgrim <llvm-dev@redking.me.uk>

[Transforms] getOrEnforceKnownAlignment - fix MSVC result of 32-bit shift implicitly converted to 64 bits warning. NFCI

We don't overflow here so we can use a U64 shift directly.


# 68b2e507 21-Apr-2020 Craig Topper <craig.topper@gmail.com>

[Local] Update getOrEnforceKnownAlignment/getKnownAlignment to use Align/MaybeAlign.

Differential Revision: https://reviews.llvm.org/D78443


# fcc9d702 20-Apr-2020 Craig Topper <craig.topper@intel.com>

Revert "[Local] Update getOrEnforceKnownAlignment/getKnownAlignment to use Align/MaybeAlign."

This is breaking the clang build.

This reverts commit 897409fb56f4525639b0e47e88960f24cd91c924.


# 897409fb 20-Apr-2020 Craig Topper <craig.topper@gmail.com>

[Local] Update getOrEnforceKnownAlignment/getKnownAlignment to use Align/MaybeAlign.

Differential Revision: https://reviews.llvm.org/D78443


# 7fde9906 18-Apr-2020 Craig Topper <craig.topper@gmail.com>

Recommit "[Local] Simplify the alignment limits in getOrEnforceKnownAlignment. NFCI"

With a tweak to avoid a linker error for passing
MaxAlignmentExponent by reference to std::min.


# 44d63b75 18-Apr-2020 Craig Topper <craig.topper@gmail.com>

Revert "[Local] Simplify the alignment limits in getOrEnforceKnownAlignment. NFCI"

This reverts commit e00cfe254d99629ec344031adfe1878a84f3b0b3.

Seems to be causing a linker error on the build bots.


# e00cfe25 18-Apr-2020 Craig Topper <craig.topper@gmail.com>

[Local] Simplify the alignment limits in getOrEnforceKnownAlignment. NFCI

We previously clamped the trailing zero count to 31 bits. And
then clamped the final alignment to MaximumAlignment which is

[Local] Simplify the alignment limits in getOrEnforceKnownAlignment. NFCI

We previously clamped the trailing zero count to 31 bits. And
then clamped the final alignment to MaximumAlignment which is
1 << 29.

This patch simplifies this to just clamp the trailing zero to
29 using MaxAlignmentExponent.

I was looking into changing this function to use Align/MaybeAlign
and noticed this.

Differential Revision: https://reviews.llvm.org/D78418

show more ...


# 8e140869 16-Apr-2020 Craig Topper <craig.topper@gmail.com>

[CallSite removal][TargetLibraryInfo] Replace ImmutableCallSite with CallBase in one of the getLibFunc signatures. NFC

Differential Revision: https://reviews.llvm.org/D78083


1...<<11121314151617181920>>...37