[all-commits] [llvm/llvm-project] 31abde: [BOLT] Restrict ICP for functions with unknown con...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Thu Sep 8 15:50:58 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 31abde43d624aebaee90ac65ed7ca8cecf438e22
https://github.com/llvm/llvm-project/commit/31abde43d624aebaee90ac65ed7ca8cecf438e22
Author: Amir Ayupov <aaupov at fb.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/lib/Passes/IndirectCallPromotion.cpp
Log Message:
-----------
[BOLT] Restrict ICP for functions with unknown control flow
ICP has two modes: jump table promotion and indirect call promotion.
The selection is based on whether an instruction has a jump table or not.
An instruction with unknown control flow doesn't have a jump table and will
fall under indirect call promotion policy which might be incorrect/unsafe
(if an instruction is not a tail call, i.e. has local jump targets).
Prevent ICP for functions containing instructions with unknown control flow.
Follow-up to https://reviews.llvm.org/D128870.
Reviewed By: maksfb
Differential Revision: https://reviews.llvm.org/D132882
More information about the All-commits
mailing list