1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/lib/Transforms/Utils
Adam Nemet 3b9497477f [LoopUnroll] Include hotness of region in opt remark
LoopUnroll is a loop pass, so the analysis of OptimizationRemarkEmitter
is added to the common function analysis passes that loop passes
depend on.

The BFI and indirectly BPI used in this pass is computed lazily so no
overhead should be observed unless -pass-remarks-with-hotness is used.

This is how the patch affects the O3 pipeline:

         Dominator Tree Construction
         Natural Loop Information
         Canonicalize natural loops
         Loop-Closed SSA Form Pass
         Basic Alias Analysis (stateless AA impl)
         Function Alias Analysis Results
         Scalar Evolution Analysis
+        Lazy Branch Probability Analysis
+        Lazy Block Frequency Analysis
+        Optimization Remark Emitter
         Loop Pass Manager
           Rotate Loops
           Loop Invariant Code Motion
           Unswitch loops
         Simplify the CFG
         Dominator Tree Construction
         Basic Alias Analysis (stateless AA impl)
         Function Alias Analysis Results
         Combine redundant instructions
         Natural Loop Information
         Canonicalize natural loops
         Loop-Closed SSA Form Pass
         Scalar Evolution Analysis
+        Lazy Branch Probability Analysis
+        Lazy Block Frequency Analysis
+        Optimization Remark Emitter
         Loop Pass Manager
           Induction Variable Simplification
           Recognize loop idioms
           Delete dead loops
           Unroll loops
...

llvm-svn: 277203
2016-07-29 19:29:47 +00:00
..
AddDiscriminators.cpp Address review feedbacks of AddDiscriminator change 2016-06-15 22:20:56 +00:00
ASanStackFrameLayout.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
BasicBlockUtils.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
BreakCriticalEdges.cpp [PM] Port BreakCriticalEdges to the new PM. 2016-07-22 18:04:25 +00:00
BuildLibCalls.cpp Recommitting r275284: add support to inline __builtin_mempcpy 2016-07-29 18:23:18 +00:00
BypassSlowDivision.cpp Clarify that the bypassSlowDivision optimization operates on a single BB [v2] 2016-01-04 23:18:58 +00:00
CloneFunction.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
CloneModule.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
CMakeLists.txt Added ThinLTO inlining statistics 2016-07-29 00:27:16 +00:00
CmpInstAnalysis.cpp move decomposeBitTestICmp() to Transforms/Utils; NFC 2016-07-20 17:18:45 +00:00
CodeExtractor.cpp Refactor - CodeExtractor : Move check for valid block to static utility 2016-07-27 08:02:46 +00:00
CtorUtils.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
DemoteRegToStack.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Evaluator.cpp [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
FlattenCFG.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
FunctionImportUtils.cpp IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
GlobalStatus.cpp IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
ImportedFunctionsInliningStatistics.cpp Added ThinLTO inlining statistics 2016-07-29 00:27:16 +00:00
InlineFunction.cpp Avoid using a raw AssumptionCacheTracker in various inliner functions. 2016-07-23 04:22:50 +00:00
InstructionNamer.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
IntegerDivision.cpp TransformUtils: Avoid getNodePtrUnchecked() in integer division, NFC 2016-02-21 20:14:29 +00:00
LCSSA.cpp Add verifyAnalysis for LCSSA. 2016-07-27 23:35:53 +00:00
LLVMBuild.txt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
Local.cpp [sanitizer] Simplify and future-proof maybeMarkSanitizerLibraryCallNoBuiltin(). 2016-07-28 23:45:15 +00:00
LoopSimplify.cpp Revert "Revert r275883 and r275891. They seem to cause PR28608." 2016-07-20 01:55:27 +00:00
LoopUnroll.cpp [LoopUnroll] Include hotness of region in opt remark 2016-07-29 19:29:47 +00:00
LoopUnrollRuntime.cpp The patch fixes PR27392. 2016-04-27 03:04:54 +00:00
LoopUtils.cpp [LoopUnroll] Include hotness of region in opt remark 2016-07-29 19:29:47 +00:00
LoopVersioning.cpp Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC 2016-07-08 20:55:26 +00:00
LowerInvoke.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
LowerSwitch.cpp It isn't meaningful for a transform to preserve another transform. NFC. 2016-06-25 00:47:21 +00:00
Mem2Reg.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
MemorySSA.cpp [MSSA] Make EXPENSIVE_CHECKS check more. 2016-07-24 07:03:49 +00:00
MetaRenamer.cpp Whoops, remove trailing whitespace. 2015-08-27 05:37:12 +00:00
ModuleUtils.cpp [ThinLTO] Prevent importing of "llvm.used" values 2016-04-20 14:39:45 +00:00
NameAnonFunctions.cpp Fix mismatch on returned type between header and implementation for createNameAnonFunctionPass() 2016-04-12 23:25:11 +00:00
PromoteMemoryToRegister.cpp Correct IDF calculator for ReverseIDF 2016-04-19 06:13:28 +00:00
SanitizerStats.cpp Fix Clang-tidy modernize-use-nullptr and modernize-use-override warnings; other minor fixes. 2016-01-26 18:48:36 +00:00
SimplifyCFG.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
SimplifyIndVar.cpp [IndVars] Remove -liv-reduce 2016-06-05 18:01:12 +00:00
SimplifyInstructions.cpp [PM] Port InstSimplify to the new pass manager. 2016-07-07 21:14:36 +00:00
SimplifyLibCalls.cpp Addressing post-commit comments for not rewriting fputs: 2016-07-07 14:31:19 +00:00
SplitModule.cpp Move instances of std::function. 2016-06-12 16:13:55 +00:00
SSAUpdater.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SymbolRewriter.cpp [PM] Port SymbolRewriter to the new PM 2016-07-25 20:52:00 +00:00
UnifyFunctionExitNodes.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
Utils.cpp [MemorySSA] Reinstate the legacy printer and verifier. 2016-07-06 21:20:47 +00:00
ValueMapper.cpp Delete more dead code. 2016-06-22 12:44:16 +00:00