[llvm] [TargetLowering] Improve one signature of forceExpandWideMUL. (PR #123991)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 22 23:17:40 PST 2025
================
@@ -10952,22 +10952,73 @@ void TargetLowering::forceExpandWideMUL(SelectionDAG &DAG, const SDLoc &dl,
SDValue &Hi) const {
EVT VT = LHS.getValueType();
assert(RHS.getValueType() == VT && "Mismatching operand types");
+ EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VT.getSizeInBits() * 2);
+ // We can fall back to a libcall with an illegal type for the MUL if we
+ // have a libcall big enough.
+ // Also, we can fall back to a division in some cases, but that's a big
+ // performance hit in the general case.
----------------
topperc wrote:
I copied this switch and comment block from the other function without reading it. There's no division there either. I can delete it.
https://github.com/llvm/llvm-project/pull/123991
More information about the llvm-commits
mailing list