[all-commits] [llvm/llvm-project] 34a809: [GISel] TreeMatcher: always skip leaves if they do...

Kai Nacke via All-commits all-commits at lists.llvm.org
Tue Sep 20 13:55:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 34a809591bf97bd8832dbbabd7f0b7f7a3355783
      https://github.com/llvm/llvm-project/commit/34a809591bf97bd8832dbbabd7f0b7f7a3355783
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2022-09-20 (Tue, 20 Sep 2022)

  Changed paths:
    M llvm/test/TableGen/GICombinerEmitter/match-tree.td
    M llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp

  Log Message:
  -----------
  [GISel] TreeMatcher: always skip leaves if they don't care

In `GIMatchTreeOpcodePartitioner::applyForPartition()`, the loop over
the possible leaves skip a leaf if the instruction does not care
about the instruction.
When processing the referenced operands in the next loop the same
leaves need to be skipped.

Later, when these leaves are added to all partitions, the bit vector
must be resized first before the bit representing the leaf is set.

This fixes a crash in llvm-tblgen.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D134192




More information about the All-commits mailing list