llvm-mirror/test/Transforms
Max Kazantsev 2a0f4003db [GuardWidening] Support widening of explicitly expressed guards
This patch adds support of guards expressed in explicit form via
`widenable_condition` in Guard Widening pass.

Differential Revision: https://reviews.llvm.org/D56075
Reviewed By: reames

llvm-svn: 353932
2019-02-13 09:56:30 +00:00
..
ADCE Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
AddDiscriminators treat invoke like call 2019-01-15 21:26:51 +00:00
AggressiveInstCombine [AggressiveInstCombine] convert rotate with guard branch into funnel shift (PR34924) 2018-12-17 21:14:51 +00:00
AlignmentFromAssumptions
ArgumentPromotion ArgumentPromotion should copy all metadata to new Function 2019-02-08 17:08:27 +00:00
AtomicExpand Codegen support for atomicrmw fadd/fsub 2019-01-22 18:36:06 +00:00
BDCE [BDCE] Remove dead uses of arguments 2019-01-04 21:21:43 +00:00
BlockExtractor
BranchFolding
CalledValuePropagation
CallSiteSplitting [CallSiteSplitting] Report edge deletion to DomTreeUpdater 2018-11-29 15:27:04 +00:00
CanonicalizeAliases [ThinLTO] Handle chains of aliases 2019-01-04 19:04:54 +00:00
CodeExtractor [CodeExtractor] Update function's assumption cache after extracting blocks from it 2019-02-08 06:55:18 +00:00
CodeGenPrepare [CGP] add test for unsigned subtract of 1 with overflow; NFC 2019-02-05 15:27:40 +00:00
ConstantHoisting
ConstantMerge
ConstProp [ConstProp] add test for miscompile from bitcast transform; NFC 2019-02-12 21:49:56 +00:00
Coroutines Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
CorrelatedValuePropagation [CVP] Use LVI to constant fold deopt operands 2019-01-22 01:34:33 +00:00
CrossDSOCFI
DCE
DeadArgElim [IPO][AVR] Create new Functions in the default address space specified in the data layout 2018-12-18 09:52:52 +00:00
DeadStoreElimination [DebugInfo] Don't salvage load operations (PR40628). 2019-02-12 10:54:30 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] If DI can't be salvaged, mark it as unavailable. 2018-12-17 01:42:39 +00:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp/X86 Re-land r349731 "[CodeGen][ExpandMemcmp] Add an option for allowing overlapping loads. 2018-12-20 13:01:04 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport Recommit "[ThinLTO] Rename COMDATs for COFF when promoting/renaming COMDAT leader" 2019-01-31 17:18:11 +00:00
GCOVProfiling [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
GlobalDCE GlobalDCE: Teach isEmptyFunction() to ignore debug intrinsics. 2018-11-16 17:47:21 +00:00
GlobalMerge
GlobalOpt [GlobalOpt] Simplify __cxa_atexit elimination 2019-02-09 09:18:37 +00:00
GlobalSplit
GuardWidening [GuardWidening] Support widening of explicitly expressed guards 2019-02-13 09:56:30 +00:00
GVN [DebugInfo] Don't salvage load operations (PR40628). 2019-02-12 10:54:30 +00:00
GVNHoist
GVNSink
HotColdSplit [HotColdSplit] With PGO add profile entry metadata to split cold function 2019-02-07 17:50:35 +00:00
IndirectBrExpand
IndVarSimplify [IndVars] Fix corner case with unreachable Phi inputs. PR40454 2019-02-12 09:59:44 +00:00
InferAddressSpaces Add a 'dynamic' parameter to the objectsize intrinsic 2019-01-30 20:34:35 +00:00
InferFunctionAttrs Allow norecurse attribute on functions that have debug infos. 2018-12-05 16:48:00 +00:00
Inline AMDGPU: Ignore CodeObjectV3 when inlining 2019-02-12 23:30:11 +00:00
InstCombine [DebugInfo] Don't salvage load operations (PR40628). 2019-02-12 10:54:30 +00:00
InstMerge
InstNamer
InstSimplify [InstSimplify] Missed optimization in math expression: log10(pow(10.0,x)) == x, log2(pow(2.0,x)) == x 2019-02-03 03:48:30 +00:00
InterleavedAccess
Internalize
IPConstantProp [IPCP] Don't crash due to arg count/type mismatch between caller/callee 2019-01-29 10:19:44 +00:00
IRCE [IRCE] Support narrow latch condition for wide range checks 2019-01-23 07:20:56 +00:00
JumpThreading Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
LCSSA [LCSSA] Handle case with single new PHI faster. 2019-02-02 15:26:05 +00:00
LICM [LICM&MSSA] Limit store hoisting. 2019-02-11 19:07:15 +00:00
LoadStoreVectorizer [PM] Port LoadStoreVectorizer to the new pass manager. 2018-12-07 08:23:37 +00:00
LoopDataPrefetch
LoopDeletion Fix RUN line in test/Transforms/LoopDeletion/crashbc.ll 2019-01-10 09:58:23 +00:00
LoopDistribute [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopIdiom [LoopIdiomRecognize] @llvm.dbg values shouldn't affect the transformation. 2019-02-03 20:33:20 +00:00
LoopInstSimplify
LoopInterchange
LoopLoadElim
LoopPredication [LoopPredication] Support guards expressed as branches by widenable condition 2019-01-22 11:49:06 +00:00
LoopReroll [LoopReroll] Fix reroll root legality checking. 2019-02-12 00:33:25 +00:00
LoopRotate Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
LoopSimplify
LoopSimplifyCFG [LoopSimplifyCFG] Fix test broken in release mode in r353813 2019-02-12 14:43:30 +00:00
LoopStrengthReduce [LSR] Generate cross iteration indexes 2019-02-07 13:32:54 +00:00
LoopTransformWarning [WarnMissedTransforms] Do not warn about already vectorized loops. 2019-02-04 19:55:59 +00:00
LoopUnroll [UnrollRuntime] Fix domTree failures in multiexit unrolling 2019-01-08 17:16:25 +00:00
LoopUnrollAndJam [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUnswitch
LoopVectorize Refactor setAlreadyUnrolled() and setAlreadyVectorized(). 2019-02-11 19:45:44 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests
LowerWidenableCondition Default lowering for experimental.widenable.condition 2019-01-31 09:10:17 +00:00
MakeGuardsExplicit Introduce llvm.experimental.widenable_condition intrinsic 2018-12-07 14:39:46 +00:00
Mem2Reg [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
MemCpyOpt [ValueTracking] Look through casts when determining non-nullness 2019-01-26 23:40:35 +00:00
MergeFunc Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
ObjCARC Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs 2019-01-03 01:38:08 +00:00
PartiallyInlineLibCalls
PGOProfile [PGO] Make pgo related options in opt more consistent. 2019-01-16 23:19:02 +00:00
PhaseOrdering [InstCombine] canonicalize raw IR rotate patterns to funnel shift 2019-01-01 21:51:39 +00:00
PlaceSafepoints
PreISelIntrinsicLowering Preserve the linkage for objc* intrinsics as clang will set them to weak_external in some cases 2018-12-18 22:42:08 +00:00
PruneEH [Transforms] Preserve metadata when converting invoke to call. 2018-12-14 18:15:11 +00:00
Reassociate [PatternMatch] Handle undef vectors consistently 2018-11-20 16:08:19 +00:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Expand/standardize tests introduced in rL352059 2019-01-24 16:45:23 +00:00
SafeStack
SampleProfile Update entry count for cold calls 2019-01-24 00:55:23 +00:00
ScalarizeMaskedMemIntrin/X86
Scalarizer Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
SCCP [ConstantFold] Use getMinSignedBits for APInt in isIndexInRangeOfArrayType. 2018-12-12 18:55:14 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch Update MemorySSA in SimpleLoopUnswitch. 2018-12-04 14:23:37 +00:00
SimplifyCFG [DWARF] LLVM ERROR: Broken function found, while removing Debug Intrinsics. 2019-02-11 10:16:38 +00:00
Sink
SLPVectorizer [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
SpeculateAroundPHIs
SpeculativeExecution
SROA [Analysis] Fix isSafeToLoadUnconditionally handling of volatile. 2019-01-24 21:31:13 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter [LTO] Record whether LTOUnit splitting is enabled in index 2019-01-11 18:31:57 +00:00
Util Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
WholeProgramDevirt