llvm-project/llvm/unittests
Michael Kruse 707ce34b06 [OpenMP][OpenMPIRBuilder] Implement loop unrolling.
Add methods for loop unrolling to the OpenMPIRBuilder class and use them in Clang if `-fopenmp-enable-irbuilder` is enabled. The unrolling methods are:

 * `unrollLoopFull`
 * `unrollLoopPartial`
 * `unrollLoopHeuristic`

`unrollLoopPartial` and `unrollLoopHeuristic` can use compiler heuristics to automatically determine the unroll factor. If possible, that is if no CanonicalLoopInfo is required to pass to another method, metadata for LLVM's LoopUnrollPass is added. Otherwise the unroll factor is determined using the same heurstics as user by LoopUnrollPass. Not requiring a CanonicalLoopInfo, especially with `unrollLoopHeuristic` allows greater flexibility.

With full unrolling and partial unrolling with known unroll factor, instead of duplicating instructions by the OpenMPIRBuilder, the full unroll is still delegated to the LoopUnrollPass. In case of partial unrolling the loop is first tiled using the existing `tileLoops` methods, then the inner loop fully unrolled using the same mechanism.

Reviewed By: jdoerfert, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D107764
2021-09-02 02:37:25 -05:00
..
ADT Add `all_of_zip` to STLExtras 2021-07-29 05:00:35 +00:00
Analysis [IRSim][IROutliner] Canonicalizing commutative value numbering between similarity sections. 2021-08-27 15:02:56 -07:00
AsmParser
BinaryFormat [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
Bitcode [AMDGPU] Set the default globals address space to 1 2020-11-20 15:46:53 +00:00
Bitstream PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
CodeGen [GlobalISel] Avoid creating COPY in LegalizationArtifactCombiner 2021-08-24 11:09:56 +02:00
DebugInfo [DWARF] Find offset of attribute. 2021-09-01 11:49:55 -07:00
Demangle [Demangle] Support Rust v0 mangling scheme in llvm::demangle 2021-06-17 10:37:26 +02:00
ExecutionEngine [ORC] Add non-const WrapperFunctionResult::data method, simplify allocate. 2021-08-24 17:15:37 +10:00
FileCheck Bump googletest to 1.10.0 2021-05-14 19:16:31 +02:00
Frontend [OpenMP][OpenMPIRBuilder] Implement loop unrolling. 2021-09-02 02:37:25 -05:00
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
IR [DebugInfo] generate btf_tag annotations for func parameters 2021-08-26 14:18:30 -07:00
InterfaceStub [ifs][elfabi] Merge llvm-ifs/elfabi tools 2021-07-19 11:23:19 -07:00
LineEditor
Linker [RGT] Recode more unreachable assertions and tautologies 2021-03-19 09:17:22 -07:00
MC [AsmParser][SystemZ][z/OS] Support for emitting labels in upper case 2021-06-24 12:50:11 -04:00
MI [AMDGPU] Rename amdgcn_wwm to amdgcn_strict_wwm 2021-03-03 09:33:57 +01:00
MIR CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
Object [AIX][XCOFF] emit vector info of traceback table. 2021-06-14 11:15:22 -04:00
ObjectYAML Add -Wno-error=unknown flag to clang-format. 2020-09-19 10:17:57 +02:00
Option Revert "[OptTable] Improve error message output for grouped short options" 2021-08-31 14:06:11 -07:00
Passes unittests: Fix library dependency name 2021-07-07 06:56:15 -07:00
ProfileData [CSSPGO] Split context string to deduplicate function name used in the context. 2021-08-30 20:09:29 -07:00
Remarks
Support [Support]: Introduce the `HashBuilder` interface. 2021-08-26 09:20:50 -07:00
TableGen Make TableGenGlobalISel an object library 2021-06-05 15:04:33 +02:00
Target [ARM] Add missing validForTailPredication for VMINNM/VMAXNM 2021-08-31 18:19:03 +01:00
TextAPI [llvm][TextAPI] add mapping from OS string to Platform 2021-05-06 16:25:56 -07:00
Transforms [CodeExtractor] Making the arguments outlined easier to access from the outside 2021-08-26 09:47:53 -07:00
XRay Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
tools Merge all the llvm-exegesis unit tests into a single binary 2021-07-26 22:07:07 -07:00
CMakeLists.txt [MIRPrinter] Add machine metadata support. 2021-06-19 12:48:08 -04:00
unittest.cfg.in