[PATCH] D69936: [IPRA][ARM] Spill extra registers at -Oz
Alex Lorenz via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 1 20:09:38 PDT 2020
arphaman added a comment.
Hi @ostannard ,
Unfortunately this change causes the following failure for a clang that's built with LLVM_EXPENSIVE_CHECKS=On when building compiler-rt for armv7k:
*** Bad machine code: Using an undefined physical register ***
- function: _ZN11__sanitizer20InternalReallocArrayEPvmmPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE
- basic block: %bb.0 entry (0x7f8d6e025e68)
- instruction: $r3 = tMOVr killed $r12, 14, $noreg, debug-location !232; ../compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp:179:5
- operand 1: killed $r12
fatal error: error in backend: Found 1 machine code errors.
I've attached an llvm-ir file F11658926: sanitizer_allocator-810340.ll <https://reviews.llvm.org/F11658926> that reproduces the problem. You can invoke it like this (llc needs to be built with '-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON'):
llc -mtriple thumbv7k-apple-ios9.0.0 < sanitizer_allocator-810340.ll
Could you please take a look to see what's gone wrong there?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69936/new/
https://reviews.llvm.org/D69936
More information about the llvm-commits
mailing list