[all-commits] [llvm/llvm-project] e6a9b0: [CodeGen] Stabilize C2/D2 to C1/D1 replacement order

Fangrui Song via All-commits all-commits at lists.llvm.org
Sat Jul 22 15:29:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e6a9b06dc0b974eb16186a71099b88a631afdf52
      https://github.com/llvm/llvm-project/commit/e6a9b06dc0b974eb16186a71099b88a631afdf52
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-07-22 (Sat, 22 Jul 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGenCXX/destructors.cpp

  Log Message:
  -----------
  [CodeGen] Stabilize C2/D2 to C1/D1 replacement order

The conversion iterates over CodeGenModule::Replacements (a StringMap)
and replaces C2/D2 and moves C1/D1 (
commit 0196a1d98f8a206259a4b5ce93c21807243af92f in 2013, to make the
output look nicer). The iteration order is not guaranteed to be
deterministic, and may cause destructors.cpp to exhibit different
function orders. Use a MapVector instead.

While here, fix an IWYU issue by adding an explicit include, though
MapVector is already used in CodeGenModule.h.




More information about the All-commits mailing list