llvm-project/llvm/unittests
Florian Hahn 52f3714dae [VPlan] Add VPDef class.
This patch introduces a new VPDef class, which can be used to
manage VPValues defined by recipes/VPInstructions.

The idea here is to mirror VPUser for values defined by a recipe. A
VPDef can produce either zero (e.g. a store recipe), one (most recipes)
or multiple (VPInterleaveRecipe) result VPValues.

To traverse the def-use chain from a VPDef to its users, one has to
traverse the users of all values defined by a VPDef.

VPValues now contain a pointer to their corresponding VPDef, if one
exists. To traverse the def-use chain upwards from a VPValue, we first
need to check if the VPValue is defined by a VPDef. If it does not have
a VPDef, this means we have a VPValue that is not directly defined
iniside the plan and we are done.

If we have a VPDef, it is defined inside the region by a recipe, which
is a VPUser, and the upwards def-use chain traversal continues by
traversing all its operands.

Note that we need to add an additional field to to VPVAlue to link them
to their defs. The space increase is going to be offset by being able to
remove the SubclassID field in future patches.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D90558
2020-11-17 16:18:11 +00:00
..
ADT [STLExtras] Add append_range helper. 2020-11-05 16:20:02 -08:00
Analysis [CGSCC][Inliner] Handle new non-trivial edges in updateCGAndAnalysisManagerForPass 2020-11-11 13:43:49 -08:00
AsmParser [SVE] Remove calls to VectorType::getNumElements from AsmParserTest 2020-07-07 14:55:42 -07:00
BinaryFormat [BinaryFormat] Add formatv support for DW_OP constants 2020-06-08 15:27:44 +02:00
Bitcode [strictfp] Replace dangling strictfp attrs with nobuiltin 2020-06-15 10:05:35 -04:00
Bitstream
CodeGen [GlobalISel] Add convenience matchers for nots and all-ones constants 2020-11-13 13:54:08 -08:00
DebugInfo llvm-dwarfdump: Support verbose printing DW_OP_convert to print the CU local offset before the resolved absolute offset 2020-10-23 18:50:15 -07:00
Demangle
ExecutionEngine [ORC] Add dependence of OrcJIT on OrcTargetProcess. 2020-11-13 18:09:41 +11:00
FileCheck Reland [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library 2020-09-01 14:59:28 +02:00
Frontend Fix build (`ninja check` without running `ninja` first) 2020-11-14 16:57:28 +00:00
FuzzMutate Revert "Revert "[NFC][llvm] Make the contructors of `ElementCount` private."" 2020-08-19 17:26:36 +00:00
IR [PatternMatch] Add single index InsertValue matcher. 2020-11-12 21:27:18 +00:00
InterfaceStub [llvm] Fix ODRViolations for VersionTuple YAML specializations NFC 2020-10-20 18:29:15 -07:00
LineEditor
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [MC] Adjust StringTableBuilder for linked Mach-O binaries 2020-10-22 19:19:41 -07:00
MI LIS: fix handleMove to properly extend main range 2020-07-07 11:52:32 -07:00
Object [llvm-readobj/libObject] - Allow dumping objects that has a broken SHT_SYMTAB_SHNDX section. 2020-11-03 11:30:28 +03:00
ObjectYAML Add -Wno-error=unknown flag to clang-format. 2020-09-19 10:17:57 +02:00
Option Reland [clang][cli] Port ObjCMTAction to new option parsing system 2020-11-13 13:42:54 +01:00
Passes Don't export symbols from clang/opt/llc if plugins are disabled. 2020-03-23 12:17:09 -07:00
ProfileData [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
Remarks [Remarks] Fix error message check in unit test 2019-10-31 15:51:36 -07:00
Support [YAMLIO] Correctly diagnose empty alias/anchor 2020-11-16 18:45:05 +00:00
TableGen [TableGen] [tests] Change integer ranges to use new '...' punctuation 2020-10-26 10:47:29 -04:00
Target [NFCI] Replace AArch64StackOffset by StackOffset. 2020-11-04 08:49:00 +00:00
TextAPI [TextAPI] clean up auto usages in tests, NFC 2020-09-21 08:39:40 -07:00
Transforms [VPlan] Add VPDef class. 2020-11-17 16:18:11 +00:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
tools [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
CMakeLists.txt Reland [FileCheck] Move FileCheck implementation out of LLVMSupport into its own library 2020-09-01 14:59:28 +02:00
unittest.cfg.in