[all-commits] [llvm/llvm-project] 356192: [clang] Allow devirtualisation of final polymorphi...

Oliver Hunt via All-commits all-commits at lists.llvm.org
Mon Oct 27 17:39:16 PDT 2025


  Branch: refs/heads/users/ojhunt/indirect-vcall-via-base-opt
  Home:   https://github.com/llvm/llvm-project
  Commit: 3561925cce562fa4283826e1eddd2d18c508fc09
      https://github.com/llvm/llvm-project/commit/3561925cce562fa4283826e1eddd2d18c508fc09
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-10-27 (Mon, 27 Oct 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGenCXX/indirect-final-vcall-through-base.cpp

  Log Message:
  -----------
  [clang] Allow devirtualisation of final polymorphic calls via a base class

When -fstrict-vtable-pointers is set we can devirtualise calls to
virtual functions when called indirectly through a separate function
that does not locally know the exact type it is operating on.

This only permits the optimization for regular methods, not any kind
of constructor or destructor.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list