brintos

brintos / llvm-project-archived public Read only

0
0
Text · 998 B · 10aa5b8 Raw
26 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s3;4; This test case is reduced from RangeConstraintManager.cpp in a ASan build.5; It crashes reduceLoadWidth in DAGCombiner.cpp. Preservation of range6; metadata must ensure that ConstantRange truncation is strictly smaller.7 8define i8 @narrow_load_metadata(ptr %valptr) {9; CHECK-LABEL: narrow_load_metadata:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    movzbl (%rdi), %eax12; CHECK-NEXT:    movb %al, 4(%rdi)13; CHECK-NEXT:    movl $0, (%rdi)14; CHECK-NEXT:    retq15entry:16  %val = load i8, ptr %valptr, align 4, !range !0, !noundef !117  %retval.sroa.1.0.insert.ext.i = zext i8 %val to i6418  %retval.sroa.1.0.insert.shift.i = shl i64 %retval.sroa.1.0.insert.ext.i, 3219  %coerce.val.ii = trunc i64 %retval.sroa.1.0.insert.shift.i to i4020  store i40 %coerce.val.ii, ptr %valptr, align 421  ret i8 %val22}23 24!0 = !{i8 0, i8 2}25!1 = !{}26