[all-commits] [llvm/llvm-project] 6b4463: [TableGen] Predicate::operator== needs to compare ...

Craig Topper via All-commits all-commits at lists.llvm.org
Fri Apr 16 13:22:58 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6b446310bef95eecea7afdd989e57e64d39a3b0d
      https://github.com/llvm/llvm-project/commit/6b446310bef95eecea7afdd989e57e64d39a3b0d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-04-16 (Fri, 16 Apr 2021)

  Changed paths:
    M llvm/utils/TableGen/CodeGenDAGPatterns.h

  Log Message:
  -----------
  [TableGen] Predicate::operator== needs to compare the HwMode feature name in addition to the HwMode flag.

This was causing GenerateVariants to lose some variants since
HwMode is expanded first. We were mistakenly thinking the HwMode
predicate matched and finding the variant was isomorphic to a
pattern in another HwMode and discarding it.

Found while investigating it if would be better to generate
variants before expanding HwModes to improve RISCV build time.
I noticed an increase in the number of Opc_MorphNodeTo in the table
which indicated that the number of patterns had changed.




More information about the All-commits mailing list