llvm/test/Transforms
Teresa Johnson 4a6d61ac00 Memory intrinsic value profile optimization: Avoid divide by 0
Summary:
Skip memops if the total value profiled count is 0, we can't correctly
scale up the counts and there is no point anyway.

Reviewers: davidxl

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301645 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-28 14:30:54 +00:00
..
ADCE Fix a test to check assembly output instead of bitcode. 2017-03-31 23:22:19 +00:00
AddDiscriminators [AddDiscriminators] Assign discriminators to MemIntrinsic calls. 2017-04-11 19:07:30 +00:00
AlignmentFromAssumptions
ArgumentPromotion [ArgPromotion] Don't drop !prof metadata on promoted calls 2017-04-13 18:10:30 +00:00
AtomicExpand Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
BBVectorize Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
BDCE [Analysis] Support bitreverse in -demanded-bits pass 2017-04-13 16:44:25 +00:00
BranchFolding
CodeExtractor [PartialInlining]: Improve partial inlining to handle complex conditions 2017-04-27 16:34:00 +00:00
CodeGenPrepare [CodeGenPrepare] Fix crash due to an invalid CFG 2017-04-17 19:11:04 +00:00
ConstantHoisting [ConstHoisting] Add BFI in constanthoisting pass and select the best insertion 2017-04-21 15:50:16 +00:00
ConstantMerge Don't merge global constants with non-dbg metadata. 2017-03-09 00:03:37 +00:00
ConstProp
Coroutines Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
CorrelatedValuePropagation Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
CountingFunctionInserter
CrossDSOCFI
DCE
DeadArgElim Set the prof weight correctly for call instructions in DeadArgumentElimination. 2017-03-23 23:26:00 +00:00
DeadStoreElimination Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
EarlyCSE [EarlyCSE] Mark the condition of assume intrinsic as true 2017-04-28 06:25:39 +00:00
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport
GCOVProfiling
GlobalDCE
GlobalMerge
GlobalOpt [GlobalOpt] Correctly update metadata when localizing a global. 2017-04-27 18:39:08 +00:00
GlobalSplit Fix one-after-the-end type metadata handling in globalsplit. 2017-03-07 22:18:48 +00:00
GuardWidening
GVN Handle invariant.group.barrier in BasicAA 2017-04-24 19:37:17 +00:00
GVNHoist Disable GVN Hoist due to still more bugs being found in it. There is 2017-04-27 00:28:03 +00:00
IndVarSimplify Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
InferAddressSpaces InferAddressSpaces: Infer for just GEPs 2017-04-21 21:35:04 +00:00
InferFunctionAttrs
Inline Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
InstCombine [InstCombine] fix matcher to bind to specific operand (PR32830) 2017-04-27 21:55:03 +00:00
InstMerge
InstSimplify [InstCombine] Fix CHECK-LABEL in two tests. 2017-04-25 17:40:58 +00:00
InterleavedAccess [ARM/AArch64] Ensure valid vector element types for interleaved accesses 2017-04-10 18:34:37 +00:00
Internalize
IPConstantProp
IRCE
JumpThreading [JumpThread] We want to fold (not thread) when all predecessor go to single BB's successor. 2017-04-23 20:56:29 +00:00
LCSSA
LICM Revert "Compute safety information in a much finer granularity." 2017-04-24 18:25:07 +00:00
LoadCombine [LoadCombine] Avoid analysing dead basic blocks 2017-04-12 08:07:55 +00:00
LoadStoreVectorizer Skip bitcasts while looking for GEP in LoadStoreVectorizer 2017-04-25 18:00:08 +00:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopIdiom [LIR] Obey non-integral pointer semantics 2017-04-24 20:12:10 +00:00
LoopInterchange
LoopLoadElim
LoopPredication
LoopReroll
LoopRotate [LoopRotate] Propagate dbg.value intrinsics 2017-03-08 09:56:22 +00:00
LoopSimplify
LoopSimplifyCFG
LoopStrengthReduce ARM: handle post-indexed NEON ops where the offset isn't the access width. 2017-04-20 19:54:02 +00:00
LoopUnroll [LoopUnroll] Don't try to unroll non canonical loops. 2017-04-24 20:14:11 +00:00
LoopUnswitch Revert "[SCEV] Enable SCEV verification by default in EXPENSIVE_CHECKS builds" 2017-04-24 02:35:19 +00:00
LoopVectorize [LV] Handle external uses of floating-point induction variables 2017-04-26 16:23:02 +00:00
LoopVersioning [LAA] Correctly return a half-open range in expandBounds 2017-04-05 09:24:26 +00:00
LoopVersioningLICM [LAA] Correctly return a half-open range in expandBounds 2017-04-05 09:24:26 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch LowerSwitch: Fix producing invalid IR on unreachable code 2017-04-21 23:54:12 +00:00
LowerTypeTests Align all scalar numbers to LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR 2017-04-04 06:02:32 +00:00
Mem2Reg Add test coverage for mem2reg dbg.declare lowering. 2017-04-21 22:13:55 +00:00
MemCpyOpt Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
MergeFunc
MetaRenamer [MetaRenamer] Don't rename library functions. 2017-03-23 23:21:07 +00:00
NameAnonGlobals
NaryReassociate
NewGVN [GVN] Don't coerce non-integral pointers to integers or vice versa 2017-04-19 18:21:09 +00:00
ObjCARC [ObjCARC] Do not sink an objc_retain past a clang.arc.use. 2017-04-25 04:06:35 +00:00
PartiallyInlineLibCalls
PGOProfile Memory intrinsic value profile optimization: Avoid divide by 0 2017-04-28 14:30:54 +00:00
PhaseOrdering Make globalaa-retained.ll test catching more cases. 2017-04-18 13:29:26 +00:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [RSForGC] Handle vector GEPs 2017-03-17 00:55:53 +00:00
SafeStack PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
SampleProfile Build SymbolMap in SampleProfileLoader to help matchin function names with suffix. 2017-04-17 22:23:05 +00:00
Scalarizer [Scalarizer] Handle scalar arguments in vector GEP 2017-03-31 06:29:49 +00:00
SCCP [SCCP] Resolve indirect branch target when possible. 2017-04-10 00:33:25 +00:00
SeparateConstOffsetFromGEP AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel 2017-03-21 21:39:51 +00:00
SimpleLoopUnswitch [PM/LoopUnswitch] Introduce a new, simpler loop unswitch pass. 2017-04-27 18:45:20 +00:00
SimplifyCFG [SimplifyCFG] Fix the determination of PostBB in conditional store merging to handle the targets on the second branch being commuted 2017-04-21 15:53:42 +00:00
Sink
SLPVectorizer [SLP vectorizer] Allow phi node reordering in tryToVectorizeList. 2017-04-18 18:16:57 +00:00
SpeculativeExecution
SROA Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
StraightLineStrengthReduce AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel 2017-03-21 21:39:51 +00:00
StripDeadPrototypes
StripSymbols [StripDeadDebug/DIFinder] Track inlined SPs 2017-04-11 13:32:11 +00:00
StructurizeCFG Revert "StructurizeCFG: Directly invert cmp instructions" 2017-04-24 20:25:01 +00:00
TailCallElim
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: keep comdats together, rename if leader is renamed 2017-04-12 01:43:07 +00:00
Util [SimplifyLibCalls] Fix infinite loop with fast-math optimization. 2017-04-25 12:36:14 +00:00
WholeProgramDevirt Align all scalar numbers to LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR 2017-04-04 06:02:32 +00:00