[all-commits] [llvm/llvm-project] 66a3e4: [LoongArch] Override TargetLowering::isShuffleMask...
wanglei via All-commits
all-commits at lists.llvm.org
Fri Dec 1 22:51:00 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 66a3e4fafb6eae19764f8a192ca3a116c0554211
https://github.com/llvm/llvm-project/commit/66a3e4fafb6eae19764f8a192ca3a116c0554211
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Override TargetLowering::isShuffleMaskLegal
By default, `isShuffleMaskLegal` always returns true, which can result
in the expansion of `BUILD_VECTOR` into a `VECTOR_SHUFFLE` node in
certain situations. Subsequently, the `VECTOR_SHUFFLE` node is expanded
again into a `BUILD_VECTOR`, leading to an infinite loop.
To address this, we always return false, allowing the expansion of
`BUILD_VECTOR` through the stack.
More information about the All-commits
mailing list