[llvm] [SimplifyCFG] Find the smallest table considering overflow in `switchToLookupTable` (PR #67885)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 30 08:02:05 PDT 2023
https://github.com/DianQK created https://github.com/llvm/llvm-project/pull/67885
Migration from [D156612](https://reviews.llvm.org/D156612).
I created a lookup table to find the shortest lookup table on "the circle based on the bit width all values".
Closes #64231.
>From 9c2ce941f6eebbc84d5ed0860d5b10f70dfecb85 Mon Sep 17 00:00:00 2001
From: DianQK <dianqk at dianqk.net>
Date: Thu, 28 Sep 2023 18:06:52 -0600
Subject: [PATCH 1/2] [SimplifyCFG] Pre-commit test for `switchToLookupTable`
---
.../SimplifyCFG/X86/switch_to_lookup_table.ll | 119 ++++++++++++++++++
1 file changed, 119 insertions(+)
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
index 3873f0c0ae0bbd5..8a6b3165ce03f5d 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
@@ -115,6 +115,125 @@ return:
}
+; The minimal table range is [122, -128]([122, 128]).
+
+define i32 @f_i8_128(i8 %c) {
+; CHECK-LABEL: @f_i8_128(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: switch i8 [[C:%.*]], label [[SW_DEFAULT:%.*]] [
+; CHECK-NEXT: i8 122, label [[RETURN:%.*]]
+; CHECK-NEXT: i8 123, label [[SW_BB1:%.*]]
+; CHECK-NEXT: i8 124, label [[SW_BB2:%.*]]
+; CHECK-NEXT: i8 125, label [[SW_BB3:%.*]]
+; CHECK-NEXT: i8 126, label [[SW_BB4:%.*]]
+; CHECK-NEXT: i8 127, label [[SW_BB5:%.*]]
+; CHECK-NEXT: i8 -128, label [[SW_BB6:%.*]]
+; CHECK-NEXT: ]
+; CHECK: sw.bb1:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.bb2:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.bb3:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.bb4:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.bb5:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.bb6:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: sw.default:
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: return:
+; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ 15, [[SW_DEFAULT]] ], [ 1, [[SW_BB6]] ], [ 62, [[SW_BB5]] ], [ 27, [[SW_BB4]] ], [ -1, [[SW_BB3]] ], [ 0, [[SW_BB2]] ], [ 123, [[SW_BB1]] ], [ 55, [[ENTRY:%.*]] ]
+; CHECK-NEXT: ret i32 [[RETVAL_0]]
+;
+entry:
+ switch i8 %c, label %sw.default [
+ i8 122, label %return
+ i8 123, label %sw.bb1
+ i8 124, label %sw.bb2
+ i8 125, label %sw.bb3
+ i8 126, label %sw.bb4
+ i8 127, label %sw.bb5
+ i8 -128, label %sw.bb6
+ ]
+
+sw.bb1: br label %return
+sw.bb2: br label %return
+sw.bb3: br label %return
+sw.bb4: br label %return
+sw.bb5: br label %return
+sw.bb6: br label %return
+sw.default: br label %return
+return:
+ %retval.0 = phi i32 [ 15, %sw.default ], [ 1, %sw.bb6 ], [ 62, %sw.bb5 ], [ 27, %sw.bb4 ], [ -1, %sw.bb3 ], [ 0, %sw.bb2 ], [ 123, %sw.bb1 ], [ 55, %entry ]
+ ret i32 %retval.0
+}
+
+; The minimal table range is [3, 0].
+
+define i32 @f_min_max(i3 %c) {
+; CHECK-LABEL: @f_min_max(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i32], ptr @switch.table.f_min_max, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
+; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
+;
+entry:
+ switch i3 %c, label %sw.default [
+ i3 -4, label %return
+ i3 -3, label %sw.bb1
+ i3 -2, label %sw.bb2
+ i3 -1, label %sw.bb3
+ i3 0, label %sw.bb4
+ i3 3, label %sw.bb6
+ ]
+
+sw.bb1: br label %return
+sw.bb2: br label %return
+sw.bb3: br label %return
+sw.bb4: br label %return
+sw.bb6: br label %return
+sw.default: br label %return
+return:
+ %retval.0 = phi i32 [ 15, %sw.default ], [ 1, %sw.bb6 ], [ 27, %sw.bb4 ], [ -1, %sw.bb3 ], [ 0, %sw.bb2 ], [ 123, %sw.bb1 ], [ 55, %entry ]
+ ret i32 %retval.0
+}
+
+; The minimal table range is [-1, -4].
+
+define i32 @f_min_max_2(i3 %c) {
+; CHECK-LABEL: @f_min_max_2(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i32], ptr @switch.table.f_min_max_2, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
+; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
+;
+entry:
+ switch i3 %c, label %sw.default [
+ i3 -1, label %return
+ i3 0, label %sw.bb1
+ i3 1, label %sw.bb2
+ i3 2, label %sw.bb3
+ i3 3, label %sw.bb4
+ i3 -4, label %sw.bb6
+ ]
+
+sw.bb1: br label %return
+sw.bb2: br label %return
+sw.bb3: br label %return
+sw.bb4: br label %return
+sw.bb6: br label %return
+sw.default: br label %return
+return:
+ %retval.0 = phi i32 [ 15, %sw.default ], [ 1, %sw.bb6 ], [ 27, %sw.bb4 ], [ -1, %sw.bb3 ], [ 0, %sw.bb2 ], [ 123, %sw.bb1 ], [ 55, %entry ]
+ ret i32 %retval.0
+}
+
; A switch used to initialize two variables, an i8 and a float.
declare void @dummy(i8 signext, float)
>From 3aba918c6aeddc4d403c234714abbb72ac69f804 Mon Sep 17 00:00:00 2001
From: DianQK <dianqk at dianqk.net>
Date: Thu, 28 Sep 2023 18:07:06 -0600
Subject: [PATCH 2/2] [SimplifyCFG] Find the smallest table considering
overflow in `switchToLookupTable`
---
llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 97 ++--
.../SimplifyCFG/X86/CoveredLookupTable.ll | 13 +-
.../SimplifyCFG/X86/switch-covered-bug.ll | 12 +-
.../SimplifyCFG/X86/switch-table-bug.ll | 7 +-
.../SimplifyCFG/X86/switch_to_lookup_table.ll | 102 ++--
log.log | 450 ++++++++++++++++++
6 files changed, 580 insertions(+), 101 deletions(-)
create mode 100644 log.log
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 35fead111aa9666..dba20f3dca9f876 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -6378,18 +6378,20 @@ ShouldBuildLookupTable(SwitchInst *SI, uint64_t TableSize,
}
static bool ShouldUseSwitchConditionAsTableIndex(
- ConstantInt &MinCaseVal, const ConstantInt &MaxCaseVal,
+ ConstantInt &BeginCaseVal, const ConstantInt &EndCaseVal,
bool HasDefaultResults, const SmallDenseMap<PHINode *, Type *> &ResultTypes,
const DataLayout &DL, const TargetTransformInfo &TTI) {
- if (MinCaseVal.isNullValue())
+ if (BeginCaseVal.isNullValue())
return true;
- if (MinCaseVal.isNegative() ||
- MaxCaseVal.getLimitedValue() == std::numeric_limits<uint64_t>::max() ||
+ if (BeginCaseVal.getValue().sge(EndCaseVal.getValue()))
+ return false;
+ if (BeginCaseVal.isNegative() ||
+ EndCaseVal.getLimitedValue() == std::numeric_limits<uint64_t>::max() ||
!HasDefaultResults)
return false;
return all_of(ResultTypes, [&](const auto &KV) {
return SwitchLookupTable::WouldFitInRegister(
- DL, MaxCaseVal.getLimitedValue() + 1 /* TableSize */,
+ DL, EndCaseVal.getLimitedValue() + 1 /* TableSize */,
KV.second /* ResultType */);
});
}
@@ -6478,7 +6480,7 @@ static void reuseTableCompare(
/// If the switch is only used to initialize one or more phi nodes in a common
/// successor block with different constant values, replace the switch with
/// lookup tables.
-static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
+static bool switchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
DomTreeUpdater *DTU, const DataLayout &DL,
const TargetTransformInfo &TTI) {
assert(SI->getNumCases() > 1 && "Degenerate switch?");
@@ -6506,9 +6508,6 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
// Figure out the corresponding result for each case value and phi node in the
// common destination, as well as the min and max case values.
assert(!SI->cases().empty());
- SwitchInst::CaseIt CI = SI->case_begin();
- ConstantInt *MinCaseVal = CI->getCaseValue();
- ConstantInt *MaxCaseVal = CI->getCaseValue();
BasicBlock *CommonDest = nullptr;
@@ -6519,17 +6518,60 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
SmallDenseMap<PHINode *, Type *> ResultTypes;
SmallVector<PHINode *, 4> PHIs;
- for (SwitchInst::CaseIt E = SI->case_end(); CI != E; ++CI) {
- ConstantInt *CaseVal = CI->getCaseValue();
- if (CaseVal->getValue().slt(MinCaseVal->getValue()))
- MinCaseVal = CaseVal;
- if (CaseVal->getValue().sgt(MaxCaseVal->getValue()))
- MaxCaseVal = CaseVal;
+ SmallVector<ConstantInt *, 8> CaseVals;
+ for (auto CI : SI->cases()) {
+ ConstantInt *CaseVal = CI.getCaseValue();
+ CaseVals.push_back(CaseVal);
+ }
+
+ // We want to find a range of indexes that will create the minimal table.
+ // We can treat all possible index values as a circle. For example, the i8 is
+ // [-128, -1] and [0, 127]. After that find the minimal range from this circle
+ // that can cover all exist values. First, create an incrementing sequence.
+ llvm::sort(CaseVals, [](const ConstantInt *A, const ConstantInt *B) {
+ return A->getValue().slt(B->getValue());
+ });
+ auto *CaseValIter = CaseVals.begin();
+ // We start by using the begin and end as the minimal table.
+ ConstantInt *BeginCaseVal = *CaseValIter;
+ ConstantInt *EndCaseVal = *CaseVals.rbegin();
+ bool RangeOverflow = false;
+ uint64_t MinTableSize = EndCaseVal->getValue()
+ .ssub_ov(BeginCaseVal->getValue(), RangeOverflow)
+ .getLimitedValue() +
+ 1;
+ // If there is no overflow, then this must be the minimal table.
+ if (RangeOverflow) {
+ auto MaxValue = APInt::getMaxValue(BeginCaseVal->getBitWidth());
+ while (CaseValIter != CaseVals.end()) {
+ auto *CurrentCaseVal = *CaseValIter++;
+ if (CaseValIter == CaseVals.end()) {
+ break;
+ }
+ ConstantInt *NextCaseVal = *CaseValIter;
+ auto NextVal = NextCaseVal->getValue();
+ auto CurVal = CurrentCaseVal->getValue();
+ uint64_t RequireTableSize =
+ (MaxValue - (NextVal - CurVal) + 1).getLimitedValue() + 1;
+ // FIXME: When there is more than one minimal table, we can choose the
+ // best one. The current simple strategy may not be the best.
+ if (((RequireTableSize < MinTableSize) ||
+ (RequireTableSize == MinTableSize &&
+ NextCaseVal->getValue().isZero()))) {
+ BeginCaseVal = NextCaseVal;
+ EndCaseVal = CurrentCaseVal;
+ MinTableSize = RequireTableSize;
+ }
+ }
+ }
+
+ for (const auto CI : SI->cases()) {
+ ConstantInt *CaseVal = CI.getCaseValue();
// Resulting value at phi nodes for this case value.
using ResultsTy = SmallVector<std::pair<PHINode *, Constant *>, 4>;
ResultsTy Results;
- if (!getCaseResults(SI, CaseVal, CI->getCaseSuccessor(), &CommonDest,
+ if (!getCaseResults(SI, CaseVal, CI.getCaseSuccessor(), &CommonDest,
Results, DL, TTI))
return false;
@@ -6564,13 +6606,12 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
}
bool UseSwitchConditionAsTableIndex = ShouldUseSwitchConditionAsTableIndex(
- *MinCaseVal, *MaxCaseVal, HasDefaultResults, ResultTypes, DL, TTI);
+ *BeginCaseVal, *EndCaseVal, HasDefaultResults, ResultTypes, DL, TTI);
uint64_t TableSize;
if (UseSwitchConditionAsTableIndex)
- TableSize = MaxCaseVal->getLimitedValue() + 1;
+ TableSize = EndCaseVal->getLimitedValue() + 1;
else
- TableSize =
- (MaxCaseVal->getValue() - MinCaseVal->getValue()).getLimitedValue() + 1;
+ TableSize = MinTableSize;
bool TableHasHoles = (NumResults < TableSize);
bool NeedMask = (TableHasHoles && !HasDefaultResults);
@@ -6589,7 +6630,7 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
// Compute the maximum table size representable by the integer type we are
// switching upon.
- unsigned CaseSize = MinCaseVal->getType()->getPrimitiveSizeInBits();
+ unsigned CaseSize = BeginCaseVal->getType()->getPrimitiveSizeInBits();
uint64_t MaxTableSize = CaseSize > 63 ? UINT64_MAX : 1ULL << CaseSize;
assert(MaxTableSize >= TableSize &&
"It is impossible for a switch to have more entries than the max "
@@ -6612,15 +6653,17 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
Value *TableIndex;
ConstantInt *TableIndexOffset;
if (UseSwitchConditionAsTableIndex) {
- TableIndexOffset = ConstantInt::get(MaxCaseVal->getType(), 0);
+ TableIndexOffset = ConstantInt::get(EndCaseVal->getType(), 0);
TableIndex = SI->getCondition();
} else {
- TableIndexOffset = MinCaseVal;
+ TableIndexOffset = BeginCaseVal;
// If the default is unreachable, all case values are s>= MinCaseVal. Then
// we can try to attach nsw.
bool MayWrap = true;
- if (!DefaultIsReachable) {
- APInt Res = MaxCaseVal->getValue().ssub_ov(MinCaseVal->getValue(), MayWrap);
+ if (!DefaultIsReachable &&
+ EndCaseVal->getValue().sge(BeginCaseVal->getValue())) {
+ APInt Res =
+ EndCaseVal->getValue().ssub_ov(BeginCaseVal->getValue(), MayWrap);
(void)Res;
}
@@ -6639,7 +6682,7 @@ static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
// PHI value for the default case in case we're using a bit mask.
} else {
Value *Cmp = Builder.CreateICmpULT(
- TableIndex, ConstantInt::get(MinCaseVal->getType(), TableSize));
+ TableIndex, ConstantInt::get(BeginCaseVal->getType(), TableSize));
RangeCheckBranch =
Builder.CreateCondBr(Cmp, LookupBB, SI->getDefaultDest());
if (DTU)
@@ -6883,7 +6926,7 @@ bool SimplifyCFGOpt::simplifySwitch(SwitchInst *SI, IRBuilder<> &Builder) {
// CVP. Therefore, only apply this transformation during late stages of the
// optimisation pipeline.
if (Options.ConvertSwitchToLookupTable &&
- SwitchToLookupTable(SI, Builder, DTU, DL, TTI))
+ switchToLookupTable(SI, Builder, DTU, DL, TTI))
return requestResimplify();
if (ReduceSwitchRange(SI, Builder, DL, TTI))
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/CoveredLookupTable.ll b/llvm/test/Transforms/SimplifyCFG/X86/CoveredLookupTable.ll
index 56fa249d23bba2d..6d72fdb7085159c 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/CoveredLookupTable.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/CoveredLookupTable.ll
@@ -9,12 +9,13 @@ target triple = "x86_64-apple-darwin12.0.0"
define i3 @coveredswitch_test(i3 %input) {
; CHECK-LABEL: @coveredswitch_test(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[INPUT:%.*]], -4
-; CHECK-NEXT: [[SWITCH_CAST:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i24
-; CHECK-NEXT: [[SWITCH_SHIFTAMT:%.*]] = mul nuw nsw i24 [[SWITCH_CAST]], 3
-; CHECK-NEXT: [[SWITCH_DOWNSHIFT:%.*]] = lshr i24 7507338, [[SWITCH_SHIFTAMT]]
-; CHECK-NEXT: [[SWITCH_MASKED:%.*]] = trunc i24 [[SWITCH_DOWNSHIFT]] to i3
-; CHECK-NEXT: ret i3 [[SWITCH_MASKED]]
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[INPUT:%.*]], -2
+; CHECK-NEXT: [[SWITCH_CAST:%.*]] = zext i3 [[INPUT]] to i18
+; CHECK-NEXT: [[SWITCH_SHIFTAMT:%.*]] = mul nuw nsw i18 [[SWITCH_CAST]], 3
+; CHECK-NEXT: [[SWITCH_DOWNSHIFT:%.*]] = lshr i18 42792, [[SWITCH_SHIFTAMT]]
+; CHECK-NEXT: [[SWITCH_MASKED:%.*]] = trunc i18 [[SWITCH_DOWNSHIFT]] to i3
+; CHECK-NEXT: [[RESULT:%.*]] = select i1 [[TMP0]], i3 [[SWITCH_MASKED]], i3 -2
+; CHECK-NEXT: ret i3 [[RESULT]]
;
entry:
switch i3 %input, label %bb8 [
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
index cf244e6b63457c3..8e291b025113d85 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
@@ -9,11 +9,17 @@ target triple = "x86_64-apple-darwin12.0.0"
define i64 @test(i3 %arg) {
; CHECK-LABEL: @test(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[ARG:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[ARG:%.*]], 1
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[SWITCH_TABLEIDX]], -2
+; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[DEFAULT:%.*]]
+; CHECK: switch.lookup:
; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i64], ptr @switch.table.test, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [6 x i64], ptr @switch.table.test, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i64, ptr [[SWITCH_GEP]], align 8
-; CHECK-NEXT: [[V3:%.*]] = add i64 [[SWITCH_LOAD]], 0
+; CHECK-NEXT: br label [[DEFAULT]]
+; CHECK: Default:
+; CHECK-NEXT: [[V1:%.*]] = phi i64 [ 8, [[ENTRY:%.*]] ], [ [[SWITCH_LOAD]], [[SWITCH_LOOKUP]] ]
+; CHECK-NEXT: [[V3:%.*]] = add i64 [[V1]], 0
; CHECK-NEXT: ret i64 [[V3]]
;
entry:
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
index 37001f4fba2aa84..75cee53d230374d 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
@@ -9,11 +9,8 @@ target triple = "x86_64-apple-darwin12.0.0"
define i64 @_TFO6reduce1E5toRawfS0_FT_Si(i2) {
; CHECK-LABEL: @_TFO6reduce1E5toRawfS0_FT_Si(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i2 [[TMP0:%.*]], -2
-; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i2 [[SWITCH_TABLEIDX]] to i3
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [4 x i64], ptr @switch.table._TFO6reduce1E5toRawfS0_FT_Si, i32 0, i3 [[SWITCH_TABLEIDX_ZEXT]]
-; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i64, ptr [[SWITCH_GEP]], align 8
-; CHECK-NEXT: ret i64 [[SWITCH_LOAD]]
+; CHECK-NEXT: [[SWITCH_IDX_CAST:%.*]] = zext i2 [[TMP0:%.*]] to i64
+; CHECK-NEXT: ret i64 [[SWITCH_IDX_CAST]]
;
entry:
switch i2 %0, label %1 [
diff --git a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
index 8a6b3165ce03f5d..b05b013a96f8454 100644
--- a/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
+++ b/llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
@@ -120,31 +120,15 @@ return:
define i32 @f_i8_128(i8 %c) {
; CHECK-LABEL: @f_i8_128(
; CHECK-NEXT: entry:
-; CHECK-NEXT: switch i8 [[C:%.*]], label [[SW_DEFAULT:%.*]] [
-; CHECK-NEXT: i8 122, label [[RETURN:%.*]]
-; CHECK-NEXT: i8 123, label [[SW_BB1:%.*]]
-; CHECK-NEXT: i8 124, label [[SW_BB2:%.*]]
-; CHECK-NEXT: i8 125, label [[SW_BB3:%.*]]
-; CHECK-NEXT: i8 126, label [[SW_BB4:%.*]]
-; CHECK-NEXT: i8 127, label [[SW_BB5:%.*]]
-; CHECK-NEXT: i8 -128, label [[SW_BB6:%.*]]
-; CHECK-NEXT: ]
-; CHECK: sw.bb1:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.bb2:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.bb3:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.bb4:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.bb5:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.bb6:
-; CHECK-NEXT: br label [[RETURN]]
-; CHECK: sw.default:
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i8 [[C:%.*]], 122
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i8 [[SWITCH_TABLEIDX]], 7
+; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[RETURN:%.*]]
+; CHECK: switch.lookup:
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [7 x i32], ptr @switch.table.f_i8_128, i32 0, i8 [[SWITCH_TABLEIDX]]
+; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
; CHECK-NEXT: br label [[RETURN]]
; CHECK: return:
-; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ 15, [[SW_DEFAULT]] ], [ 1, [[SW_BB6]] ], [ 62, [[SW_BB5]] ], [ 27, [[SW_BB4]] ], [ -1, [[SW_BB3]] ], [ 0, [[SW_BB2]] ], [ 123, [[SW_BB1]] ], [ 55, [[ENTRY:%.*]] ]
+; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ [[SWITCH_LOAD]], [[SWITCH_LOOKUP]] ], [ 15, [[ENTRY:%.*]] ]
; CHECK-NEXT: ret i32 [[RETVAL_0]]
;
entry:
@@ -175,11 +159,17 @@ return:
define i32 @f_min_max(i3 %c) {
; CHECK-LABEL: @f_min_max(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], 3
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[SWITCH_TABLEIDX]], -2
+; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[RETURN:%.*]]
+; CHECK: switch.lookup:
; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i32], ptr @switch.table.f_min_max, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [6 x i32], ptr @switch.table.f_min_max, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
-; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: return:
+; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ [[SWITCH_LOAD]], [[SWITCH_LOOKUP]] ], [ 15, [[ENTRY:%.*]] ]
+; CHECK-NEXT: ret i32 [[RETVAL_0]]
;
entry:
switch i3 %c, label %sw.default [
@@ -207,11 +197,17 @@ return:
define i32 @f_min_max_2(i3 %c) {
; CHECK-LABEL: @f_min_max_2(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[C:%.*]], -1
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[SWITCH_TABLEIDX]], -2
+; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[RETURN:%.*]]
+; CHECK: switch.lookup:
; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i32], ptr @switch.table.f_min_max_2, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [6 x i32], ptr @switch.table.f_min_max_2, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
-; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
+; CHECK-NEXT: br label [[RETURN]]
+; CHECK: return:
+; CHECK-NEXT: [[RETVAL_0:%.*]] = phi i32 [ [[SWITCH_LOAD]], [[SWITCH_LOOKUP]] ], [ 15, [[ENTRY:%.*]] ]
+; CHECK-NEXT: ret i32 [[RETVAL_0]]
;
entry:
switch i3 %c, label %sw.default [
@@ -1657,14 +1653,11 @@ end:
define i32 @covered_switch_with_bit_tests(i3) {
; CHECK-LABEL: @covered_switch_with_bit_tests(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[TMP0:%.*]], -4
-; CHECK-NEXT: [[SWITCH_MASKINDEX:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i8
-; CHECK-NEXT: [[SWITCH_SHIFTED:%.*]] = lshr i8 -61, [[SWITCH_MASKINDEX]]
-; CHECK-NEXT: [[SWITCH_LOBIT:%.*]] = trunc i8 [[SWITCH_SHIFTED]] to i1
-; CHECK-NEXT: br i1 [[SWITCH_LOBIT]], label [[SWITCH_LOOKUP:%.*]], label [[L6:%.*]]
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[TMP0:%.*]], 2
+; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i3 [[SWITCH_TABLEIDX]], -4
+; CHECK-NEXT: br i1 [[TMP1]], label [[SWITCH_LOOKUP:%.*]], label [[L6:%.*]]
; CHECK: switch.lookup:
-; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i3 [[SWITCH_TABLEIDX]] to i4
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [8 x i32], ptr @switch.table.covered_switch_with_bit_tests, i32 0, i4 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [4 x i32], ptr @switch.table.covered_switch_with_bit_tests, i32 0, i3 [[SWITCH_TABLEIDX]]
; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
; CHECK-NEXT: br label [[L6]]
; CHECK: l6:
@@ -1815,11 +1808,10 @@ define i32 @signed_overflow1(i8 %n) {
; CHECK-LABEL: @signed_overflow1(
; CHECK-NEXT: start:
; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[N:%.*]] to i2
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i2 [[TRUNC]], -2
-; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i2 [[SWITCH_TABLEIDX]] to i3
-; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [4 x i32], ptr @switch.table.signed_overflow1, i32 0, i3 [[SWITCH_TABLEIDX_ZEXT]]
-; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
-; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
+; CHECK-NEXT: [[SWITCH_IDX_CAST:%.*]] = zext i2 [[TRUNC]] to i32
+; CHECK-NEXT: [[SWITCH_IDX_MULT:%.*]] = mul nsw i32 [[SWITCH_IDX_CAST]], 1111
+; CHECK-NEXT: [[SWITCH_OFFSET:%.*]] = add nsw i32 [[SWITCH_IDX_MULT]], 1111
+; CHECK-NEXT: ret i32 [[SWITCH_OFFSET]]
;
start:
%trunc = trunc i8 %n to i2
@@ -1851,20 +1843,11 @@ define i32 @signed_overflow2(i8 %n) {
; CHECK-LABEL: @signed_overflow2(
; CHECK-NEXT: start:
; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[N:%.*]] to i2
-; CHECK-NEXT: switch i2 [[TRUNC]], label [[BB1:%.*]] [
-; CHECK-NEXT: i2 1, label [[BB6:%.*]]
-; CHECK-NEXT: i2 -2, label [[BB4:%.*]]
-; CHECK-NEXT: i2 -1, label [[BB5:%.*]]
-; CHECK-NEXT: ]
-; CHECK: bb1:
-; CHECK-NEXT: unreachable
-; CHECK: bb4:
-; CHECK-NEXT: br label [[BB6]]
-; CHECK: bb5:
-; CHECK-NEXT: br label [[BB6]]
-; CHECK: bb6:
-; CHECK-NEXT: [[DOTSROA_0_0:%.*]] = phi i32 [ 4444, [[BB5]] ], [ 3333, [[BB4]] ], [ 2222, [[START:%.*]] ]
-; CHECK-NEXT: ret i32 [[DOTSROA_0_0]]
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i2 [[TRUNC]], 1
+; CHECK-NEXT: [[SWITCH_IDX_CAST:%.*]] = zext i2 [[SWITCH_TABLEIDX]] to i32
+; CHECK-NEXT: [[SWITCH_IDX_MULT:%.*]] = mul nsw i32 [[SWITCH_IDX_CAST]], 1111
+; CHECK-NEXT: [[SWITCH_OFFSET:%.*]] = add nsw i32 [[SWITCH_IDX_MULT]], 2222
+; CHECK-NEXT: ret i32 [[SWITCH_OFFSET]]
;
start:
%trunc = trunc i8 %n to i2
@@ -1895,11 +1878,10 @@ define i32 @signed_overflow_negative(i8 %n) {
; CHECK-LABEL: @signed_overflow_negative(
; CHECK-NEXT: start:
; CHECK-NEXT: [[TRUNC:%.*]] = trunc i8 [[N:%.*]] to i2
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i2 [[TRUNC]], -2
-; CHECK-NEXT: [[SWITCH_IDX_CAST:%.*]] = zext i2 [[SWITCH_TABLEIDX]] to i32
-; CHECK-NEXT: [[SWITCH_IDX_MULT:%.*]] = mul nsw i32 [[SWITCH_IDX_CAST]], 1111
-; CHECK-NEXT: [[SWITCH_OFFSET:%.*]] = add nsw i32 [[SWITCH_IDX_MULT]], 1111
-; CHECK-NEXT: ret i32 [[SWITCH_OFFSET]]
+; CHECK-NEXT: [[SWITCH_TABLEIDX_ZEXT:%.*]] = zext i2 [[TRUNC]] to i3
+; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [4 x i32], ptr @switch.table.signed_overflow_negative, i32 0, i3 [[SWITCH_TABLEIDX_ZEXT]]
+; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
+; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
;
start:
%trunc = trunc i8 %n to i2
diff --git a/log.log b/log.log
new file mode 100644
index 000000000000000..95d0702ca177675
--- /dev/null
+++ b/log.log
@@ -0,0 +1,450 @@
+BISECT: running pass (44536) LowerExpectIntrinsicPass on xfoo
+BISECT: running pass (44537) SimplifyCFGPass on xfoo
+BISECT: running pass (44538) SROAPass on xfoo
+BISECT: running pass (44539) EarlyCSEPass on xfoo
+BISECT: running pass (77829) PromotePass on xfoo
+BISECT: running pass (77830) InstCombinePass on xfoo
+BISECT: running pass (77831) SimplifyCFGPass on xfoo
+BISECT: running pass (90475) InvalidateAnalysisPass<llvm::AAManager> on xfoo
+BISECT: running pass (287566) SROAPass on xfoo
+BISECT: running pass (287567) EarlyCSEPass on xfoo
+BISECT: running pass (287568) SpeculativeExecutionPass on xfoo
+BISECT: running pass (287569) JumpThreadingPass on xfoo
+BISECT: running pass (287570) CorrelatedValuePropagationPass on xfoo
+BISECT: running pass (287571) SimplifyCFGPass on xfoo
+BISECT: running pass (287572) InstCombinePass on xfoo
+BISECT: running pass (287573) AggressiveInstCombinePass on xfoo
+BISECT: running pass (287574) LibCallsShrinkWrapPass on xfoo
+BISECT: running pass (287575) TailCallElimPass on xfoo
+BISECT: running pass (287576) SimplifyCFGPass on xfoo
+BISECT: running pass (287577) ReassociatePass on xfoo
+BISECT: running pass (287578) ConstraintEliminationPass on xfoo
+BISECT: running pass (287579) LoopSimplifyPass on xfoo
+BISECT: running pass (287580) LCSSAPass on xfoo
+BISECT: running pass (287581) SimplifyCFGPass on xfoo
+BISECT: running pass (287582) InstCombinePass on xfoo
+BISECT: running pass (287583) LoopSimplifyPass on xfoo
+BISECT: running pass (287584) LCSSAPass on xfoo
+BISECT: running pass (287585) SROAPass on xfoo
+BISECT: running pass (287586) VectorCombinePass on xfoo
+BISECT: running pass (287587) MergedLoadStoreMotionPass on xfoo
+BISECT: running pass (287588) GVNPass on xfoo
+BISECT: running pass (287589) SCCPPass on xfoo
+BISECT: running pass (287590) BDCEPass on xfoo
+BISECT: running pass (287591) InstCombinePass on xfoo
+BISECT: running pass (287592) JumpThreadingPass on xfoo
+BISECT: running pass (287593) CorrelatedValuePropagationPass on xfoo
+BISECT: running pass (287594) ADCEPass on xfoo
+BISECT: running pass (287595) MemCpyOptPass on xfoo
+BISECT: running pass (287596) DSEPass on xfoo
+XLOGBEGIN
+ ... skip, barrier
+ ... skip, barrier
+ 176 = MemoryDef(75) 160 = MemoryDef(75) MemoryUse(75) 122 = MemoryDef(75) 110 = MemoryDef(75) 109 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 100 = MemoryDef(75) 88 = MemoryDef(75) 87 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 76 = MemoryDef(75) MemoryUse(75) MemoryUse(75) 374 = MemoryPhi({bb1.i17,75},{bb3.i.i.i,75},{bb3.i.i.i.i.i,76}) MemoryUse(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 371 = MemoryPhi({bb3.i.i.i.i,370},{bb10.i.i49.i,176},{bb10.i.i49.i,176}) 370 = MemoryPhi({bb43.thread.i.i.i,177},{bb10.i.i49.i,176}) MemoryUse(176) MemoryUse(176) 177 = MemoryDef(176) MemoryUse(176) MemoryUse(176) 163 = MemoryDef(160) 165 = MemoryDef(160) MemoryUse(160) 162 = MemoryDef(160) 372 = MemoryPhi({bb1.i.i.i.i,161},{bb10.i.i43.i,160}) MemoryUse(160) 161 = MemoryDef(160) MemoryUse(160) MemoryUse(160) 123 = MemoryDef(122) 111 = MemoryDef(110) 102 = MemoryDef(100) 101 = MemoryDef(100) 89 = MemoryDef(88) 77 = MemoryDef(374) MemoryUse(374) 179 = MemoryDef(371) 181 = MemoryDef(371) 180 = MemoryDef(371) 178 = MemoryDef(371) MemoryUse(177) 360 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,172},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread214,163}) 166 = MemoryDef(165) 361 = MemoryPhi({bb3.i.i,362},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread,162},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,172},{bb5.i44.i,172},{bb10.i.i,360}) 164 = MemoryDef(372) 124 = MemoryDef(123) 112 = MemoryDef(111) 103 = MemoryDef(102) 373 = MemoryPhi({bb12.i.i.i,101},{bb9.i.i.i,106},{bb10.i.i.i,106}) 90 = MemoryDef(89) 78 = MemoryDef(77) 356 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,188},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread238,179}) 182 = MemoryDef(181) 358 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.thread.i,180},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,188}) 357 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread,178},{bb3.i96.i,358},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertIB3_NtB5_7DoubleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,188},{bb5.i90.i,188},{bb10.i81.i,356}) 167 = MemoryDef(166) 173 = MemoryDef(361) 362 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.thread.i,164},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,172}) 125 = MemoryDef(124) 113 = MemoryDef(112) 104 = MemoryDef(103) 107 = MemoryDef(373) 91 = MemoryDef(90) 79 = MemoryDef(78) 183 = MemoryDef(182) 189 = MemoryDef(357) 168 = MemoryDef(167) 174 = MemoryDef(173) 126 = MemoryDef(125) 114 = MemoryDef(113) 105 = MemoryDef(104) 108 = MemoryDef(107) 92 = MemoryDef(91) 80 = MemoryDef(79) 184 = MemoryDef(183) 190 = MemoryDef(189) 169 = MemoryDef(168) 175 = MemoryDef(174) 127 = MemoryDef(126) 131 = MemoryDef(126) 115 = MemoryDef(114) 106 = MemoryDef(105) 359 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7SingleSENtB7_5Float7to_i128Cs7yj8xjWNs9F_16rustc_const_eval.exit.i,108},{bb3.i.i180,130},{_RNvYNtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee7SingleSNtB4_9Semantics7to_bitsCs7yj8xjWNs9F_16rustc_const_eval.exit.i,175},{_RNvYNtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee7DoubleSNtB4_9Semantics7to_bitsCs7yj8xjWNs9F_16rustc_const_eval.exit.i,191}) 93 = MemoryDef(92) 81 = MemoryDef(80) 185 = MemoryDef(184) 191 = MemoryDef(190) 170 = MemoryDef(169) 128 = MemoryDef(127) 132 = MemoryDef(131) 116 = MemoryDef(115) 192 = MemoryDef(359) 94 = MemoryDef(93) 82 = MemoryDef(81) 186 = MemoryDef(185) 171 = MemoryDef(170) MemoryUse(170) MemoryUse(170) MemoryUse(170) MemoryUse(170) 129 = MemoryDef(128) 133 = MemoryDef(132) 117 = MemoryDef(116) 95 = MemoryDef(94) 83 = MemoryDef(82) 187 = MemoryDef(186) MemoryUse(186) MemoryUse(186) MemoryUse(186) MemoryUse(186) 172 = MemoryDef(171) 130 = MemoryDef(129) 134 = MemoryDef(133) 118 = MemoryDef(117) 96 = MemoryDef(95) 84 = MemoryDef(83) 188 = MemoryDef(187) 135 = MemoryDef(134) 119 = MemoryDef(118) 97 = MemoryDef(96) 85 = MemoryDef(84) 136 = MemoryDef(135) 120 = MemoryDef(119) 98 = MemoryDef(97) 86 = MemoryDef(85) ... skip, barrier
+ ... skip, barrier
+ ... skip, barrier
+ 73 = MemoryDef(72) 74 = MemoryDef(73) 75 = MemoryDef(74) 176 = MemoryDef(75) 160 = MemoryDef(75) MemoryUse(75) 122 = MemoryDef(75) 110 = MemoryDef(75) 109 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 100 = MemoryDef(75) 88 = MemoryDef(75) 87 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 76 = MemoryDef(75) MemoryUse(75) MemoryUse(75) 374 = MemoryPhi({bb1.i17,75},{bb3.i.i.i,75},{bb3.i.i.i.i.i,76}) MemoryUse(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 371 = MemoryPhi({bb3.i.i.i.i,370},{bb10.i.i49.i,176},{bb10.i.i49.i,176}) 370 = MemoryPhi({bb43.thread.i.i.i,177},{bb10.i.i49.i,176}) MemoryUse(176) MemoryUse(176) 177 = MemoryDef(176) MemoryUse(176) MemoryUse(176) 163 = MemoryDef(160) 165 = MemoryDef(160) MemoryUse(160) 162 = MemoryDef(160) 372 = MemoryPhi({bb1.i.i.i.i,161},{bb10.i.i43.i,160}) MemoryUse(160) 161 = MemoryDef(160) MemoryUse(160) MemoryUse(160) 123 = MemoryDef(122) 127 = MemoryDef(126) 131 = MemoryDef(126) 128 = MemoryDef(127) 132 = MemoryDef(131) 129 = MemoryDef(128) 133 = MemoryDef(132) 130 = MemoryDef(129) 134 = MemoryDef(133) 135 = MemoryDef(134) 136 = MemoryDef(135) 137 = MemoryDef(136) 138 = MemoryDef(137) 139 = MemoryDef(138) 140 = MemoryDef(139) 141 = MemoryDef(140) 142 = MemoryDef(141) 143 = MemoryDef(142) 144 = MemoryDef(143) 145 = MemoryDef(144) 146 = MemoryDef(145) 147 = MemoryDef(146) 148 = MemoryDef(147) 149 = MemoryDef(148) 150 = MemoryDef(149) 151 = MemoryDef(150) 152 = MemoryDef(151) 153 = MemoryDef(152) 154 = MemoryDef(153) 155 = MemoryDef(154) 156 = MemoryDef(155) 157 = MemoryDef(156) 158 = MemoryDef(157) 159 = MemoryDef(158) 72 = MemoryDef(70) 73 = MemoryDef(72) 74 = MemoryDef(73) 75 = MemoryDef(74) 176 = MemoryDef(75) 160 = MemoryDef(75) MemoryUse(75) 122 = MemoryDef(75) 110 = MemoryDef(75) 109 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 100 = MemoryDef(75) 88 = MemoryDef(75) 87 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 76 = MemoryDef(75) MemoryUse(75) MemoryUse(75) 374 = MemoryPhi({bb1.i17,75},{bb3.i.i.i,75},{bb3.i.i.i.i.i,76}) MemoryUse(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 371 = MemoryPhi({bb3.i.i.i.i,370},{bb10.i.i49.i,176},{bb10.i.i49.i,176}) 370 = MemoryPhi({bb43.thread.i.i.i,177},{bb10.i.i49.i,176}) MemoryUse(176) MemoryUse(176) 169 = MemoryDef(168) 170 = MemoryDef(169) 185 = MemoryDef(184) 186 = MemoryDef(185) 72 = MemoryDef(70) 73 = MemoryDef(72) 74 = MemoryDef(73) 75 = MemoryDef(74) 176 = MemoryDef(75) 160 = MemoryDef(75) MemoryUse(75) 122 = MemoryDef(75) 110 = MemoryDef(75) 109 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 100 = MemoryDef(75) 88 = MemoryDef(75) 87 = MemoryDef(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 76 = MemoryDef(75) MemoryUse(75) MemoryUse(75) 374 = MemoryPhi({bb1.i17,75},{bb3.i.i.i,75},{bb3.i.i.i.i.i,76}) MemoryUse(75) MemoryUse(75) MemoryUse(75) MemoryUse(75) 371 = MemoryPhi({bb3.i.i.i.i,370},{bb10.i.i49.i,176},{bb10.i.i49.i,176}) 370 = MemoryPhi({bb43.thread.i.i.i,177},{bb10.i.i49.i,176}) MemoryUse(176) MemoryUse(176) ... found a read clobber
+ 378 = MemoryDef(19) 27 = MemoryDef(19) 20 = MemoryDef(19) 35 = MemoryDef(378) 28 = MemoryDef(27) 21 = MemoryDef(20) 29 = MemoryDef(28) 22 = MemoryDef(21) 30 = MemoryDef(29) 23 = MemoryDef(22) 31 = MemoryDef(30) 24 = MemoryDef(23) 32 = MemoryDef(31) 25 = MemoryDef(24) 33 = MemoryDef(32) 26 = MemoryDef(25)DSE: Remove Dead Store:
+ DEAD: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_12.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
+ KILLER: call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %_12.sroa.0)
+DSE: Delete Store: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_12.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
+ 35 = MemoryDef(378) 36 = MemoryDef(35) ... skip, barrier
+ ... skip, barrier
+ 318 = MemoryDef(217) 302 = MemoryDef(217) MemoryUse(217) 264 = MemoryDef(217) 252 = MemoryDef(217) 251 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 242 = MemoryDef(217) 230 = MemoryDef(217) 229 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 218 = MemoryDef(217) MemoryUse(217) MemoryUse(217) 369 = MemoryPhi({bb1.i163,217},{bb3.i.i.i168,217},{bb3.i.i.i.i.i169,218}) MemoryUse(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 321 = MemoryDef(318) 323 = MemoryDef(318) MemoryUse(318) 320 = MemoryDef(318) 364 = MemoryPhi({bb1.i.i.i.i62,319},{bb10.i.i50.i,318}) MemoryUse(318) 319 = MemoryDef(318) MemoryUse(318) MemoryUse(318) 365 = MemoryPhi({bb33.i.i.i,303},{bb30.i.i.i,302}) 367 = MemoryPhi({bb48.i.i.i68,366},{bb30.i.i.i,302}) 366 = MemoryPhi({bb2.i.i.i.i.i,365},{bb10.i.i43.i66,302},{bb10.i.i43.i66,302},{bb39.i.i.i,302},{bb16.i48.i.i.i,302}) MemoryUse(302) MemoryUse(302) 303 = MemoryDef(302) MemoryUse(302) MemoryUse(302) 265 = MemoryDef(264) 253 = MemoryDef(252) 244 = MemoryDef(242) 243 = MemoryDef(242) 231 = MemoryDef(230) 219 = MemoryDef(369) MemoryUse(369) 350 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,330},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread228,321}) 324 = MemoryDef(323) 351 = MemoryPhi({bb3.i96.i58,352},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread,320},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,330},{bb5.i90.i52,330},{bb10.i81.i41,350}) 322 = MemoryDef(364) 306 = MemoryDef(367) 307 = MemoryDef(366) 305 = MemoryDef(366) 304 = MemoryDef(366) MemoryUse(303) 266 = MemoryDef(265) 254 = MemoryDef(253) 245 = MemoryDef(244) 368 = MemoryPhi({bb12.i.i.i144,243},{bb9.i.i.i142,248},{bb10.i.i.i139,248}) 232 = MemoryDef(231) 220 = MemoryDef(219) 325 = MemoryDef(324) 331 = MemoryDef(351) 352 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.thread.i,322},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertB2_E7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,330}) 355 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,314},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread248,306}) 308 = MemoryDef(307) 354 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.thread.i,305},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,314}) 353 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i.thread,304},{bb3.i.i91,354},{_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSEINtB7_12FloatConvertIB3_NtB5_7SingleSEE7convertCs7yj8xjWNs9F_16rustc_const_eval.exit.i,314},{bb5.i44.i86,314},{bb10.i.i75,355}) 267 = MemoryDef(266) 255 = MemoryDef(254) 246 = MemoryDef(245) 249 = MemoryDef(368) 233 = MemoryDef(232) 221 = MemoryDef(220) 326 = MemoryDef(325) 332 = MemoryDef(331) 309 = MemoryDef(308) 315 = MemoryDef(353) 268 = MemoryDef(267) 256 = MemoryDef(255) 247 = MemoryDef(246) 250 = MemoryDef(249) 234 = MemoryDef(233) 222 = MemoryDef(221) 327 = MemoryDef(326) 333 = MemoryDef(332) 310 = MemoryDef(309) 316 = MemoryDef(315) 269 = MemoryDef(268) 273 = MemoryDef(268) 257 = MemoryDef(256) 248 = MemoryDef(247) 363 = MemoryPhi({_RNvYINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB5_7DoubleSENtB7_5Float7to_i128Cs7yj8xjWNs9F_16rustc_const_eval.exit.i,250},{bb3.i.i200,272},{_RNvYNtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee7SingleSNtB4_9Semantics7to_bitsCs7yj8xjWNs9F_16rustc_const_eval.exit.i76,317},{_RNvYNtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee7DoubleSNtB4_9Semantics7to_bitsCs7yj8xjWNs9F_16rustc_const_eval.exit.i42,333}) 235 = MemoryDef(234) 223 = MemoryDef(222) 328 = MemoryDef(327) 311 = MemoryDef(310) 317 = MemoryDef(316) 270 = MemoryDef(269) 274 = MemoryDef(273) 258 = MemoryDef(257) 334 = MemoryDef(363) 236 = MemoryDef(235) 224 = MemoryDef(223) 329 = MemoryDef(328) MemoryUse(328) MemoryUse(328) MemoryUse(328) MemoryUse(328) 312 = MemoryDef(311) 271 = MemoryDef(270) 275 = MemoryDef(274) 259 = MemoryDef(258) 237 = MemoryDef(236) 225 = MemoryDef(224) 330 = MemoryDef(329) 313 = MemoryDef(312) MemoryUse(312) MemoryUse(312) MemoryUse(312) MemoryUse(312) 272 = MemoryDef(271) 276 = MemoryDef(275) 260 = MemoryDef(259) 238 = MemoryDef(237) 226 = MemoryDef(225) 314 = MemoryDef(313) 277 = MemoryDef(276) 261 = MemoryDef(260) 239 = MemoryDef(238) 227 = MemoryDef(226) 278 = MemoryDef(277) 262 = MemoryDef(261) 240 = MemoryDef(239) 228 = MemoryDef(227) ... skip, barrier
+ ... skip, barrier
+ ... skip, barrier
+ 215 = MemoryDef(214) 216 = MemoryDef(215) 217 = MemoryDef(216) 318 = MemoryDef(217) 302 = MemoryDef(217) MemoryUse(217) 264 = MemoryDef(217) 252 = MemoryDef(217) 251 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 242 = MemoryDef(217) 230 = MemoryDef(217) 229 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 218 = MemoryDef(217) MemoryUse(217) MemoryUse(217) 369 = MemoryPhi({bb1.i163,217},{bb3.i.i.i168,217},{bb3.i.i.i.i.i169,218}) MemoryUse(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 321 = MemoryDef(318) 323 = MemoryDef(318) MemoryUse(318) 320 = MemoryDef(318) 364 = MemoryPhi({bb1.i.i.i.i62,319},{bb10.i.i50.i,318}) MemoryUse(318) 319 = MemoryDef(318) MemoryUse(318) MemoryUse(318) 365 = MemoryPhi({bb33.i.i.i,303},{bb30.i.i.i,302}) 367 = MemoryPhi({bb48.i.i.i68,366},{bb30.i.i.i,302}) 366 = MemoryPhi({bb2.i.i.i.i.i,365},{bb10.i.i43.i66,302},{bb10.i.i43.i66,302},{bb39.i.i.i,302},{bb16.i48.i.i.i,302}) MemoryUse(302) MemoryUse(302) 303 = MemoryDef(302) MemoryUse(302) MemoryUse(302) 265 = MemoryDef(264) 269 = MemoryDef(268) 273 = MemoryDef(268) 270 = MemoryDef(269) 274 = MemoryDef(273) 271 = MemoryDef(270) 275 = MemoryDef(274) 272 = MemoryDef(271) 276 = MemoryDef(275) 277 = MemoryDef(276) 278 = MemoryDef(277) 279 = MemoryDef(278) 280 = MemoryDef(279) 281 = MemoryDef(280) 282 = MemoryDef(281) 283 = MemoryDef(282) 284 = MemoryDef(283) 285 = MemoryDef(284) 286 = MemoryDef(285) 287 = MemoryDef(286) 288 = MemoryDef(287) 289 = MemoryDef(288) 290 = MemoryDef(289) 291 = MemoryDef(290) 292 = MemoryDef(291) 293 = MemoryDef(292) 294 = MemoryDef(293) 295 = MemoryDef(294) 296 = MemoryDef(295) 297 = MemoryDef(296) 298 = MemoryDef(297) 299 = MemoryDef(298) 300 = MemoryDef(299) 301 = MemoryDef(300) 311 = MemoryDef(310) 312 = MemoryDef(311) 214 = MemoryDef(212) 215 = MemoryDef(214) 216 = MemoryDef(215) 217 = MemoryDef(216) 318 = MemoryDef(217) 302 = MemoryDef(217) MemoryUse(217) 264 = MemoryDef(217) 252 = MemoryDef(217) 251 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 242 = MemoryDef(217) 230 = MemoryDef(217) 229 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 218 = MemoryDef(217) MemoryUse(217) MemoryUse(217) 369 = MemoryPhi({bb1.i163,217},{bb3.i.i.i168,217},{bb3.i.i.i.i.i169,218}) MemoryUse(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 321 = MemoryDef(318) 323 = MemoryDef(318) MemoryUse(318) 320 = MemoryDef(318) 364 = MemoryPhi({bb1.i.i.i.i62,319},{bb10.i.i50.i,318}) MemoryUse(318) 214 = MemoryDef(212) 215 = MemoryDef(214) 216 = MemoryDef(215) 217 = MemoryDef(216) 318 = MemoryDef(217) 302 = MemoryDef(217) MemoryUse(217) 264 = MemoryDef(217) 252 = MemoryDef(217) 251 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 242 = MemoryDef(217) 230 = MemoryDef(217) 229 = MemoryDef(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 218 = MemoryDef(217) MemoryUse(217) MemoryUse(217) 369 = MemoryPhi({bb1.i163,217},{bb3.i.i.i168,217},{bb3.i.i.i.i.i169,218}) MemoryUse(217) MemoryUse(217) MemoryUse(217) MemoryUse(217) 321 = MemoryDef(318) 323 = MemoryDef(318) MemoryUse(318) 320 = MemoryDef(318) 364 = MemoryPhi({bb1.i.i.i.i62,319},{bb10.i.i50.i,318}) MemoryUse(318) 327 = MemoryDef(326) 328 = MemoryDef(327) ... found a read clobber
+ 379 = MemoryDef(46) 54 = MemoryDef(46) 47 = MemoryDef(46) 62 = MemoryDef(379) 55 = MemoryDef(54) 48 = MemoryDef(47) 56 = MemoryDef(55) 49 = MemoryDef(48) 57 = MemoryDef(56) 50 = MemoryDef(49) 58 = MemoryDef(57) 51 = MemoryDef(50) 59 = MemoryDef(58) 52 = MemoryDef(51) 60 = MemoryDef(59) 53 = MemoryDef(52)DSE: Remove Dead Store:
+ DEAD: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_22.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %25, i64 24, i1 false)
+ KILLER: call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %_22.sroa.0)
+DSE: Delete Store: call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_22.sroa.0, ptr noundef nonnull align 8 dereferenceable(24) %25, i64 24, i1 false)
+ 62 = MemoryDef(379) 63 = MemoryDef(62) Check if def 1 = MemoryDef(liveOnEntry) ( store ptr %0, ptr %cast_ty, align 8) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 10 = MemoryDef(9) ( store i64 1, ptr %10, align 8, !alias.scope !7, !noalias !10) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 9 = MemoryDef(8) ( store ptr %_32, ptr %9, align 8, !alias.scope !7, !noalias !10) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 8 = MemoryDef(7) ( store ptr null, ptr %8, align 8, !alias.scope !7, !noalias !10) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 7 = MemoryDef(6) ( store i64 1, ptr %7, align 8, !alias.scope !7, !noalias !10) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 6 = MemoryDef(5) ( store ptr @alloc_d50805c2b0e7eed61862aadaf27f209d, ptr %_28, align 8, !alias.scope !7, !noalias !10) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 5 = MemoryDef(4) ( store ptr @_RNvXsb_NtNtCs7Nl1vfK0z4l_12rustc_middle2ty16structural_implsNtB7_2TyNtNtCs2jyYkhYh3vu_4core3fmt5Debug3fmt, ptr %6, align 8) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 4 = MemoryDef(3) ( store ptr %cast_ty, ptr %_32, align 8) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_192af8972adb66b0bccf5fdc738bfba4) #89.
+ Check if def 59 = MemoryDef(58) ( store i64 0, ptr %35, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !25.
+ Check if def 58 = MemoryDef(57) ( store ptr @alloc_513570631223a12912d85da2bec3b15a, ptr %34, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !25.
+ Check if def 57 = MemoryDef(56) ( store ptr null, ptr %33, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !25.
+ Check if def 56 = MemoryDef(55) ( store i64 1, ptr %32, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !25.
+ Check if def 55 = MemoryDef(54) ( store ptr @alloc_1c10d5ca2d553fb4dae66490ca716e2c, ptr %_7.i9, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i9, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !25.
+ Check if def 52 = MemoryDef(51) ( store i64 0, ptr %31, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !25.
+ Check if def 51 = MemoryDef(50) ( store ptr @alloc_513570631223a12912d85da2bec3b15a, ptr %30, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !25.
+ Check if def 50 = MemoryDef(49) ( store ptr null, ptr %29, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !25.
+ Check if def 49 = MemoryDef(48) ( store i64 1, ptr %28, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !25.
+ Check if def 48 = MemoryDef(47) ( store ptr @alloc_17b6b8d78551f60688a3df8c4bbd651f, ptr %_4.i10, align 8, !noalias !25) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i10, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !25.
+ Check if def 379 = MemoryDef(45) ( call void @llvm.memcpy.p0.p0.i64(ptr align 8 %self7, ptr align 8 %25, i64 24, i1 false)) is at the end the function
+ ... hit read clobber call fastcc void @_RINvMs5_NtNtNtCs7Nl1vfK0z4l_12rustc_middle3mir9interpret5valueNtB6_6Scalar8to_floatINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB1m_7DoubleSEECs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"core::result::Result<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>, rustc_middle::mir::interpret::error::InterpErrorInfo<'_>>") align 8 dereferenceable(24) %self6, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %self7).
+ Check if def 217 = MemoryDef(216) ( store ptr %0, ptr %dest_ty.i31, align 8, !noalias !172) is at the end the function
+ ... hit exploration limit.
+ Check if def 215 = MemoryDef(214) ( store i16 %v10.sroa.6.0.copyload, ptr %_19.sroa.8.0.val9.sroa_idx, align 2) is at the end the function
+ ... hit read clobber %160 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %val9, i64 noundef %_7.0.i40.i108, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i41.i20), !noalias !225.
+ Check if def 214 = MemoryDef(212) ( store i8 %37, ptr %_19.sroa.66.0.val9.sroa_idx, align 1) is at the end the function
+ ... hit read clobber %160 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %val9, i64 noundef %_7.0.i40.i108, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i41.i20), !noalias !225.
+ Check if def 212 = MemoryDef(211) ( store ptr %v10.sroa.0.0.copyload, ptr %val9, align 8) is at the end the function
+ ... hit read clobber %214 = load <1 x i128>, ptr %val9, align 8, !alias.scope !292, !noalias !293.
+ Check if def 208 = MemoryDef(65) ( call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(13) %_19.sroa.6.0.val9.sroa_idx, ptr noundef nonnull align 8 dereferenceable(13) %v10.sroa.4.0.self6.sroa_idx, i64 13, i1 false)) is at the end the function
+ ... hit read clobber %219 = load i32, ptr %218, align 8, !alias.scope !292, !noalias !293, !noundef !3.
+ Check if def 326 = MemoryDef(325) ( store i8 %37, ptr %222, align 1, !noalias !296) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i47.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i48.i, i8 noundef 0, i8 noundef 0), !noalias !297.
+ Check if def 325 = MemoryDef(324) ( store i8 %212, ptr %221, align 4, !noalias !296) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i47.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i48.i, i8 noundef 0, i8 noundef 0), !noalias !297.
+ Check if def 324 = MemoryDef(323) ( store i32 %219, ptr %220, align 8, !noalias !296) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i47.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i48.i, i8 noundef 0, i8 noundef 0), !noalias !297.
+ Check if def 323 = MemoryDef(318) ( store <1 x i128> %214, ptr %r1.i.i48.i, align 8, !noalias !296) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i47.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i48.i, i8 noundef 0, i8 noundef 0), !noalias !297.
+ Check if def 319 = MemoryDef(318) ( store i128 %213, ptr %val9, align 8, !alias.scope !292, !noalias !293) is at the end the function
+ ... MemoryDef is not accessed until the end of the function
+DSE: Delete Store: store i128 %213, ptr %val9, align 8, !alias.scope !292, !noalias !293
+ Check if def 333 = MemoryDef(332) ( store i8 0, ptr %self5, align 8, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 332 = MemoryDef(331) ( store i8 8, ptr %_50.sroa.4.0..sroa_idx.i51, align 1, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 331 = MemoryDef(351) ( store i128 %_0.i89.i50, ptr %228, align 1, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 303 = MemoryDef(302) ( store i128 %189, ptr %val9, align 8, !alias.scope !276, !noalias !277) is at the end the function
+ ... MemoryDef is not accessed until the end of the function
+DSE: Delete Store: store i128 %189, ptr %val9, align 8, !alias.scope !276, !noalias !277
+ Check if def 310 = MemoryDef(309) ( store i8 %37, ptr %205, align 1, !noalias !281) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i18, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i19, i8 noundef 0, i8 noundef %loss.099.i.i.i), !noalias !282.
+ Check if def 309 = MemoryDef(308) ( store i8 %177, ptr %204, align 4, !noalias !281) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i18, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i19, i8 noundef 0, i8 noundef %loss.099.i.i.i), !noalias !282.
+ Check if def 308 = MemoryDef(307) ( store i32 %exp.09298.i.i.i, ptr %203, align 8, !noalias !281) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i18, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i19, i8 noundef 0, i8 noundef %loss.099.i.i.i), !noalias !282.
+ Check if def 307 = MemoryDef(366) ( store <1 x i128> %198, ptr %r1.i.i.i19, align 8, !noalias !281) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i18, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i19, i8 noundef 0, i8 noundef %loss.099.i.i.i), !noalias !282.
+ Check if def 317 = MemoryDef(316) ( store i8 0, ptr %self5, align 8, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 316 = MemoryDef(315) ( store i8 4, ptr %_48.sroa.4.0..sroa_idx.i85, align 1, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 315 = MemoryDef(353) ( store i128 %_0.i.i84, ptr %211, align 1, !alias.scope !163) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 268 = MemoryDef(267) ( store i128 %_11.0.i109, ptr %i1.i185, align 8, !noalias !261) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 271 = MemoryDef(270) ( store i8 %n.i.i201, ptr %x3.sroa.4.sroa.4.0.x3.sroa.4.0._0.sroa_idx.sroa_idx.i203, align 1, !alias.scope !258) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 270 = MemoryDef(269) ( store i128 %_11.0.i109, ptr %x3.sroa.4.0._0.sroa_idx.i202, align 1, !alias.scope !258) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 269 = MemoryDef(268) ( store i8 0, ptr %self5, align 8, !alias.scope !258) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self5, i64 24, i1 false).
+ Check if def 300 = MemoryDef(299) ( store i64 2, ptr %173, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 299 = MemoryDef(298) ( store ptr %_7.i.i183, ptr %172, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 298 = MemoryDef(297) ( store i64 2, ptr %171, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 297 = MemoryDef(296) ( store ptr %_15.i.i181, ptr %170, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 296 = MemoryDef(295) ( store i64 3, ptr %169, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 295 = MemoryDef(294) ( store ptr @alloc_31559a2fdcd4e9f3f99a80849c02b75e, ptr %_3.i.i184, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 294 = MemoryDef(293) ( store i8 3, ptr %_19.sroa.10.0..sroa_idx.i.i199, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 293 = MemoryDef(292) ( store i32 0, ptr %_19.sroa.9.0..sroa_idx.i.i198, align 4, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 292 = MemoryDef(291) ( store i32 32, ptr %_19.sroa.8.0..sroa_idx.i.i197, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 291 = MemoryDef(290) ( store i64 1, ptr %_19.sroa.7.0..sroa_idx.i.i196, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 290 = MemoryDef(289) ( store i64 2, ptr %_19.sroa.5.0..sroa_idx.i.i195, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 289 = MemoryDef(288) ( store i64 2, ptr %168, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 288 = MemoryDef(287) ( store i8 3, ptr %_16.sroa.10.0..sroa_idx.i.i194, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 287 = MemoryDef(286) ( store i32 4, ptr %_16.sroa.9.0..sroa_idx.i.i193, align 4, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 286 = MemoryDef(285) ( store i32 32, ptr %_16.sroa.8.0..sroa_idx.i.i192, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 285 = MemoryDef(284) ( store i64 0, ptr %_16.sroa.7.0..sroa_idx.i.i191, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 284 = MemoryDef(283) ( store i64 2, ptr %_16.sroa.5.0..sroa_idx.i.i190, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 283 = MemoryDef(282) ( store i64 2, ptr %_15.i.i181, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 281 = MemoryDef(280) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %167, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 280 = MemoryDef(279) ( store ptr %_11.i.i182, ptr %166, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 279 = MemoryDef(278) ( store ptr @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u128$GT$3fmt17h8b62efb62511df80E", ptr %165, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 278 = MemoryDef(277) ( store ptr %i1.i185, ptr %_7.i.i183, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 277 = MemoryDef(276) ( store i64 %164, ptr %_11.i.i182, align 8, !noalias !262) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i184, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !266.
+ Check if def 262 = MemoryDef(261) ( store i64 1, ptr %159, align 8, !alias.scope !249, !noalias !252) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 261 = MemoryDef(260) ( store ptr %_10.i.i11.i21, ptr %158, align 8, !alias.scope !249, !noalias !252) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 260 = MemoryDef(259) ( store ptr null, ptr %157, align 8, !alias.scope !249, !noalias !252) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 259 = MemoryDef(258) ( store i64 1, ptr %156, align 8, !alias.scope !249, !noalias !252) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 258 = MemoryDef(257) ( store ptr @alloc_7e5b236ca7183457fbe9ab153adb8f84, ptr %_6.i.i12.i22, align 8, !alias.scope !249, !noalias !252) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 257 = MemoryDef(256) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %155, align 8, !noalias !248) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 256 = MemoryDef(255) ( store ptr %bits.i.i13.i23, ptr %_10.i.i11.i21, align 8, !noalias !248) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 253 = MemoryDef(252) ( store i64 %_7.0.i.i.i25.i120, ptr %bits.i.i13.i23, align 8, !noalias !248) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i22, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !247.
+ Check if def 246 = MemoryDef(245) ( call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_8.i.i.i24, ptr noundef nonnull align 8 dereferenceable(24) %val9, i64 24, i1 false), !alias.scope !234, !noalias !235) is at the end the function
+ ... hit read clobber %151 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %_8.i.i.i24, i64 noundef %_7.0.i.i130, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i.i25), !noalias !236.
+ Check if def 245 = MemoryDef(244) ( store i8 %150, ptr %_19.sroa.66.0.val9.sroa_idx, align 1, !alias.scope !231, !noalias !233) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_8.i.i.i24, ptr noundef nonnull align 8 dereferenceable(24) %val9, i64 24, i1 false), !alias.scope !234, !noalias !235.
+ Check if def 240 = MemoryDef(239) ( store i64 1, ptr %148, align 8, !alias.scope !212, !noalias !215) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 239 = MemoryDef(238) ( store ptr %_10.i.i.i26, ptr %147, align 8, !alias.scope !212, !noalias !215) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 238 = MemoryDef(237) ( store ptr null, ptr %146, align 8, !alias.scope !212, !noalias !215) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 237 = MemoryDef(236) ( store i64 1, ptr %145, align 8, !alias.scope !212, !noalias !215) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 236 = MemoryDef(235) ( store ptr @alloc_7e5b236ca7183457fbe9ab153adb8f84, ptr %_6.i.i.i27, align 8, !alias.scope !212, !noalias !215) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 235 = MemoryDef(234) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %144, align 8, !noalias !211) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 234 = MemoryDef(233) ( store ptr %bits.i.i.i28, ptr %_10.i.i.i26, align 8, !noalias !211) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 231 = MemoryDef(230) ( store i64 %_7.0.i.i.i.i157, ptr %bits.i.i.i28, align 8, !noalias !211) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i27, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !210.
+ Check if def 227 = MemoryDef(226) ( store i64 1, ptr %142, align 8, !alias.scope !194, !noalias !197) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 226 = MemoryDef(225) ( store ptr %_37.i29, ptr %141, align 8, !alias.scope !194, !noalias !197) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 225 = MemoryDef(224) ( store ptr null, ptr %140, align 8, !alias.scope !194, !noalias !197) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 224 = MemoryDef(223) ( store i64 2, ptr %139, align 8, !alias.scope !194, !noalias !197) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 223 = MemoryDef(222) ( store ptr @alloc_0c222cb05ff60b92739252417fae6b42, ptr %_33.i30, align 8, !alias.scope !194, !noalias !197) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 222 = MemoryDef(221) ( store ptr @_RNvXsb_NtNtCs7Nl1vfK0z4l_12rustc_middle2ty16structural_implsNtB7_2TyNtNtCs2jyYkhYh3vu_4core3fmt5Debug3fmt, ptr %138, align 8, !noalias !172) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 221 = MemoryDef(220) ( store ptr %dest_ty.i31, ptr %_37.i29, align 8, !noalias !172) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i175, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !173.
+ Check if def 32 = MemoryDef(31) ( store i64 0, ptr %21, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !18.
+ Check if def 31 = MemoryDef(30) ( store ptr @alloc_513570631223a12912d85da2bec3b15a, ptr %20, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !18.
+ Check if def 30 = MemoryDef(29) ( store ptr null, ptr %19, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !18.
+ Check if def 29 = MemoryDef(28) ( store i64 1, ptr %18, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !18.
+ Check if def 28 = MemoryDef(27) ( store ptr @alloc_1c10d5ca2d553fb4dae66490ca716e2c, ptr %_7.i, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_7.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_6985df8f475660377d2bb175aff7af73) #89, !noalias !18.
+ Check if def 25 = MemoryDef(24) ( store i64 0, ptr %17, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !18.
+ Check if def 24 = MemoryDef(23) ( store ptr @alloc_513570631223a12912d85da2bec3b15a, ptr %16, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !18.
+ Check if def 23 = MemoryDef(22) ( store ptr null, ptr %15, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !18.
+ Check if def 22 = MemoryDef(21) ( store i64 1, ptr %14, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !18.
+ Check if def 21 = MemoryDef(20) ( store ptr @alloc_17b6b8d78551f60688a3df8c4bbd651f, ptr %_4.i, align 8, !noalias !18) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_4.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_e9fffd92f32608b3768daa3ea019c398) #89, !noalias !18.
+ Check if def 378 = MemoryDef(18) ( call void @llvm.memcpy.p0.p0.i64(ptr align 8 %self4, ptr align 8 %11, i64 24, i1 false)) is at the end the function
+ ... hit read clobber call fastcc void @_RINvMs5_NtNtNtCs7Nl1vfK0z4l_12rustc_middle3mir9interpret5valueNtB6_6Scalar8to_floatINtNtCsfMN9BqAuTFM_13rustc_apfloat4ieee9IeeeFloatNtB1m_7SingleSEECs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"core::result::Result<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>, rustc_middle::mir::interpret::error::InterpErrorInfo<'_>>") align 8 dereferenceable(24) %self3, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %self4).
+ Check if def 75 = MemoryDef(74) ( store ptr %0, ptr %dest_ty.i, align 8, !noalias !35) is at the end the function
+ ... hit exploration limit.
+ Check if def 73 = MemoryDef(72) ( store i16 %v.sroa.6.0.copyload, ptr %_9.sroa.8.0.val.sroa_idx, align 2) is at the end the function
+ ... hit read clobber %71 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %val, i64 noundef %_7.0.i40.i, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i41.i), !noalias !90.
+ Check if def 72 = MemoryDef(70) ( store i8 %23, ptr %_9.sroa.62.0.val.sroa_idx, align 1) is at the end the function
+ ... hit read clobber %71 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %val, i64 noundef %_7.0.i40.i, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i41.i), !noalias !90.
+ Check if def 70 = MemoryDef(69) ( store ptr %v.sroa.0.0.copyload, ptr %val, align 8) is at the end the function
+ ... hit read clobber %.pre.i.i.i = load <1 x i128>, ptr %val, align 8, !alias.scope !157, !noalias !158.
+ Check if def 66 = MemoryDef(38) ( call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(13) %_9.sroa.6.0.val.sroa_idx, ptr noundef nonnull align 8 dereferenceable(13) %v.sroa.4.0.self3.sroa_idx, i64 13, i1 false)) is at the end the function
+ ... hit read clobber %111 = load i32, ptr %110, align 8, !alias.scope !157, !noalias !158, !noundef !3.
+ Check if def 177 = MemoryDef(176) ( store i128 %106, ptr %val, align 8, !alias.scope !157, !noalias !158) is at the end the function
+ ... MemoryDef is not accessed until the end of the function
+DSE: Delete Store: store i128 %106, ptr %val, align 8, !alias.scope !157, !noalias !158
+ Check if def 184 = MemoryDef(183) ( store i8 %23, ptr %120, align 1, !noalias !161) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i46.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i47.i, i8 noundef 0, i8 noundef 0), !noalias !162.
+ Check if def 183 = MemoryDef(182) ( store i8 %105, ptr %119, align 4, !noalias !161) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i46.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i47.i, i8 noundef 0, i8 noundef 0), !noalias !162.
+ Check if def 182 = MemoryDef(181) ( store i32 %112, ptr %118, align 8, !noalias !161) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i46.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i47.i, i8 noundef 0, i8 noundef 0), !noalias !162.
+ Check if def 181 = MemoryDef(371) ( store <1 x i128> %117, ptr %r1.i.i47.i, align 8, !noalias !161) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7DoubleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::DoubleS>>") align 8 dereferenceable(32) %_89.i.i46.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i47.i, i8 noundef 0, i8 noundef 0), !noalias !162.
+ Check if def 191 = MemoryDef(190) ( store i8 0, ptr %self2, align 8, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 190 = MemoryDef(189) ( store i8 8, ptr %_50.sroa.4.0..sroa_idx.i, align 1, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 189 = MemoryDef(357) ( store i128 %_0.i89.i, ptr %126, align 1, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 168 = MemoryDef(167) ( store i8 %23, ptr %98, align 1, !noalias !146) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i, i8 noundef 0, i8 noundef 0), !noalias !147.
+ Check if def 167 = MemoryDef(166) ( store i8 %88, ptr %97, align 4, !noalias !146) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i, i8 noundef 0, i8 noundef 0), !noalias !147.
+ Check if def 166 = MemoryDef(165) ( store i32 %95, ptr %96, align 8, !noalias !146) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i, i8 noundef 0, i8 noundef 0), !noalias !147.
+ Check if def 165 = MemoryDef(160) ( store <1 x i128> %90, ptr %r1.i.i.i, align 8, !noalias !146) is at the end the function
+ ... hit read clobber call fastcc void @_RNvMsb_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSE9normalizeCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull sret(%"rustc_apfloat::StatusAnd<rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS>>") align 8 dereferenceable(32) %_89.i.i.i, ptr noalias nocapture noundef nonnull align 8 dereferenceable(24) %r1.i.i.i, i8 noundef 0, i8 noundef 0), !noalias !147.
+ Check if def 161 = MemoryDef(160) ( store i128 %89, ptr %val, align 8, !alias.scope !142, !noalias !143) is at the end the function
+ ... MemoryDef is not accessed until the end of the function
+DSE: Delete Store: store i128 %89, ptr %val, align 8, !alias.scope !142, !noalias !143
+ Check if def 175 = MemoryDef(174) ( store i8 0, ptr %self2, align 8, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 174 = MemoryDef(173) ( store i8 4, ptr %_48.sroa.4.0..sroa_idx.i, align 1, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 173 = MemoryDef(361) ( store i128 %_0.i.i, ptr %104, align 1, !alias.scope !26) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 126 = MemoryDef(125) ( store i128 %_11.0.i, ptr %i1.i, align 8, !noalias !126) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 129 = MemoryDef(128) ( store i8 %n.i.i, ptr %x3.sroa.4.sroa.4.0.x3.sroa.4.0._0.sroa_idx.sroa_idx.i, align 1, !alias.scope !123) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 128 = MemoryDef(127) ( store i128 %_11.0.i, ptr %x3.sroa.4.0._0.sroa_idx.i, align 1, !alias.scope !123) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 127 = MemoryDef(126) ( store i8 0, ptr %self2, align 8, !alias.scope !123) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_0, ptr noundef nonnull align 8 dereferenceable(24) %self2, i64 24, i1 false).
+ Check if def 158 = MemoryDef(157) ( store i64 2, ptr %84, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 157 = MemoryDef(156) ( store ptr %_7.i.i, ptr %83, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 156 = MemoryDef(155) ( store i64 2, ptr %82, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 155 = MemoryDef(154) ( store ptr %_15.i.i176, ptr %81, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 154 = MemoryDef(153) ( store i64 3, ptr %80, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 153 = MemoryDef(152) ( store ptr @alloc_31559a2fdcd4e9f3f99a80849c02b75e, ptr %_3.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 152 = MemoryDef(151) ( store i8 3, ptr %_19.sroa.10.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 151 = MemoryDef(150) ( store i32 0, ptr %_19.sroa.9.0..sroa_idx.i.i, align 4, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 150 = MemoryDef(149) ( store i32 32, ptr %_19.sroa.8.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 149 = MemoryDef(148) ( store i64 1, ptr %_19.sroa.7.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 148 = MemoryDef(147) ( store i64 2, ptr %_19.sroa.5.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 147 = MemoryDef(146) ( store i64 2, ptr %79, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 146 = MemoryDef(145) ( store i8 3, ptr %_16.sroa.10.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 145 = MemoryDef(144) ( store i32 4, ptr %_16.sroa.9.0..sroa_idx.i.i, align 4, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 144 = MemoryDef(143) ( store i32 32, ptr %_16.sroa.8.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 143 = MemoryDef(142) ( store i64 0, ptr %_16.sroa.7.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 142 = MemoryDef(141) ( store i64 2, ptr %_16.sroa.5.0..sroa_idx.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 141 = MemoryDef(140) ( store i64 2, ptr %_15.i.i176, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 139 = MemoryDef(138) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %78, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 138 = MemoryDef(137) ( store ptr %_11.i.i, ptr %77, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 137 = MemoryDef(136) ( store ptr @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u128$GT$3fmt17h8b62efb62511df80E", ptr %76, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 136 = MemoryDef(135) ( store ptr %i1.i, ptr %_7.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 135 = MemoryDef(134) ( store i64 %75, ptr %_11.i.i, align 8, !noalias !127) is at the end the function
+ ... hit read clobber call void @_RNvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug7bug_fmt(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_3.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_f1f52368f05d729efc5fecb4b590c26c) #89, !noalias !131.
+ Check if def 120 = MemoryDef(119) ( store i64 1, ptr %70, align 8, !alias.scope !114, !noalias !117) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 119 = MemoryDef(118) ( store ptr %_10.i.i11.i, ptr %69, align 8, !alias.scope !114, !noalias !117) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 118 = MemoryDef(117) ( store ptr null, ptr %68, align 8, !alias.scope !114, !noalias !117) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 117 = MemoryDef(116) ( store i64 1, ptr %67, align 8, !alias.scope !114, !noalias !117) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 116 = MemoryDef(115) ( store ptr @alloc_7e5b236ca7183457fbe9ab153adb8f84, ptr %_6.i.i12.i, align 8, !alias.scope !114, !noalias !117) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 115 = MemoryDef(114) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %66, align 8, !noalias !113) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 114 = MemoryDef(113) ( store ptr %bits.i.i13.i, ptr %_10.i.i11.i, align 8, !noalias !113) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 111 = MemoryDef(110) ( store i64 %_7.0.i.i.i25.i, ptr %bits.i.i13.i, align 8, !noalias !113) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i12.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !112.
+ Check if def 104 = MemoryDef(103) ( call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_8.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %val, i64 24, i1 false), !alias.scope !99, !noalias !100) is at the end the function
+ ... hit read clobber %62 = call fastcc { i128, i8 } @_RNvXs9_NtCsfMN9BqAuTFM_13rustc_apfloat4ieeeINtB5_9IeeeFloatNtB5_7SingleSENtB7_5Float9to_u128_rCs7yj8xjWNs9F_16rustc_const_eval(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %_8.i.i.i, i64 noundef %_7.0.i.i, i8 noundef 3, ptr noalias noundef nonnull align 1 dereferenceable(1) %_4.i.i), !noalias !101.
+ Check if def 103 = MemoryDef(102) ( store i8 %61, ptr %_9.sroa.62.0.val.sroa_idx, align 1, !alias.scope !96, !noalias !98) is at the end the function
+ ... hit read clobber call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %_8.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %val, i64 24, i1 false), !alias.scope !99, !noalias !100.
+ Check if def 98 = MemoryDef(97) ( store i64 1, ptr %59, align 8, !alias.scope !77, !noalias !80) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 97 = MemoryDef(96) ( store ptr %_10.i.i.i, ptr %58, align 8, !alias.scope !77, !noalias !80) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 96 = MemoryDef(95) ( store ptr null, ptr %57, align 8, !alias.scope !77, !noalias !80) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 95 = MemoryDef(94) ( store i64 1, ptr %56, align 8, !alias.scope !77, !noalias !80) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 94 = MemoryDef(93) ( store ptr @alloc_7e5b236ca7183457fbe9ab153adb8f84, ptr %_6.i.i.i, align 8, !alias.scope !77, !noalias !80) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 93 = MemoryDef(92) ( store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha09cd8c659d90b0eE", ptr %55, align 8, !noalias !76) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 92 = MemoryDef(91) ( store ptr %bits.i.i.i, ptr %_10.i.i.i, align 8, !noalias !76) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 89 = MemoryDef(88) ( store i64 %_7.0.i.i.i.i, ptr %bits.i.i.i, align 8, !noalias !76) is at the end the function
+ ... hit read clobber call void @_ZN4core9panicking9panic_fmt17hd8881423bff97ee0E(ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_6.i.i.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ab935d256cb88332fdaa2871cc9dbfed) #89, !noalias !75.
+ Check if def 85 = MemoryDef(84) ( store i64 1, ptr %53, align 8, !alias.scope !58, !noalias !61) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 84 = MemoryDef(83) ( store ptr %_37.i, ptr %52, align 8, !alias.scope !58, !noalias !61) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 83 = MemoryDef(82) ( store ptr null, ptr %51, align 8, !alias.scope !58, !noalias !61) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 82 = MemoryDef(81) ( store i64 2, ptr %50, align 8, !alias.scope !58, !noalias !61) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 81 = MemoryDef(80) ( store ptr @alloc_0c222cb05ff60b92739252417fae6b42, ptr %_33.i, align 8, !alias.scope !58, !noalias !61) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 80 = MemoryDef(79) ( store ptr @_RNvXsb_NtNtCs7Nl1vfK0z4l_12rustc_middle2ty16structural_implsNtB7_2TyNtNtCs2jyYkhYh3vu_4core3fmt5Debug3fmt, ptr %49, align 8, !noalias !35) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+ Check if def 79 = MemoryDef(78) ( store ptr %dest_ty.i, ptr %_37.i, align 8, !noalias !35) is at the end the function
+ ... hit read clobber call fastcc void @_RINvNtNtCs7Nl1vfK0z4l_12rustc_middle4util3bug12span_bug_fmtNtNtCs1cqtGhYcsly_10rustc_span13span_encoding4SpanECs7yj8xjWNs9F_16rustc_const_eval(i64 %_0.sroa.0.0.i.i.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(48) %_33.i, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_ebc6dfa148799acb8532cf0bbaabfa2c) #89, !noalias !36.
+XLOGEND
+BISECT: running pass (287597) MoveAutoInitPass on xfoo
+BISECT: running pass (287598) LoopSimplifyPass on xfoo
+BISECT: running pass (287599) LCSSAPass on xfoo
+BISECT: running pass (287600) SimplifyCFGPass on xfoo
+BISECT: running pass (287601) InstCombinePass on xfoo
+BISECT: NOT running pass (586805) InvalidateAnalysisPass<llvm::ShouldNotRunFunctionPassesAnalysis> on xfoo
+BISECT: NOT running pass (631092) Float2IntPass on xfoo
+BISECT: NOT running pass (631093) LowerConstantIntrinsicsPass on xfoo
+BISECT: NOT running pass (631094) LoopSimplifyPass on xfoo
+BISECT: NOT running pass (631095) LCSSAPass on xfoo
+BISECT: NOT running pass (631096) LoopDistributePass on xfoo
+BISECT: NOT running pass (631097) InjectTLIMappings on xfoo
+BISECT: NOT running pass (631098) LoopVectorizePass on xfoo
+BISECT: NOT running pass (631099) InferAlignmentPass on xfoo
+BISECT: NOT running pass (631100) LoopLoadEliminationPass on xfoo
+BISECT: NOT running pass (631101) InstCombinePass on xfoo
+BISECT: NOT running pass (631102) SimplifyCFGPass on xfoo
+BISECT: NOT running pass (631103) SLPVectorizerPass on xfoo
+BISECT: NOT running pass (631104) VectorCombinePass on xfoo
+BISECT: NOT running pass (631105) InstCombinePass on xfoo
+BISECT: NOT running pass (631106) LoopUnrollPass on xfoo
+BISECT: NOT running pass (631107) WarnMissedTransformationsPass on xfoo
+BISECT: NOT running pass (631108) SROAPass on xfoo
+BISECT: NOT running pass (631109) InferAlignmentPass on xfoo
+BISECT: NOT running pass (631110) InstCombinePass on xfoo
+BISECT: NOT running pass (631111) LoopSimplifyPass on xfoo
+BISECT: NOT running pass (631112) LCSSAPass on xfoo
+BISECT: NOT running pass (631113) AlignmentFromAssumptionsPass on xfoo
+BISECT: NOT running pass (631114) LoopSinkPass on xfoo
+BISECT: NOT running pass (631115) InstSimplifyPass on xfoo
+BISECT: NOT running pass (631116) DivRemPairsPass on xfoo
+BISECT: NOT running pass (631117) TailCallElimPass on xfoo
+BISECT: NOT running pass (631118) SimplifyCFGPass on xfoo
More information about the llvm-commits
mailing list