llvm-project/bolt
Bill Nell 501601259b [BOLT] Fix branch info stats after SCTC
Summary:
SCTC was incorrectly swapping BranchInfo when reversing the branch condition.  This was wrong because when we remove the successor BB later, it removes the BranchInfo for that BB.  In this case the successor would be the BB with the stats we had just swapped.

Instead leave BranchInfo as it is and read the branch count from the false or true branch depending on whether we reverse or replace the branch, respectively.  The call to removeSuccessor later will remove the unused BranchInfo we no longer care about.

(cherry picked from FBD6876799)
2018-02-01 14:24:26 -08:00
..
Passes [BOLT] Fix branch info stats after SCTC 2018-02-01 14:24:26 -08:00
merge-fdata [BOLT] Add value profiling to BOLT 2017-10-16 13:09:43 -07:00
BinaryBasicBlock.cpp [BOLT] Major overhaul of profiling in BOLT 2017-11-28 09:57:21 -08:00
BinaryBasicBlock.h [BOLT] New profile format 2017-12-13 23:12:01 -08:00
BinaryContext.cpp [BOLT] Fix lookup of non-allocatable sections in RewriteInstance 2018-01-31 12:12:59 -08:00
BinaryContext.h [BOLT] Fix lookup of non-allocatable sections in RewriteInstance 2018-01-31 12:12:59 -08:00
BinaryFunction.cpp [BOLT] Refactoring - add BinarySection class 2018-01-23 15:10:24 -08:00
BinaryFunction.h [BOLT] Refactoring - add BinarySection class 2018-01-23 15:10:24 -08:00
BinaryFunctionProfile.cpp [BOLT] Do not assert on bad data 2018-01-29 10:37:30 -08:00
BinaryLoop.h Loop detection for BOLT's CFG. 2016-05-26 10:58:01 -07:00
BinaryPassManager.cpp [BOLT] Major overhaul of profiling in BOLT 2017-11-28 09:57:21 -08:00
BinaryPassManager.h [BOLT] Fix printing of dyno-stats 2017-08-10 13:18:44 -07:00
BinaryPasses.cpp [BOLT] Emit short tail calls in relocation mode. 2017-02-13 23:05:12 -08:00
BinaryPasses.h [BOLT] Emit short tail calls in relocation mode. 2017-02-13 23:05:12 -08:00
BinarySection.cpp [BOLT] Refactor relocation analysis code. 2018-01-24 05:42:11 -08:00
BinarySection.h [BOLT] Fix lookup of non-allocatable sections in RewriteInstance 2018-01-31 12:12:59 -08:00
CMakeLists.txt [BOLT] Refactoring - add BinarySection class 2018-01-23 15:10:24 -08:00
CacheMetrics.cpp [BOLT] a new block reordering algorithm 2017-12-01 16:54:08 -08:00
CacheMetrics.h [BOLT] a new block reordering algorithm 2017-12-01 16:54:08 -08:00
DWARFRewriter.cpp Handle types CU list in updateGdbIndexSection 2018-01-31 11:52:39 -08:00
DataAggregator.cpp [BOLT] New profile format 2017-12-13 23:12:01 -08:00
DataAggregator.h [BOLT] Major overhaul of profiling in BOLT 2017-11-28 09:57:21 -08:00
DataReader.cpp [BOLT] Fix ICP nested jump table handling and general stats. 2017-11-29 17:38:39 -08:00
DataReader.h [BOLT] Fix ICP nested jump table handling and general stats. 2017-11-29 17:38:39 -08:00
DebugData.cpp [BOLT] Rework debug info processing. 2017-05-16 09:27:34 -07:00
DebugData.h [BOLT] Fix ASAN bugs 2017-11-08 14:29:20 -08:00
Exceptions.cpp [BOLT] Do not assign a LP to tail calls 2017-12-13 19:08:43 -08:00
Exceptions.h Remove unused private var in CFIReaderWriter (NFC) 2016-11-30 16:03:53 -08:00
LLVMBuild.txt Tool to merge .fdata files. 2016-04-08 12:18:06 -07:00
ProfileReader.cpp [BOLT] New profile format 2017-12-13 23:12:01 -08:00
ProfileReader.h [BOLT] New profile format 2017-12-13 23:12:01 -08:00
ProfileWriter.cpp [BOLT] New profile format 2017-12-13 23:12:01 -08:00
ProfileWriter.h [BOLT] New profile format 2017-12-13 23:12:01 -08:00
ProfileYAMLMapping.h [BOLT] New profile format 2017-12-13 23:12:01 -08:00
README.md BOLT root commit 2022-01-10 17:58:05 -08:00
ReorderAlgorithm.cpp ICF improvements. 2016-12-21 17:13:56 -08:00
ReorderAlgorithm.h Add cluster randomization layout algorithm. 2016-09-11 14:33:58 -07:00
RewriteInstance.cpp [BOLT] Fix lookup of non-allocatable sections in RewriteInstance 2018-01-31 12:12:59 -08:00
RewriteInstance.h [BOLT] Refactor relocation analysis code. 2018-01-24 05:42:11 -08:00
llvm-bolt.cpp [BOLT] Major overhaul of profiling in BOLT 2017-11-28 09:57:21 -08:00

README.md