1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Transforms/CodeExtractor
Sergey Dmitriev eea7082b7d [CodeExtractor] Allow extracting blocks with exception handling
This is a CodeExtractor improvement which adds support for extracting blocks
which have exception handling constructs if that is legal to do. CodeExtractor
performs validation checks to ensure that extraction is legal when it finds
invoke instructions or EH pads (landingpad, catchswitch, or cleanuppad) in
blocks to be extracted.

I have also added an option to allow extraction of blocks with alloca
instructions, but no validation is done for allocas. CodeExtractor caller has
to validate it himself before allowing alloca instructions to be extracted.
By default allocas are still not allowed in extraction blocks.

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

llvm-svn: 332151
2018-05-11 22:49:49 +00:00
..
X86 [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
2004-03-13-LoopExtractorCrash.ll
2004-03-14-DominanceProblem.ll
2004-03-14-NoSwitchSupport.ll
2004-03-17-MissedLiveIns.ll
2004-03-17-UpdatePHIsOutsideRegion.ll
2004-03-18-InvokeHandling.ll
2004-08-12-BlockExtractPHI.ll
2004-11-12-InvokeExtract.ll
BlockAddressReference.ll [CodeExtractor] Prevent extraction of block involving blockaddress 2017-06-27 18:57:53 +00:00
BlockAddressSelfReference.ll Clean up a test case 2017-06-27 21:35:49 +00:00
cost_meta.ll [PartialInlining] Minor cost anaysis tuning 2017-06-02 22:08:04 +00:00
cost.ll [PartialInlining] Minor cost anaysis tuning 2017-06-02 22:08:04 +00:00
ExtractedFnEntryCount.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
inline_eh_1.ll [CodeExtractor] Allow extracting blocks with exception handling 2018-05-11 22:49:49 +00:00
inline_eh.ll [CodeExtractor] Allow extracting blocks with exception handling 2018-05-11 22:49:49 +00:00
live_shrink_gep.ll [PartialInlining] Support shrinkwrap life_range markers 2017-06-11 20:46:05 +00:00
live_shrink_hoist.ll [CodeExtractor] Fix iterator invalidation in findOrCreateBlockForHoisting. 2017-11-01 09:48:12 +00:00
live_shrink_multiple.ll [PartialInlining] Support shrinkwrap life_range markers 2017-06-11 20:46:05 +00:00
live_shrink_unsafe.ll [PartialInlining] Support shrinkwrap life_range markers 2017-06-11 20:46:05 +00:00
live_shrink.ll [PartialInlining] Support shrinkwrap life_range markers 2017-06-11 20:46:05 +00:00
MultipleExitBranchProb.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineAlloca2.ll [PartialInlining] Shrinkwrap allocas with live range contained in outline region. 2017-05-30 21:22:18 +00:00
PartialInlineAlloca4.ll [PartialInlining] Shrinkwrap allocas with live range contained in outline region. 2017-05-30 21:22:18 +00:00
PartialInlineAlloca5.ll [PartialInlining] Shrinkwrap allocas with live range contained in outline region. 2017-05-30 21:22:18 +00:00
PartialInlineAlloca.ll [PartialInlining] Shrinkwrap allocas with live range contained in outline region. 2017-05-30 21:22:18 +00:00
PartialInlineAnd.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineAndOr.ll [PartialInlining]: Improve partial inlining to handle complex conditions 2017-04-27 16:34:00 +00:00
PartialInlineAttributes.ll [CodeExtractor] Use subset of function attributes for extracted function. 2018-01-07 11:22:25 +00:00
PartialInlineCallRef.ll
PartialInlineDebug.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
PartialInlineEntryUpdate.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineHighCost.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineLiveAcross.ll [PartialInlining] Reduce outlining overhead by removing unneeded live-out(s) 2017-06-01 00:12:41 +00:00
PartialInlineNoInline.ll [PartialInliner] Skip call sites where inlining fails. 2017-11-03 11:29:00 +00:00
PartialInlineNoLiveOut.ll [PartialInlining] Reduce outlining overhead by removing unneeded live-out(s) 2017-06-01 00:12:41 +00:00
PartialInlineNotViable.ll [PartialInlining] Use isInlineViable to detect constructs preventing inlining. 2018-03-10 14:53:44 +00:00
PartialInlineOptRemark.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
PartialInlineOr.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineOrAnd.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
PartialInlineORECrash.ll [PartialInlining] Fix Crash from holding a reference to a destructed ORE. 2018-04-20 19:56:26 +00:00
PartialInlinePGOMultiRegion.ll - Removed unused lamba (IsReturnBlock) causing build bots to fail for r319398 2017-11-30 03:36:57 +00:00
PartialInlinePGORegion.ll - Removed unused lamba (IsReturnBlock) causing build bots to fail for r319398 2017-11-30 03:36:57 +00:00
PartialInlineVarArg.ll [PartialInliner] Update test (NFC). 2018-02-04 18:40:24 +00:00
PartialInlineVarArgsDebug.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
SingleCondition.ll [PartialInlining] Profile based cost analysis 2017-05-12 23:41:43 +00:00
unreachable-block.ll [PartialInlining]: Improve partial inlining to handle complex conditions 2017-04-27 16:34:00 +00:00