[all-commits] [llvm/llvm-project] e7249e: [SimplifyCFG] Ignore free instructions when comput...

aeubanks via All-commits all-commits at lists.llvm.org
Wed Sep 22 09:52:53 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e7249e4acf3cf9438d6d9e02edecebd5b622a4dc
      https://github.com/llvm/llvm-project/commit/e7249e4acf3cf9438d6d9e02edecebd5b622a4dc
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-09-22 (Wed, 22 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/CodeGen/AArch64/csr-split.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-free-cost.ll

  Log Message:
  -----------
  [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest

When determining whether to fold branches to a common destination by
merging two blocks, SimplifyCFG will count the number of instructions to
be moved into the first basic block. However, there's no reason to count
free instructions like bitcasts and other similar instructions.

This resolves missed branch foldings with -fstrict-vtable-pointers in
llvm-test-suite's lambda benchmark.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D108837




More information about the All-commits mailing list