[all-commits] [llvm/llvm-project] 0046d7: [AggressiveInstCombine] Require a definitive initi...

Chris Kennelly via All-commits all-commits at lists.llvm.org
Fri Sep 11 02:53:20 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0046d7fcaa5ce7a55b7f9be65f9dca4f055c76f8
      https://github.com/llvm/llvm-project/commit/0046d7fcaa5ce7a55b7f9be65f9dca4f055c76f8
  Author: Chris Kennelly <ckennelly at ckennelly.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/negative-lower-table-based-cttz.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Require a definitive initializer for table folds (#222826)

tryToRecognizeTableBasedCttzOrLog2 accepted any global that isConstant()
and hasInitializer(), but isConstant() only means the value does not
change at run time -- it does not mean the initializer that is read is
the one that gets linked. An interposable (weak/linkonce) constant, or
an externally_initialized constant, can be replaced with a different
constant table at link or load time, so folding tbl[i] against the
observed initializer is unsound for those.

Assisted-by: Claude Code



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