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
|