llvm-project
778801cc - [BOLT] Never call fixBranches() on non-simple functions (#141112)

Commit
208 days ago
[BOLT] Never call fixBranches() on non-simple functions (#141112) We should never call fixBranches() on a function with invalid CFG. E.g., ValidateInternalCalls modifies CFG for its internal analysis purposes. At the same time, it marks the function as non-simple with an assumption that fixBranches() will never run on that function. However, calculateEmittedSize() by default calls fixBranches() which can lead to all sorts of issues, including assertions firing in fixBranches(). The fix is to use the original size for non-simple functions in calculateEmittedSize() since we are supposed to emit the function unmodified. Additionally, add an assertion at the start of fixBranches().
Author
Parents
Loading