Skip to content

Commit bfd7709

Browse files
yuri91alexp-sssup
authored andcommitted
SROA: disable lowering of memcpy to weird integer sizes
1 parent c0313be commit bfd7709

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

llvm/lib/Transforms/Scalar/SROA.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2176,6 +2176,10 @@ static bool isIntegerWideningViableForSlice(const Slice &S,
21762176
return false;
21772177
if (!S.isSplittable())
21782178
return false; // Skip any unsplittable intrinsics.
2179+
uint64_t SliceBits = (RelEnd - RelBegin) * 8;
2180+
// CHEERP: disallow weird integer sizes like i24 from being created
2181+
if (!DL.isByteAddressable() && !DL.isLegalInteger(SliceBits))
2182+
return false;
21792183
} else {
21802184
return false;
21812185
}

0 commit comments

Comments
 (0)