[clang] [clang] Fix division by zero in ACLEIntrinsic constructor (PR #115883)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 13 04:55:03 PST 2024
================
@@ -1415,7 +1415,10 @@ ACLEIntrinsic::ACLEIntrinsic(EmitterBase &ME, const Record *R,
} else if (Bounds->getName() == "IB_LaneIndex") {
IA.boundsType = ImmediateArg::BoundsType::ExplicitRange;
IA.i1 = 0;
- IA.i2 = 128 / Param->sizeInBits() - 1;
+ unsigned sizeInBits = Param->sizeInBits();
+ if (sizeInBits == 0)
+ PrintFatalError("Division by zero: Param->sizeInBits() is zero.");
----------------
AaronBallman wrote:
This doesn't seem like a useful diagnostic to someone working on TableGen code. The issue is that the param should never have a zero size to begin with (because that logically doesn't make sense, right?).
https://github.com/llvm/llvm-project/pull/115883
More information about the cfe-commits
mailing list