[all-commits] [llvm/llvm-project] f75c6e: [TableGen] Efficiency improvements for encoding Hw...

Jason Eckhardt via All-commits all-commits at lists.llvm.org
Sun Feb 25 20:58:29 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f75c6ed93e785c09884a317ce2bfd440e7f8f573
      https://github.com/llvm/llvm-project/commit/f75c6ed93e785c09884a317ce2bfd440e7f8f573
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenHwModes.h
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] Efficiency improvements for encoding HwMode collection. (#82902)

Currently the DecoderEmitter spends a fair amount of cycles performing
repeated linear walks over the entire instruction list. This patch
eliminates one such walk during HwMode collection for EncodingInfos.

The eliminated traversal visits every instruction and then every
EncodingInfos entry for that instruction merely to collect all
referenced HwModes. That information already happens to be present in
the HwModeSelects created during the one-time construction of
CodeGenHwModes. We instead traverse the HwModeSelects, collecting each
one referenced as an encoding select. This set is a small constant in
size and does not generally grow with the size of the instruction set.



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