Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVISelLowering.cpp | ||
---|---|---|
1115–1118 | Might possibly make more sense to write as: if (Subtarget.hasStdExtZbb() && isa<ConstantSDNode>(Y)) return true; return false; depending on how this will be extended in future (e.g. with vector support?) | |
1118 | I think your code size regressions come from this not using Y.getNode()? SDValue is never a ConstantSDNode, so for Zbb this always returns true. |
I'm assuming in_constant_42_vary_invmask is still regressing just because you haven't yet rebased on top of the updated DAGCombine patch and not because something else is missing?
llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll | ||
---|---|---|
171 | Do we still want a TODO for non-Zbb out* to use the shorter sequence that in* use? Currently out* have an extra instruction (two for i64-on-RV32). |
llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll | ||
---|---|---|
171 | I guess that's the RISCV equivalent of https://reviews.llvm.org/D112754 I can add a TODO |
llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll | ||
---|---|---|
171 | Looks rather familiar... which I guess means it should live in DAGCombine, not X86ISelLowering, though care is needed to avoid circular combines... |
Might possibly make more sense to write as:
depending on how this will be extended in future (e.g. with vector support?)