[PATCH] D101553: [Loads] Ignore type test assume sequences inserted for devirtualization

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 29 10:32:22 PDT 2021


tejohnson created this revision.
tejohnson added reviewers: nikic, lebedev.ri.
Herald added subscribers: dexonsmith, wenlei, hiraditya, Prazek.
tejohnson requested review of this revision.
Herald added a project: LLVM.

Ignore the instruction types inserted for whole program devirtualization
under -fwhole-program-vtables when scanning for available pointer loads
and stores (used in jump threading and inst combine). The scan limit is
set quite small (6 instructions) by default, so these can have an
outsized effect on this analysis. While some of these instructions
(notably bitcasts) will be there without -fwhole-program-vtables, it
should not affect compile time significantly to skip these when
scanning for loads and stores.

Additionally, it is common to only apply -fwhole-program-vtables when
feeding back instrumentation PGO, and not during the instrumentation
build, and any different optimization can affect IR profile matching.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101553

Files:
  llvm/include/llvm/IR/IntrinsicInst.h
  llvm/lib/Analysis/Loads.cpp
  llvm/test/Transforms/InstCombine/load.ll
  llvm/test/Transforms/JumpThreading/thread-loads.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101553.341572.patch
Type: text/x-patch
Size: 8692 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210429/c7d1e67e/attachment.bin>


More information about the llvm-commits mailing list