Lines Matching defs:dataLayout

121                               Value reachingDef, const DataLayout &dataLayout) {
175 /// Checks if `dataLayout` describes a little endian layout.
176 static bool isBigEndian(const DataLayout &dataLayout) {
177 auto endiannessStr = dyn_cast_or_null<StringAttr>(dataLayout.getEndianness());
184 const DataLayout &dataLayout) {
192 uint64_t typeBitSize = dataLayout.getTypeSizeInBits(type);
218 const DataLayout &dataLayout) {
220 assert(areConversionCompatible(dataLayout, targetType, srcType,
238 Value replacement = castToSameSizedInt(builder, loc, srcValue, dataLayout);
247 const DataLayout &dataLayout) {
250 assert(areConversionCompatible(dataLayout, targetType, srcType,
254 uint64_t srcTypeSize = dataLayout.getTypeSizeInBits(srcType);
255 uint64_t targetTypeSize = dataLayout.getTypeSizeInBits(targetType);
257 return castSameSizedTypes(builder, loc, srcValue, targetType, dataLayout);
260 Value replacement = castToSameSizedInt(builder, loc, srcValue, dataLayout);
263 if (isBigEndian(dataLayout)) {
283 const DataLayout &dataLayout) {
285 assert(areConversionCompatible(dataLayout, reachingDef.getType(),
289 uint64_t valueTypeSize = dataLayout.getTypeSizeInBits(srcValue.getType());
290 uint64_t slotTypeSize = dataLayout.getTypeSizeInBits(reachingDef.getType());
293 dataLayout);
299 Value defAsInt = castToSameSizedInt(builder, loc, reachingDef, dataLayout);
300 Value valueAsInt = castToSameSizedInt(builder, loc, srcValue, dataLayout);
305 if (isBigEndian(dataLayout)) {
318 if (isBigEndian(dataLayout)) {
343 const DataLayout &dataLayout) {
347 dataLayout);
353 const DataLayout &dataLayout) {
361 areConversionCompatible(dataLayout, getResult().getType(),
369 const DataLayout &dataLayout) {
373 getResult().getType(), dataLayout);
381 const DataLayout &dataLayout) {
390 areConversionCompatible(dataLayout, slot.elemType,
399 const DataLayout &dataLayout) {
405 const DataLayout &dataLayout) {
406 return dataLayout.getTypeSize(accessType) <=
407 dataLayout.getTypeSize(slot.elemType);
412 const DataLayout &dataLayout) {
414 isValidAccessType(slot, getType(), dataLayout));
419 const DataLayout &dataLayout) {
421 isValidAccessType(slot, getValue().getType(), dataLayout));
440 const DataLayout &dataLayout) {
451 if (dataLayout.getTypeSize(getType()) > dataLayout.getTypeSize(subslotType))
461 const DataLayout &dataLayout) {
473 const DataLayout &dataLayout) {
488 if (dataLayout.getTypeSize(getValue().getType()) >
489 dataLayout.getTypeSize(subslotType))
499 const DataLayout &dataLayout) {
524 const DataLayout &dataLayout) {
536 const DataLayout &dataLayout) {
548 const DataLayout &dataLayout) {
560 const DataLayout &dataLayout) {
572 const DataLayout &dataLayout) {
584 const DataLayout &dataLayout) {
596 const DataLayout &dataLayout) {
608 const DataLayout &dataLayout) {
620 const DataLayout &dataLayout) {
632 const DataLayout &dataLayout) {
679 const DataLayout &dataLayout) {
693 static std::optional<uint64_t> gepToByteOffset(const DataLayout &dataLayout,
709 uint64_t offset = indices[0] * dataLayout.getTypeSize(currentType);
716 index * dataLayout.getTypeSize(arrayType.getElementType());
726 offset, dataLayout.getTypeABIAlignment(body[i]));
727 offset += dataLayout.getTypeSize(body[i]);
733 offset, dataLayout.getTypeABIAlignment(body[index]));
768 const DataLayout &dataLayout, LLVM::GEPOp gep) {
769 std::optional<uint64_t> offset = gepToByteOffset(dataLayout, gep);
781 if (*offset >= dataLayout.getTypeSize(type))
787 uint64_t elemSize = dataLayout.getTypeSize(arrayType.getElementType());
800 uint64_t elemSize = dataLayout.getTypeSize(elem);
803 distanceToStart, dataLayout.getTypeABIAlignment(elem));
836 const DataLayout &dataLayout) {
839 std::optional<uint64_t> gepOffset = gepToByteOffset(dataLayout, *this);
842 uint64_t slotSize = dataLayout.getTypeSize(slot.elemType);
856 const DataLayout &dataLayout) {
863 getSubslotAccessInfo(slot, dataLayout, *this);
874 uint64_t slotSize = dataLayout.getTypeSize(subslotType);
885 const DataLayout &dataLayout) {
887 getSubslotAccessInfo(slot, dataLayout, *this);
1007 const DataLayout &dataLayout) {
1013 return memIntrLen && *memIntrLen <= dataLayout.getTypeSize(slot.elemType);
1035 const DataLayout &dataLayout) {
1048 return definitelyWritesOnlyWithinSlot(op, slot, dataLayout);
1090 const DataLayout &dataLayout) {
1104 return getStaticMemIntrLen(op) == dataLayout.getTypeSize(slot.elemType);
1111 const DataLayout &dataLayout) {
1129 uint64_t typeSize = dataLayout.getTypeSize(elemType);
1133 llvm::alignTo(covered, dataLayout.getTypeABIAlignment(elemType));
1160 const DataLayout &dataLayout) {
1167 const DataLayout &dataLayout) {
1169 dataLayout);
1175 const DataLayout &dataLayout) {
1181 const DataLayout &dataLayout) {
1182 return success(definitelyWritesOnlyWithinSlot(*this, slot, dataLayout));
1188 const DataLayout &dataLayout) {
1190 dataLayout);
1196 const DataLayout &dataLayout) {
1197 return memsetRewire(*this, slot, subslots, builder, dataLayout);
1208 const DataLayout &dataLayout) {
1215 const DataLayout &dataLayout) {
1217 dataLayout);
1223 const DataLayout &dataLayout) {
1229 const DataLayout &dataLayout) {
1230 return success(definitelyWritesOnlyWithinSlot(*this, slot, dataLayout));
1237 const DataLayout &dataLayout) {
1239 dataLayout);
1245 OpBuilder &builder, const DataLayout &dataLayout) {
1246 return memsetRewire(*this, slot, subslots, builder, dataLayout);
1274 const DataLayout &dataLayout) {
1284 return getStaticMemIntrLen(op) == dataLayout.getTypeSize(slot.elemType);
1301 DataLayout dataLayout = DataLayout::closest(op);
1305 return success(definitelyWritesOnlyWithinSlot(op, slot, dataLayout));
1312 const DataLayout &dataLayout) {
1323 if (getStaticMemIntrLen(op) != dataLayout.getTypeSize(slot.elemType))
1365 const DataLayout &dataLayout) {
1399 createMemcpyLikeToReplace(builder, dataLayout, op,
1420 const DataLayout &dataLayout) {
1427 const DataLayout &dataLayout) {
1429 dataLayout);
1435 const DataLayout &dataLayout) {
1442 const DataLayout &dataLayout) {
1449 const DataLayout &dataLayout) {
1451 dataLayout);
1457 const DataLayout &dataLayout) {
1458 return memcpyRewire(*this, slot, subslots, builder, dataLayout);
1471 const DataLayout &dataLayout) {
1478 const DataLayout &dataLayout) {
1480 dataLayout);
1486 const DataLayout &dataLayout) {
1493 const DataLayout &dataLayout) {
1501 const DataLayout &dataLayout) {
1503 dataLayout);
1509 OpBuilder &builder, const DataLayout &dataLayout) {
1510 return memcpyRewire(*this, slot, subslots, builder, dataLayout);
1523 const DataLayout &dataLayout) {
1530 const DataLayout &dataLayout) {
1532 dataLayout);
1538 const DataLayout &dataLayout) {
1545 const DataLayout &dataLayout) {
1552 const DataLayout &dataLayout) {
1554 dataLayout);
1560 const DataLayout &dataLayout) {
1561 return memcpyRewire(*this, slot, subslots, builder, dataLayout);