aboutsummaryrefslogtreecommitdiff
path: root/bolt/lib/Passes/LongJmp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bolt/lib/Passes/LongJmp.cpp')
-rw-r--r--bolt/lib/Passes/LongJmp.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/bolt/lib/Passes/LongJmp.cpp b/bolt/lib/Passes/LongJmp.cpp
index 4dade16..03c1ea9 100644
--- a/bolt/lib/Passes/LongJmp.cpp
+++ b/bolt/lib/Passes/LongJmp.cpp
@@ -895,6 +895,10 @@ void LongJmpPass::relaxLocalBranches(BinaryFunction &BF) {
Error LongJmpPass::runOnFunctions(BinaryContext &BC) {
+ assert((opts::CompactCodeModel ||
+ opts::SplitStrategy != opts::SplitFunctionsStrategy::CDSplit) &&
+ "LongJmp cannot work with functions split in more than two fragments");
+
if (opts::CompactCodeModel) {
BC.outs()
<< "BOLT-INFO: relaxing branches for compact code model (<128MB)\n";