llvm-project/bolt/lib/Passes
Vladislav Khmelevsky fd9604952d [BOLT] Set valid index for functions with profiles
Some of the passes that calculates tentative layout like LongJmp and
Golang are expecting that only functions with valid index will be
located in hot text section. But currently functions with valid profiles
and not set index are breaking this logic, to fix this we can move the
hasValidProfile() condition from AssignSections pass to ReorderFunctions.

Vladislav Khmelevsky,
Advanced Software Technology Lab, Huawei

Differential Revision: https://reviews.llvm.org/D127223
2022-06-08 14:13:12 +03:00
..
ADRRelaxationPass.cpp [BOLT][RFC] Use new LLVM license for ADRRelaxationPass 2021-12-23 10:49:37 -08:00
Aligner.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
AllocCombiner.cpp [BOLT] Fix AND evaluation bug in shrink wrapping 2022-05-26 14:59:28 -07:00
AsmDump.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
BinaryFunctionCallGraph.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
BinaryPasses.cpp [BOLT] Set valid index for functions with profiles 2022-06-08 14:13:12 +03:00
CMOVConversion.cpp [BOLT] CMOVConversion pass 2022-03-08 10:44:31 -08:00
CMakeLists.txt [BOLT][CMAKE] Fix DYLIB build 2022-05-13 13:27:21 -07:00
CacheMetrics.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
CallGraph.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
CallGraphWalker.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
DataflowAnalysis.cpp [BOLT][NFC] Use BitVector::set_bits 2022-05-11 16:23:44 -07:00
DataflowInfoManager.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
ExtTSPReorderAlgorithm.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
FrameAnalysis.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
FrameOptimizer.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
HFSort.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
HFSortPlus.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
IdenticalCodeFolding.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
IndirectCallPromotion.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
Inliner.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
Instrumentation.cpp [BOLT][NFC] Move Offset annotation to Group 1 2022-01-18 13:24:50 -08:00
JTFootprintReduction.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
LivenessAnalysis.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
LongJmp.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
LoopInversionPass.cpp [BOLT] Avoid pointless loop rotation 2022-03-22 12:42:42 -07:00
MCF.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
PLTCall.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
PatchEntries.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
PettisAndHansen.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
RegAnalysis.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
RegReAssign.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
ReorderAlgorithm.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
ReorderData.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
ReorderFunctions.cpp [BOLT] Set valid index for functions with profiles 2022-06-08 14:13:12 +03:00
RetpolineInsertion.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
ShrinkWrapping.cpp [BOLT] Fix AND evaluation bug in shrink wrapping 2022-05-26 14:59:28 -07:00
SplitFunctions.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
StackAllocationAnalysis.cpp [BOLT] Fix AND evaluation bug in shrink wrapping 2022-05-26 14:59:28 -07:00
StackAvailableExpressions.cpp Add missing MC includes in bolt/ 2022-02-09 08:28:34 -05:00
StackPointerTracking.cpp [BOLT][NFC] Fix file-description comments 2021-12-21 10:21:41 -08:00
StackReachingUses.cpp [BOLT][NFC] Fix braces usage in Passes 2021-12-28 16:36:17 -08:00
StokeInfo.cpp [BOLT][NFC] Use BitVector::set_bits 2022-05-11 16:23:44 -07:00
TailDuplication.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00
ThreeWayBranch.cpp [BOLT][NFC] Reduce includes with include-what-you-use 2022-01-21 12:05:47 -08:00
ValidateInternalCalls.cpp [BOLT] Fix AND evaluation bug in shrink wrapping 2022-05-26 14:59:28 -07:00
VeneerElimination.cpp [bolt] Remove unneeded cl::ZeroOrMore for cl::opt options 2022-06-05 13:29:49 -07:00