Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mlir][IntRangeInference] Fix arith.ceildivsi range inference when it includes INT_MIN #121062

Merged
merged 1 commit into from
Dec 27, 2024

Conversation

Hardcode84
Copy link
Contributor

There is a special case in arith.ceildivsi range inference for handling lhs.smin()==INT_MIN, but when lhs is not a single value, it can cause it to skip entire negative range. Add lhs.smin() + 1 check to handle it.

…it includes INT_MIN

There is a special case in `arith.ceildivsi` range inference for handling `lhs.smin()==INT_MIN`, but when
`lhs` is not a single value, it can cause it to skip entire negative range. Add `lhs.smin() + 1` check to handle it.
@llvmbot
Copy link
Member

llvmbot commented Dec 24, 2024

@llvm/pr-subscribers-mlir-arith

@llvm/pr-subscribers-mlir

Author: Ivan Butygin (Hardcode84)

Changes

There is a special case in arith.ceildivsi range inference for handling lhs.smin()==INT_MIN, but when lhs is not a single value, it can cause it to skip entire negative range. Add lhs.smin() + 1 check to handle it.


Full diff: https://github.com/llvm/llvm-project/pull/121062.diff

2 Files Affected:

  • (modified) mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp (+9-1)
  • (modified) mlir/test/Dialect/Arith/int-range-interface.mlir (+12)
diff --git a/mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp b/mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
index 7a73a94201f1d6..1eab4139488bdd 100644
--- a/mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
+++ b/mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
@@ -386,7 +386,15 @@ mlir::intrange::inferCeilDivS(ArrayRef<ConstantIntRanges> argRanges) {
     }
     return result;
   };
-  return inferDivSRange(lhs, rhs, ceilDivSIFix);
+  ConstantIntRanges result = inferDivSRange(lhs, rhs, ceilDivSIFix);
+  if (lhs.smin().isMinSignedValue() && lhs.smax().sgt(lhs.smin())) {
+    // If lhs range includes INT_MIN and lhs is not a single value, we can
+    // suddenly wrap to positive val, skipping entire negative range, add
+    // [INT_MIN + 1, smax()] range to the result to handle this.
+    auto newLhs = ConstantIntRanges::fromSigned(lhs.smin() + 1, lhs.smax());
+    result = result.rangeUnion(inferDivSRange(newLhs, rhs, ceilDivSIFix));
+  }
+  return result;
 }
 
 ConstantIntRanges
diff --git a/mlir/test/Dialect/Arith/int-range-interface.mlir b/mlir/test/Dialect/Arith/int-range-interface.mlir
index 48a3eb20eb7fb0..090af3e79f4a10 100644
--- a/mlir/test/Dialect/Arith/int-range-interface.mlir
+++ b/mlir/test/Dialect/Arith/int-range-interface.mlir
@@ -249,6 +249,18 @@ func.func @ceil_divsi(%arg0 : index) -> i1 {
     func.return %10 : i1
 }
 
+// There was a bug, which was causing this expr errorneously fold to constant
+// CHECK-LABEL: func @ceil_divsi_full_range
+// CHECK-SAME: (%[[arg:.*]]: index)
+// CHECK: %[[c64:.*]] = arith.constant 64 : index
+// CHECK: %[[ret:.*]] = arith.ceildivsi %[[arg]], %[[c64]] : index
+// CHECK: return %[[ret]]
+func.func @ceil_divsi_full_range(%6: index) -> index {
+  %c64 = arith.constant 64 : index
+  %55 = arith.ceildivsi %6, %c64 : index
+  return %55 : index
+}
+
 // CHECK-LABEL: func @ceil_divsi_intmin_bug_115293
 // CHECK: %[[ret:.*]] = arith.constant true
 // CHECK: return %[[ret]]

@Hardcode84 Hardcode84 merged commit 9ab16d4 into llvm:main Dec 27, 2024
11 checks passed
@Hardcode84 Hardcode84 deleted the fix-ceildiv-minrange branch December 27, 2024 13:50
@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 27, 2024

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-msan running on sanitizer-buildbot10 while building mlir at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/94/builds/3239

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 85651 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50
FAIL: LLVM :: CodeGen/X86/avx512vl-vec-masked-cmp.ll (47029 of 85651)
******************** TEST 'LLVM :: CodeGen/X86/avx512vl-vec-masked-cmp.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc < /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=VLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=VLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq
RUN: at line 3: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc < /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
 #0 0x0000aee9685e25ac ___interceptor_backtrace /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_common_interceptors.inc:4497:13
 #1 0x0000aee96872d22c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:727:7
 #2 0x0000aee9687287dc llvm::sys::RunSignalHandlers() /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Signals.cpp:106:18
 #3 0x0000aee96872dfc4 SignalHandler(int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x0000aee9686136b4 ~ScopedThreadLocalStateBackup /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan.h:352:37
 #5 0x0000aee9686136b4 SignalHandler(int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1124:1
 #6 0x0000f000024918f8 (linux-vdso.so.1+0x8f8)
 #7 0x0000f00001f72f7c (/lib/aarch64-linux-gnu/libc.so.6+0xa2f7c)
 #8 0x0000aee9685b7ed0 MsanAllocate(__sanitizer::BufferedStackTrace*, unsigned long, unsigned long, bool) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp:227:9
 #9 0x0000aee9685b7e0c SetErrnoOnNull /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_allocator_checks.h:31:7
