[all-commits] [llvm/llvm-project] 8c206a: [win][clang] Fix devirtualization of vector deleti...

Mariya Podchishchaeva via All-commits all-commits at lists.llvm.org
Thu Mar 5 01:20:00 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8c206a26e408bcbf98b1cc6b0770b17c1e8d0320
      https://github.com/llvm/llvm-project/commit/8c206a26e408bcbf98b1cc6b0770b17c1e8d0320
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprCXX.cpp
    A clang/test/CodeGenCXX/ms-vdtors-devirtualization.cpp

  Log Message:
  -----------
  [win][clang] Fix devirtualization of vector deleting destructor call (#183741)

Since vector deleting destructor performs a loop over array elements and
calls delete[], simply devirtualizing call to it produces wrong code
with memory leaks.
Before emitting virtual call to vector deleting destructor, check if it
can be devirtualized, if yes, emit normal loop over array elements
instead of a virtual call.

No release note since this is a relatively recent regression.
This aims to fix https://github.com/llvm/llvm-project/issues/183621



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