/llvm-project/llvm/unittests/Transforms/Utils/ |
H A D | CodeExtractorTest.cpp | 1 //===- CodeExtractor.cpp - Unit tests for CodeExtractor -------------------===// 9 #include "llvm/Transforms/Utils/CodeExtractor.h" 41 TEST(CodeExtractor, ExitStub) { in TEST() 71 CodeExtractor CE(Candidates); in TEST() 89 TEST(CodeExtractor, InputOutputMonitoring) { in TEST() 119 CodeExtractor CE(Candidates); in TEST() 147 TEST(CodeExtractor, ExitBlockOrderingPhis) { in TEST() 179 CodeExtractor CE(Candidates); in TEST() 205 TEST(CodeExtractor, ExitBlockOrderin in TEST() 33 TEST(CodeExtractor,ExitStub) TEST() argument 81 TEST(CodeExtractor,InputOutputMonitoring) TEST() argument 139 TEST(CodeExtractor,ExitBlockOrderingPhis) TEST() argument 197 TEST(CodeExtractor,ExitBlockOrdering) TEST() argument 254 TEST(CodeExtractor,ExitPHIOnePredFromRegion) TEST() argument 305 TEST(CodeExtractor,StoreOutputInvokeResultAfterEHPad) TEST() argument 372 TEST(CodeExtractor,StoreOutputInvokeResultInExitStub) TEST() argument 407 TEST(CodeExtractor,ExtractAndInvalidateAssumptionCache) TEST() argument 460 TEST(CodeExtractor,RemoveBitcastUsesFromOuterLifetimeMarkers) TEST() argument 509 TEST(CodeExtractor,PartialAggregateArgs) TEST() argument 559 TEST(CodeExtractor,OpenMPAggregateArgs) TEST() argument [all...] |
/llvm-project/llvm/include/llvm/Transforms/IPO/ |
H A D | HotColdSplitting.h | 28 class CodeExtractor; variable 53 bool isSplittingBeneficial(CodeExtractor &CE, const BlockSequence &Region, 55 Function *extractColdRegion(BasicBlock &EntryPoint, CodeExtractor &CE,
|
H A D | IROutliner.h | 120 CodeExtractor *CE = nullptr; 343 SpecificBumpPtrAllocator<CodeExtractor> ExtractorAllocator;
|
/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CodeExtractor.cpp | 1 //===- CodeExtractor.cpp - Pull code region into a new function -----------===// 15 #include "llvm/Transforms/Utils/CodeExtractor.h" 243 CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT, 361 bool CodeExtractor::isLegalToShrinkwrapLifetimeMarkers( in findSideEffectInfoForBlock() 375 CodeExtractor::findOrCreateBlockForHoisting(BasicBlock *CommonExitBlock) { in isLegalToShrinkwrapLifetimeMarkers() 431 CodeExtractor::LifetimeMarkerInfo in findOrCreateBlockForHoisting() 432 CodeExtractor::getLifetimeMarkers(const CodeExtractorAnalysisCache &CEAC, in findOrCreateBlockForHoisting() 481 void CodeExtractor::findAllocas(const CodeExtractorAnalysisCache &CEAC, in getLifetimeMarkers() 606 bool CodeExtractor in findAllocas() 244 CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT, CodeExtractor() function in CodeExtractor 256 CodeExtractor::CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs, CodeExtractor() function in CodeExtractor [all...] |
H A D | CMakeLists.txt | 16 CodeExtractor.cpp
|
/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | CodeExtractor.h | 1 //===- Transform/Utils/CodeExtractor.h - Code extraction util ---*- C++ -*-===// 40 /// A cache for the CodeExtractor analysis. The operation \ref 41 /// CodeExtractor::extractCodeRegion is guaranteed not to invalidate this 64 /// due to \ref CodeExtractor::extractCodeRegion. 85 class CodeExtractor { 151 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr, 161 /// Returns zero when called on a CodeExtractor instance where isEligible 168 /// \param CEAC - Cache to speed up operations for the CodeExtractor when 174 /// \returns zero when called on a CodeExtractor instance where isEligible
|
/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 55 #include "llvm/Transforms/Utils/CodeExtractor.h" 166 // follows that invoke instructions cannot be extracted, because CodeExtractor in mayExtractBlock() 331 // and new outputs are created to supply the split phis. CodeExtractor can't in getOutliningPenalty() 390 bool HotColdSplitting::isSplittingBeneficial(CodeExtractor &CE, 413 BasicBlock &EntryPoint, CodeExtractor &CE, in extractColdRegion() 651 SmallVector<std::pair<BasicBlock *, CodeExtractor>, 2> OutliningWorklist; in outlineColdRegions() 720 CodeExtractor CE( in outlineColdRegions() 764 // Cache and recycle the CodeExtractor analysis to avoid O(n^2) compile-time. in run()
|
H A D | BlockExtractor.cpp | 172 Function *F = CodeExtractor(BlocksToExtractVec).extractCodeRegion(CEAC); in runOnModule()
|
H A D | LoopExtractor.cpp | 28 #include "llvm/Transforms/Utils/CodeExtractor.h" 244 CodeExtractor Extractor(L->getBlocks(), &DT, false, nullptr, nullptr, AC); in extractLoop()
|
H A D | PartialInlining.cpp | 52 #include "llvm/Transforms/Utils/CodeExtractor.h" 1095 // The CodeExtractor needs a dominator tree. in doMultiRegionFunctionOutlining() 1104 // Cache and recycle the CodeExtractor analysis to avoid O(n^2) compile-time. in doMultiRegionFunctionOutlining() 1113 CodeExtractor CE(RegionInfo.Region, &DT, /*AggregateArgs*/ false, in doMultiRegionFunctionOutlining() 1167 // The CodeExtractor needs a dominator tree. in doSingleRegionFunctionOutlining() 1195 CodeExtractor(ToExtract, &DT, /*AggregateArgs*/ false, in doSingleRegionFunctionOutlining()
|
H A D | IROutliner.cpp | 796 /// Find the GVN for the inputs that have been found by the CodeExtractor. in findConstants() 801 /// CodeExtractor. 861 /// \param [out] Outputs - The set of values extracted by the CodeExtractor 869 // OverallInputs are the inputs to the region found by the CodeExtractor, in getCodeExtractorArguments() 870 // SinkCands and HoistCands are used by the CodeExtractor to find sunken in getCodeExtractorArguments() 873 // CodeExtractor, removing conditions such as sunken allocas, but that in getCodeExtractorArguments() 883 CodeExtractor *CE = Region.CE; in getCodeExtractorArguments() 1081 /// value has been marked by the CodeExtractor as an output. 1411 // Map the inputs found by the CodeExtractor to the arguments found for in findAddInputsOutputs() 1415 // Map the outputs found by the CodeExtractor t in findAddInputsOutputs() [all...] |
/llvm-project/llvm/test/Transforms/CodeExtractor/ |
H A D | MultipleExitBranchProb.ll | 3 ; This test checks to make sure that CodeExtractor updates
|
H A D | ExtractedFnEntryCount.ll | 3 ; This test checks to make sure that the CodeExtractor
|
H A D | PartialInlineEntryPHICost.ll | 4 ; the outlined region entry (BB4) are moved outside the region by CodeExtractor.
|
/llvm-project/llvm/test/Transforms/IROutliner/ |
H A D | illegal-allocas.ll | 5 ; inconsistencies with the CodeExtractor's algorithm.
|
H A D | illegal-assumes.ll | 5 ; in the CodeExtractor's algorithm for llvm.assumes, so we ignore it for now.
|
/llvm-project/llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/ |
H A D | BUILD.gn | 24 "CodeExtractor.cpp",
|
/llvm-project/llvm/test/Transforms/CodeExtractor/X86/ |
H A D | InheritTargetAttributes.ll | 3 ; This testcase checks to see if CodeExtractor properly inherits
|
/llvm-project/llvm/test/Transforms/HotColdSplit/ |
H A D | update-split-loop-metadata.ll | 3 ; Check that llvm.loop metadata extracted by CodeExtractor is updated so that
|
H A D | lifetime-markers-on-inputs-1.ll | 37 ; merging of stack slots. CodeExtractor must replicate the effects of
|
/llvm-project/llvm/lib/Frontend/OpenMP/ |
H A D | OMPIRBuilder.cpp | 56 #include "llvm/Transforms/Utils/CodeExtractor.h" 723 // CodeExtractor generates correct code for extracted functions in finalize() 726 CodeExtractor Extractor(Blocks, /* DominatorTree */ nullptr, in finalize() 773 // basic block of the parallel region. CodeExtractor generates in finalize() 1608 CodeExtractor Extractor(Blocks, /* DominatorTree */ nullptr, in createParallel() 4572 CodeExtractor Extractor(Blocks, in applyDynamicWorkshareLoop()
|