Skip to content

Commit 78692f2

Browse files
committed
Return zero instead
1 parent 64a4bac commit 78692f2

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

llvm/lib/Analysis/ConstantFolding.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,9 +432,9 @@ bool ReadDataFromGlobal(Constant *C, uint64_t ByteOffset, unsigned char *CurPtr,
432432
assert(ByteOffset <= DL.getTypeAllocSize(C->getType()) &&
433433
"Out of range access");
434434

435-
// Trying to read type padding.
435+
// Reading type padding, return zero.
436436
if (ByteOffset >= DL.getTypeStoreSize(C->getType()))
437-
return false;
437+
return true;
438438

439439
// If this element is zero or undefined, we can just return since *CurPtr is
440440
// zero initialized.

llvm/test/Transforms/InstSimplify/ConstProp/loads.ll

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,7 @@ define i128 @load-128bit(){
448448

449449
define i8 @load_i40_struct_padding() {
450450
; CHECK-LABEL: @load_i40_struct_padding(
451-
; CHECK-NEXT: [[V:%.*]] = load i8, ptr getelementptr (i8, ptr @i40_struct, i64 6), align 1
452-
; CHECK-NEXT: ret i8 [[V]]
451+
; CHECK-NEXT: ret i8 0
453452
;
454453
%v = load i8, ptr getelementptr (i8, ptr @i40_struct, i64 6)
455454
ret i8 %v
@@ -465,8 +464,7 @@ define i16 @load_i40_struct_partial_padding() {
465464

466465
define i8 @load_i40_array_padding() {
467466
; CHECK-LABEL: @load_i40_array_padding(
468-
; CHECK-NEXT: [[V:%.*]] = load i8, ptr getelementptr (i8, ptr @i40_array, i64 6), align 1
469-
; CHECK-NEXT: ret i8 [[V]]
467+
; CHECK-NEXT: ret i8 0
470468
;
471469
%v = load i8, ptr getelementptr (i8, ptr @i40_array, i64 6)
472470
ret i8 %v

0 commit comments

Comments
 (0)