From: Fangrui Song Date: Fri, 18 Aug 2023 21:58:53 +0000 (-0700) Subject: LowLevelType: replace a reachable llvm_unreachable with assert X-Git-Tag: upstream/17.0.6~246 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=5fe16ba0266e6f6cc10a5a13f2ad58500993cbf9;p=platform%2Fupstream%2Fllvm.git LowLevelType: replace a reachable llvm_unreachable with assert assert is more appropriate here and fixes `runtime error: execution reached an unreachable program point` in a -DLLVM_USE_SANITIZER=Undefined build (-fno-sanitize-recover=all causes llc to exit instead of crash (report_fatal_error)) when testing MachineVerifier/test_g_assert_[sz]ext.mir. (cherry picked from commit a7e20dd664bbce6e87b1fdad88d719e497902a42) --- diff --git a/llvm/include/llvm/CodeGen/LowLevelType.h b/llvm/include/llvm/CodeGen/LowLevelType.h index 2924f47..a1e778c 100644 --- a/llvm/include/llvm/CodeGen/LowLevelType.h +++ b/llvm/include/llvm/CodeGen/LowLevelType.h @@ -238,10 +238,9 @@ public: return getFieldValue(VectorSizeFieldInfo); else return getFieldValue(PointerVectorSizeFieldInfo); - } else if (IsPointer) - return getFieldValue(PointerSizeFieldInfo); - else - llvm_unreachable("unexpected LLT"); + } + assert(IsPointer && "unexpected LLT"); + return getFieldValue(PointerSizeFieldInfo); } constexpr unsigned getAddressSpace() const {