[all-commits] [llvm/llvm-project] d36d8d: [TableGen][GISel] Fix incorrect binding of predica...

Min-Yih Hsu via All-commits all-commits at lists.llvm.org
Thu Oct 5 08:57:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d36d8d67f5ad979dc88a8fdeceb2f6e764c7c7d9
      https://github.com/llvm/llvm-project/commit/d36d8d67f5ad979dc88a8fdeceb2f6e764c7c7d9
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Fix incorrect binding of predicate operands upon `PredicateUsesOperands = 1` (#68125)

When `PredicateUsesOperands` is set to true, GlobalISelEmitter preserves
the original index of predicate operands and uses that information on
each predicate usage. However, previously it only looked up the original
index for "actual" operands (i.e. operands of a predicate usage) that
are leaf nodes, which is an incorrect assumption.
This patch fix it by generalizing the acceptable kinds of actual
operands for predicate as well as checking the existance of bound
predicate operands.




More information about the All-commits mailing list