llvm-project/llvm/lib/Transforms/Scalar
Aditya Kumar a6d9d31279 [LLVM-C][Ocaml] Add MergeFunctions and DCE pass
MergeFunctions and DCE pass are missing from OCaml/C-api. This patch
adds them.

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

Reviewers: whitequark, hiraditya, deadalnix

Reviewed By: whitequark

Subscribers: llvm-commits

Tags: #llvm

Authored by: kren1

llvm-svn: 373170
2019-09-29 16:06:22 +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 [AlignmentFromAssumptions] getNewAlignmentDiff(): use getURemExpr() 2019-08-23 02:17:04 +00:00
BDCE.cpp [BDCE] Optimize find+insert with early insert 2019-03-07 06:38:03 +00:00
CMakeLists.txt Revert "Reland "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline."" 2019-09-10 10:39:09 +00:00
CallSiteSplitting.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
ConstantHoisting.cpp ConstantHoisting - Silence static analyzer dyn_cast<PointerType> null dereference warning. NFCI. 2019-09-22 17:45:05 +00:00
ConstantProp.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
CorrelatedValuePropagation.cpp [CVP] Generate simpler code for elided with.overflow intrinsics 2019-08-31 09:58:37 +00:00
DCE.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
DeadStoreElimination.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
DivRemPairs.cpp [DivRemPairs] Don't assert that we won't ever get expanded-form rem pairs in different BB's (PR43500) 2019-09-29 15:25:24 +00:00
EarlyCSE.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
FlattenCFGPass.cpp Don't use invalidated iterators in FlattenCFGPass 2019-09-19 19:39:42 +00:00
Float2Int.cpp [Float2Int] avoid crashing on unreachable code (PR38502) 2019-09-19 16:31:17 +00:00
GVN.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
GVNHoist.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +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 [Debuginfo] dbg.value points to undef value after Induction Variable Simplification. 2019-09-24 08:47:03 +00:00
InductiveRangeCheckElimination.cpp Delete dead stores 2019-07-12 14:58:15 +00:00
InferAddressSpaces.cpp InferAddressSpaces: Move target intrinsic handling to TTI 2019-08-14 18:13:00 +00:00
InstSimplifyPass.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
JumpThreading.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
LICM.cpp [LICM] Don't verify domtree/loopinfo unless EXPENSIVE_CHECKS is enabled. 2019-09-25 22:35:47 +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 [SCEV] Rename getMaxBackedgeTakenCount to getConstantMaxBackedgeTakenCount [NFC] 2019-08-14 21:58:13 +00:00
LoopDistribute.cpp LoopDistribute/LAA: Respect convergent 2019-06-12 13:34:19 +00:00
LoopFuse.cpp [LoopFusion] Add ability to fuse guarded loops 2019-09-26 21:42:45 +00:00
LoopIdiomRecognize.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
LoopInstSimplify.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
LoopInterchange.cpp [LoopInterchange] Drop unused splitInnerLoopHeader declaration. 2019-09-11 10:32: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 [Instruction] Add hasMetadata(Kind) helper [NFC] 2019-09-04 17:28:48 +00:00
LoopRerollPass.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
LoopRotation.cpp [MemorySSA] Loop passes should mark MSSA preserved when available. 2019-08-17 01:02:12 +00:00
LoopSimplifyCFG.cpp [MemorySSA] Loop passes should mark MSSA preserved when available. 2019-08-17 01:02:12 +00:00
LoopSink.cpp [IR] Value: add replaceUsesWithIf() utility 2019-08-01 12:32:08 +00:00
LoopStrengthReduce.cpp [LSR] Silence static analyzer null dereference warnings with assertions. NFCI. 2019-09-22 17:59:24 +00:00
LoopUnrollAndJamPass.cpp [Unroll] Do NOT unroll a loop with small runtime upperbound 2019-09-26 21:40:27 +00:00
LoopUnrollPass.cpp [Unroll] Do NOT unroll a loop with small runtime upperbound 2019-09-26 21:40:27 +00:00
LoopUnswitch.cpp [MemorySSA] Pass (for update) MSSAU when hoisting instructions. 2019-09-12 17:12:51 +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 Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +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 Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
MergeICmps.cpp Revert "Reland "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline."" 2019-09-10 10:39:09 +00:00
MergedLoadStoreMotion.cpp [MergedLoadStoreMotion] Sink stores to BB with more than 2 predecessors 2019-09-05 17:00:32 +00:00
NaryReassociate.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
NewGVN.cpp [Alignment][NFC] MaybeAlign in GVNExpression 2019-09-27 08:56:43 +00:00
PartiallyInlineLibCalls.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
PlaceSafepoints.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
Reassociate.cpp [Reassoc] Small fix to support unary FNeg in NegateValue(...) 2019-08-23 15:49:38 +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 Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
SCCP.cpp SCCP - silence static analyzer dyn_cast<StructType> null dereference warning. NFCI. 2019-09-27 15:49:10 +00:00
SROA.cpp SROA: Check Total Bits of vector type 2019-09-21 18:16:37 +00:00
Scalar.cpp [LLVM-C][Ocaml] Add MergeFunctions and DCE pass 2019-09-29 16:06:22 +00:00
Scalarizer.cpp [Scalarizer] Propagate IR flags 2019-06-21 14:10:18 +00:00
SeparateConstOffsetFromGEP.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
SimpleLoopUnswitch.cpp [MemorySSA] Loop passes should mark MSSA preserved when available. 2019-08-17 01:02:12 +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 Ignore indirect branches from callbr. 2019-08-14 16:44:07 +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