llvm-project/llvm/lib/Transforms/Vectorize
Mircea Trofin b53eeb6f4c [llvm] API for encoding/decoding DWARF discriminators.
Summary:
Added a pair of APIs for encoding/decoding the 3 components of a DWARF discriminator described in http://lists.llvm.org/pipermail/llvm-dev/2016-October/106532.html: the base discriminator, the duplication factor (useful in profile-guided optimization) and the copy index (used to identify copies of code in cases like loop unrolling)

The encoding packs 3 unsigned values in 32 bits. This CL addresses 2 issues:
- communicates overflow back to the user
- supports encoding all 3 components together. Current APIs assume a sequencing of events. For example, creating a new discriminator based on an existing one by changing the base discriminator was not supported.

Reviewers: davidxl, danielcdh, wmi, dblaikie

Reviewed By: dblaikie

Subscribers: zzheng, dmgreen, aprantl, JDevlieghere, llvm-commits

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

llvm-svn: 349973
2018-12-21 22:48:50 +00:00
..
CMakeLists.txt [VPlan, SLP] Add simple SLP analysis on top of VPlan. 2018-11-14 13:11:49 +00:00
LLVMBuild.txt
LoadStoreVectorizer.cpp [PM] Port LoadStoreVectorizer to the new pass manager. 2018-12-07 08:23:37 +00:00
LoopVectorizationLegality.cpp [LoopVectorize] Rename pass options. NFC. 2018-12-18 17:46:09 +00:00
LoopVectorizationPlanner.h [VPlan] Move recipe construction to VPRecipeBuilder. 2018-06-08 17:30:45 +00:00
LoopVectorize.cpp [llvm] API for encoding/decoding DWARF discriminators. 2018-12-21 22:48:50 +00:00
SLPVectorizer.cpp Test commit 2018-12-19 17:18:40 +00:00
VPRecipeBuilder.h recommit 344472 after fixing build failure on ARM and PPC. 2018-10-14 08:50:06 +00:00
VPlan.cpp [IR] Add hasNPredecessors, hasNPredecessorsOrMore to BasicBlock 2018-11-19 19:54:27 +00:00
VPlan.h [VPlan, SLP] Use SmallPtrSet for Candidates. 2018-11-14 15:58:40 +00:00
VPlanDominatorTree.h [VPlan] Introduce VPlan-based dominator analysis. 2018-07-30 21:33:31 +00:00
VPlanHCFGBuilder.cpp [TI removal] Make variables declared as `TerminatorInst` and initialized 2018-10-15 10:04:59 +00:00
VPlanHCFGBuilder.h [VPlan] Introduce VPlan-based dominator analysis. 2018-07-30 21:33:31 +00:00
VPlanHCFGTransforms.cpp Fix for the buildbot failure http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/23635 2018-09-14 02:02:57 +00:00
VPlanHCFGTransforms.h [VPlan] Add VPInstruction to VPRecipe transformation. 2018-06-18 18:28:49 +00:00
VPlanLoopInfo.h [VPlan] Introduce VPLoopInfo analysis. 2018-07-31 01:57:29 +00:00
VPlanSLP.cpp [VPlan, SLP] Use SmallPtrSet for Candidates. 2018-11-14 15:58:40 +00:00
VPlanValue.h [VPlan, SLP] Add simple SLP analysis on top of VPlan. 2018-11-14 13:11:49 +00:00
VPlanVerifier.cpp [VPlan][LV] Introduce condition bit in VPBlockBase 2018-07-09 15:57:09 +00:00
VPlanVerifier.h [VPlan] Reland r332654 and silence unused func warning 2018-05-21 18:14:23 +00:00
Vectorize.cpp [PM] Port LoadStoreVectorizer to the new pass manager. 2018-12-07 08:23:37 +00:00