diff options
author | Luke Lau <luke@igalia.com> | 2024-03-11 17:43:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 17:43:02 +0800 |
commit | 58dd59a28293432171c0439eb1ae082f6ea9962f (patch) | |
tree | e37f12309cc7a40d84118d806ef3b001f9f6c73f /llvm/unittests/Analysis/LazyCallGraphTest.cpp | |
parent | 718962f53bfc610f670f1674457a426e01117097 (diff) | |
download | llvm-58dd59a28293432171c0439eb1ae082f6ea9962f.zip llvm-58dd59a28293432171c0439eb1ae082f6ea9962f.tar.gz llvm-58dd59a28293432171c0439eb1ae082f6ea9962f.tar.bz2 |
[RISCV] Don't run combineBinOp_VLToVWBinOp_VL until after legalize types. NFCI (#84125)
I noticed this from a discrepancy in fillUpExtensionSupport between how
we apparently need to check for legal types for ISD::{ZERO,SIGN}_EXTEND,
but we don't need to for RISCVISD::V{Z,S}EXT_VL.
Prior to #72340, combineBinOp_VLToVWBinOp_VL only ran after type
legalization because it only operated on _VL nodes. _VL nodes are only
emitted during op legalization, which takes place **after** type
legalization, which is presumably why the existing code didn't need to
check for legal types.
After #72340 we now handle generic ops like ISD::ADD that exist before
op legalization and thus **before** type legalization. This meant that
we needed to add extra checks that the narrow type was legal in #76785.
I think the easiest thing to do here is to just maintain the invariant
that the types are legal and only run the combine after type
legalization.
Diffstat (limited to 'llvm/unittests/Analysis/LazyCallGraphTest.cpp')
0 files changed, 0 insertions, 0 deletions