[all-commits] [llvm/llvm-project] 65eb46: [RISCV] Explicitly create IMPLICIT_DEF instead of ...
Craig Topper via All-commits
all-commits at lists.llvm.org
Tue Sep 26 08:37:38 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 65eb46877c340cba6b727f40db91c85e2c0771f5
https://github.com/llvm/llvm-project/commit/65eb46877c340cba6b727f40db91c85e2c0771f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-09-26 (Tue, 26 Sep 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Explicitly create IMPLICIT_DEF instead of UNDEF for vectors i… (#67369)
…n RISCVDAGToDAGISel::Select.
UNDEF needs to go through isel itself. All of the nodes have been
topologically sorted so that instruction selection precedes from root to
entry node. If we create a new node that needs to go through isel, we
have to insert it into the correct place in the topological sort. If we
don't, it might not get selected at all in some cases.
Some targets have a function like X86's insertDAGNode to sort newly
created nodes.
To avoid introducing such a function on RISC-V, we can directly emit the
IMPLICIT_DEF node that UNDEF would get selected to.
More information about the All-commits
mailing list