#10 0x0000aee9685b7e0c __msan::msan_malloc(unsigned long, __sanitizer::BufferedStackTrace*) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp:330:10
#11 0x0000aee9685c69b4 ___interceptor_malloc /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1019:1
#12 0x0000aee9686d4710 safe_malloc /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/include/llvm/Support/MemAlloc.h:27:14
#13 0x0000aee9686d4710 llvm::SmallVectorBase<unsigned long>::grow_pod(void*, unsigned long, unsigned long) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/SmallVector.cpp:151:15
#14 0x0000aee9686597b0 getBufferStart /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/include/llvm/Support/MemoryBuffer.h:66:47
#15 0x0000aee9686597b0 llvm::FileCheck::CanonicalizeFile(llvm::MemoryBuffer&, llvm::SmallVectorImpl<char>&) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/FileCheck/FileCheck.cpp:1432:29
#16 0x0000aee96862aa10 main /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/FileCheck/FileCheck.cpp:825:58
#17 0x0000f00001ef84c4 (/lib/aarch64-linux-gnu/libc.so.6+0x284c4)
#18 0x0000f00001ef8598 __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x28598)
#19 0x0000aee968598ef0 _start (/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck+0xb8ef0)
MemorySanitizer:DEADLYSIGNAL
==1952850==ERROR: MemorySanitizer: SEGV on unknown address 0x600000000000 (pc 0xf00001f72f7c bp 0xffffda940190 sp 0xffffda940190 T1952850)
==1952850==The signal is caused by a WRITE memory access.
    #0 0xf00001f72f7c  (/lib/aarch64-linux-gnu/libc.so.6+0xa2f7c) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)
Step 11 (stage2/msan check) failure: stage2/msan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 85651 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50
FAIL: LLVM :: CodeGen/X86/avx512vl-vec-masked-cmp.ll (47029 of 85651)
******************** TEST 'LLVM :: CodeGen/X86/avx512vl-vec-masked-cmp.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc < /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=VLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=VLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq
RUN: at line 3: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc < /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llc -mtriple=x86_64-unknown-unknown -disable-peephole -mattr=+avx512f
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll --check-prefix=CHECK --check-prefix=NoVLX
 #0 0x0000aee9685e25ac ___interceptor_backtrace /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_common_interceptors.inc:4497:13
 #1 0x0000aee96872d22c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:727:7
 #2 0x0000aee9687287dc llvm::sys::RunSignalHandlers() /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Signals.cpp:106:18
 #3 0x0000aee96872dfc4 SignalHandler(int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x0000aee9686136b4 ~ScopedThreadLocalStateBackup /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan.h:352:37
 #5 0x0000aee9686136b4 SignalHandler(int) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1124:1
 #6 0x0000f000024918f8 (linux-vdso.so.1+0x8f8)
 #7 0x0000f00001f72f7c (/lib/aarch64-linux-gnu/libc.so.6+0xa2f7c)
 #8 0x0000aee9685b7ed0 MsanAllocate(__sanitizer::BufferedStackTrace*, unsigned long, unsigned long, bool) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp:227:9
 #9 0x0000aee9685b7e0c SetErrnoOnNull /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_allocator_checks.h:31:7
#10 0x0000aee9685b7e0c __msan::msan_malloc(unsigned long, __sanitizer::BufferedStackTrace*) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp:330:10
#11 0x0000aee9685c69b4 ___interceptor_malloc /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1019:1
#12 0x0000aee9686d4710 safe_malloc /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/include/llvm/Support/MemAlloc.h:27:14
#13 0x0000aee9686d4710 llvm::SmallVectorBase<unsigned long>::grow_pod(void*, unsigned long, unsigned long) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/Support/SmallVector.cpp:151:15
#14 0x0000aee9686597b0 getBufferStart /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/include/llvm/Support/MemoryBuffer.h:66:47
#15 0x0000aee9686597b0 llvm::FileCheck::CanonicalizeFile(llvm::MemoryBuffer&, llvm::SmallVectorImpl<char>&) /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/lib/FileCheck/FileCheck.cpp:1432:29
#16 0x0000aee96862aa10 main /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/FileCheck/FileCheck.cpp:825:58
#17 0x0000f00001ef84c4 (/lib/aarch64-linux-gnu/libc.so.6+0x284c4)
#18 0x0000f00001ef8598 __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x28598)
#19 0x0000aee968598ef0 _start (/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck+0xb8ef0)
MemorySanitizer:DEADLYSIGNAL
==1952850==ERROR: MemorySanitizer: SEGV on unknown address 0x600000000000 (pc 0xf00001f72f7c bp 0xffffda940190 sp 0xffffda940190 T1952850)
==1952850==The signal is caused by a WRITE memory access.
    #0 0xf00001f72f7c  (/lib/aarch64-linux-gnu/libc.so.6+0xa2f7c) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants