[all-commits] [llvm/llvm-project] 2ec43e: [LegalizeDAG] Implement promotion rules for SELECT_CC

LemonBoy via All-commits all-commits at lists.llvm.org
Fri Mar 5 09:23:15 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ec43e416734bdead6bfeeaf5ab54c479b6f444e
      https://github.com/llvm/llvm-project/commit/2ec43e416734bdead6bfeeaf5ab54c479b6f444e
  Author: LemonBoy <thatlemon at gmail.com>
  Date:   2021-03-05 (Fri, 05 Mar 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll

  Log Message:
  -----------
  [LegalizeDAG] Implement promotion rules for SELECT_CC

Implement the promotion rule for SELECT_CC nodes by upcasting all the parameters and downcasting the result.
The AArch64 target makes use of this rule and, since it was not implemented, in some cases the instruction selector would hit an assertion upon encountering the illegal node.

This patch requires D97840, the included test cases hit both problems.

Reviewed By: craig.topper

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




More information about the All-commits mailing list