[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