[all-commits] [llvm/llvm-project] 31441a: [ThinLTO/WPD] Fix index-based WPD for alias vtables

Teresa Johnson via All-commits all-commits at lists.llvm.org
Mon Jan 13 13:38:39 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 31441a3e007833a180b0112550eddb78547771f2
      https://github.com/llvm/llvm-project/commit/31441a3e007833a180b0112550eddb78547771f2
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2020-01-13 (Mon, 13 Jan 2020)

  Changed paths:
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    A llvm/test/ThinLTO/X86/Inputs/devirt_alias.ll
    A llvm/test/ThinLTO/X86/devirt_alias.ll

  Log Message:
  -----------
  [ThinLTO/WPD] Fix index-based WPD for alias vtables

Summary:
A recent fix in D69452 fixed index based WPD in the presence of
available_externally vtables. It added a cast of the vtable def
summary to a GlobalVarSummary. However, in some cases one def may be an
alias, in which case we need to get the base object before casting,
otherwise we will crash.

Reviewers: evgeny777, steven_wu, aganea

Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list