llvm-project/llvm/lib/Transforms/Scalar
Bjorn Pettersson d218a3326e [InstSimplify] Report "Changed" also when only deleting dead instructions
Summary:
Make sure that we report that changes has been made
by InstSimplify also in situations when only trivially
dead instructions has been removed. If for example a call
is removed the call graph must be updated.

Bug seem to have been introduced by llvm-svn r367173
(commit 02b9e45a7e), since the code in question
was rewritten in that commit.

Reviewers: spatel, chandlerc, foad

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

llvm-svn: 368401
2019-08-09 07:08:25 +00:00
..
ADCE.cpp [ADCE] Fix non-deterministic behaviour due to iterating over a pointer set. 2019-07-16 15:23:10 +00:00
AlignmentFromAssumptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BDCE.cpp [BDCE] Optimize find+insert with early insert 2019-03-07 06:38:03 +00:00
CMakeLists.txt Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
CallSiteSplitting.cpp CallSiteSplitting: Respect convergent and noduplicate 2019-05-29 16:59:48 +00:00
ConstantHoisting.cpp Use llvm::stable_sort 2019-04-23 14:51:27 +00:00
ConstantProp.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CorrelatedValuePropagation.cpp Let CorrelatedValuePropagation preserve LazyValueInfo 2019-07-24 20:27:32 +00:00
DCE.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeadStoreElimination.cpp [DSE] Bugfix to avoid PartialStoreMerging involving non byte-sized stores 2019-05-24 08:32:02 +00:00
DivRemPairs.cpp [DivRemPairs] Fixup DNDEBUG build - variable is only used in assertion 2019-07-31 12:26:37 +00:00
EarlyCSE.cpp [EarlyCSE] Add support for unary FNeg to EarlyCSE 2019-08-07 14:34:41 +00:00
FlattenCFGPass.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Float2Int.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
GVN.cpp Recommit "[GVN] Preserve loop related analysis/canonical forms." 2019-07-31 09:27:54 +00:00
GVNHoist.cpp Use llvm::stable_sort 2019-04-23 14:51:27 +00:00
GVNSink.cpp [GVNSink] Add unary FNeg support to GVNSink pass 2019-06-28 19:57:31 +00:00
GuardWidening.cpp [GuardWidening] Wire up a NPM version of the LoopGuardWidening pass 2019-04-18 19:17:14 +00:00
IVUsersPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IndVarSimplify.cpp Fix a release-only build warning triggered by rL367485 2019-08-01 01:16:08 +00:00
InductiveRangeCheckElimination.cpp Delete dead stores 2019-07-12 14:58:15 +00:00
InferAddressSpaces.cpp InferAddressSpaces: Fix cloning original addrspacecast 2019-06-17 14:13:29 +00:00
InstSimplifyPass.cpp [InstSimplify] Report "Changed" also when only deleting dead instructions 2019-08-09 07:08:25 +00:00
JumpThreading.cpp [JumpThreading] Stop searching predecessor when the current bb is in a 2019-07-26 20:59:22 +00:00
LICM.cpp [LICM] Support unary FNeg in LICM 2019-08-08 21:38:31 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LoopAccessAnalysisPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LoopDataPrefetch.cpp Allow prefetching from non-zero address spaces 2019-07-25 16:11:57 +00:00
LoopDeletion.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LoopDistribute.cpp LoopDistribute/LAA: Respect convergent 2019-06-12 13:34:19 +00:00
LoopFuse.cpp [LoopFusion] Extend use of OptimizationRemarkEmitter 2019-07-30 15:58:43 +00:00
LoopIdiomRecognize.cpp NFC: Pass DataLayout into isBytewiseValue 2019-07-10 22:53:52 +00:00
LoopInstSimplify.cpp Only passes that preserve MemorySSA must mark it as preserved. 2019-06-11 18:27:49 +00:00
LoopInterchange.cpp Delete dead stores 2019-07-12 14:58:15 +00:00
LoopLoadElimination.cpp LoopLoadElim: Respect convergent 2019-06-12 13:50:47 +00:00
LoopPassManager.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LoopPredication.cpp [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock 2019-07-09 04:20:43 +00:00
LoopRerollPass.cpp [LoopReroll] Fix reroll root legality checking. 2019-02-12 00:33:25 +00:00
LoopRotation.cpp Only passes that preserve MemorySSA must mark it as preserved. 2019-06-11 18:27:49 +00:00
LoopSimplifyCFG.cpp [MemorySSA] Use SetVector to avoid nondeterminism. 2019-07-12 22:30:30 +00:00
LoopSink.cpp [IR] Value: add replaceUsesWithIf() utility 2019-08-01 12:32:08 +00:00
LoopStrengthReduce.cpp [PowerPC] exclude more icmps in LSR which is converted in later hardware loop pass 2019-07-25 01:22:08 +00:00
LoopUnrollAndJamPass.cpp [Loop Peeling] Introduce an option for profile based peeling disabling. 2019-08-02 09:32:52 +00:00
LoopUnrollPass.cpp [Loop Peeling] Introduce an option for profile based peeling disabling. 2019-08-02 09:32:52 +00:00
LoopUnswitch.cpp PHINode: introduce setIncomingValueForBlock() function, and use it. 2019-06-17 14:38:56 +00:00
LoopVersioningLICM.cpp [Loop Utils] Move utilty addStringMetadataToLoop to LoopUtils.cpp. NFC. 2019-07-26 06:10:08 +00:00
LowerAtomic.cpp Transforms: lower fadd and fsub atomicrmw instructions 2019-05-23 17:03:43 +00:00
LowerExpectIntrinsic.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LowerGuardIntrinsic.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LowerWidenableCondition.cpp Update more files added with the old header to the new one. 2019-02-11 08:25:56 +00:00
MakeGuardsExplicit.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MemCpyOptimizer.cpp NFC: Pass DataLayout into isBytewiseValue 2019-07-10 22:53:52 +00:00
MergeICmps.cpp OpaquePtr: add Type parameter to Loads analysis API. 2019-07-09 11:35:35 +00:00
MergedLoadStoreMotion.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NaryReassociate.cpp [opaque pointer types] Pass value type to GetElementPtr creation. 2019-02-01 20:44:47 +00:00
NewGVN.cpp [NewGVN] Add unary FNeg support to NewGVN pass 2019-06-28 20:09:32 +00:00
PartiallyInlineLibCalls.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PlaceSafepoints.cpp [CallSite removal] Migrate the statepoint GC infrastructure to use the 2019-02-11 07:42:30 +00:00
Reassociate.cpp Simplify std::lower_bound with llvm::{bsearch,lower_bound}. NFC 2019-06-21 05:40:31 +00:00
Reg2Mem.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RewriteStatepointsForGC.cpp [CallSite removal] Migrate the statepoint GC infrastructure to use the 2019-02-11 07:42:30 +00:00
SCCP.cpp [IPSCCP] Move callsite check to the beginning of the loop. 2019-07-31 12:57:04 +00:00
SROA.cpp OpaquePtr: add Type parameter to Loads analysis API. 2019-07-09 11:35:35 +00:00
Scalar.cpp Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
Scalarizer.cpp [Scalarizer] Propagate IR flags 2019-06-21 14:10:18 +00:00
SeparateConstOffsetFromGEP.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SimpleLoopUnswitch.cpp [MemorySSA] Use SetVector to avoid nondeterminism. 2019-07-12 22:30:30 +00:00
SimplifyCFGPass.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Sink.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SpeculateAroundPHIs.cpp SpeculateAroundPHIs: Respect convergent 2019-05-29 13:14:39 +00:00
SpeculativeExecution.cpp Support FNeg in SpeculativeExecution pass 2019-05-14 16:51:18 +00:00
StraightLineStrengthReduce.cpp [opaque pointer types] Pass value type to GetElementPtr creation. 2019-02-01 20:44:47 +00:00
StructurizeCFG.cpp [StructurizeCFG] Enable -structurizecfg-relaxed-uniform-regions by default 2019-08-06 14:30:19 +00:00
TailRecursionElimination.cpp OpaquePtr: add Type parameter to Loads analysis API. 2019-07-09 11:35:35 +00:00
WarnMissedTransforms.cpp [IR] Refactor attribute methods in Function class (NFC) 2019-04-04 22:40:06 +00:00