[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