[all-commits] [llvm/llvm-project] ccfc54: [IR] Split the attribute pool by kind. NFC (#221620)

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Sep 7 01:41:20 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ccfc54aa053e1e0614660cc5f3ff0122eff02ab9
      https://github.com/llvm/llvm-project/commit/ccfc54aa053e1e0614660cc5f3ff0122eff02ab9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/LLVMContextImpl.h

  Log Message:
  -----------
  [IR] Split the attribute pool by kind. NFC (#221620)

Change Attribute::get overloads to use fine-grained hash-consing pools
(Enum/Int/String/Type), avoiding FoldingSetNodeID serialization
overhead. Use a flat array for Enum attributes, which carry no value.

The two ConstantRange kinds keep using FoldingSet: they are not used
often, and UniquingSet cannot be used with custom UniquingSetInfo
(`APInt::operator==` asserts identical BitWidth).

Aided by Opus 5



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