[all-commits] [llvm/llvm-project] dbca8a: [WebAssembly] Use SetVector instead of SmallPtrSet...

Derek Schuff via All-commits all-commits at lists.llvm.org
Fri Mar 8 09:21:06 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dbca8aa1472b9140a68918b2615519dc7dad593f
      https://github.com/llvm/llvm-project/commit/dbca8aa1472b9140a68918b2615519dc7dad593f
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp

  Log Message:
  -----------
  [WebAssembly] Use SetVector instead of SmallPtrSet in FixBrTableDefaults (#84418)

This pass inserts all the MBBs into a set and then iterates over them.
But when
the number of elements gets large enough, SmallPtrSet expands into a
hash table
which wouldn't have a deterministic iteration order since the elements
are
pointers. This results in nondeterministic jump table layouts.
Use SetVector instead for a deterministic iteration order.



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