From 57f097420d43adf3f38d66b31ed4ef49da62ae75 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Wed, 23 Sep 2020 14:59:13 -0500 Subject: [PATCH] Clean up test file, NFC --- .../Transforms/EarlyCSE/getmatchingvalue-crash.ll | 805 +++------------------ 1 file changed, 88 insertions(+), 717 deletions(-) diff --git a/llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll b/llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll index 621c3ba..5a8b244 100644 --- a/llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll +++ b/llvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll @@ -3,771 +3,142 @@ ; Check that this doesn't crash. The crash only happens with expensive checks, ; but there doesn't seem to be a REQUIRES for that. -; CHECK: invoke i32 @f10 +; CHECK: invoke void @f1 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -%s.90 = type { %s.91 } -%s.91 = type { %s.92* } -%s.92 = type { %s.93, %s.96, %s.83 } -%s.93 = type { %s.94, %s.95 } -%s.94 = type { i32 (...)**, i64 } -%s.95 = type { i32 (...)** } -%s.96 = type <{ %s.97, %s.0, i8*, i32, [4 x i8] }> -%s.97 = type { i32 (...)**, %s.98, i8*, i8*, i8*, i8*, i8*, i8* } -%s.98 = type { %s.99* } -%s.99 = type opaque %s.0 = type { %s.1 } -%s.1 = type { %s.2 } -%s.2 = type { %s.3 } -%s.3 = type { %s.4 } -%s.4 = type { %s.5 } -%s.5 = type { i64, i64, i8* } -%s.83 = type <{ %s.84, %s.82*, i32 }> -%s.84 = type { i32 (...)**, i32, i64, i64, i32, i32, i8*, i8*, void (i32, %s.84*, i32)**, i32*, i64, i64, i64*, i64, i64, i8**, i64, i64 } -%s.82 = type { i32 (...)**, %s.83 } -%s.161 = type { i8, %s.162 } -%s.162 = type { %s.163 } -%s.163 = type { %s.164*, %s.166, %s.168 } -%s.164 = type { %s.165* } -%s.165 = type <{ %s.164, %s.165*, %s.164*, i8, [7 x i8] }> -%s.166 = type { %s.167 } -%s.167 = type { %s.164 } -%s.168 = type { %s.169 } -%s.169 = type { i64 } +%s.1 = type { %s.2* } +%s.2 = type { %s.3, %s.6, %s.16 } +%s.3 = type { %s.4, %s.5 } +%s.4 = type { i32 (...)**, i64 } +%s.5 = type { i32 (...)** } +%s.6 = type <{ %s.7, %s.10, i8*, i32, [4 x i8] }> +%s.7 = type { i32 (...)**, %s.8, i8*, i8*, i8*, i8*, i8*, i8* } +%s.8 = type { %s.9* } +%s.9 = type opaque %s.10 = type { %s.11 } -%s.11 = type { %s.0*, %s.0*, %s.12 } +%s.11 = type { %s.12 } %s.12 = type { %s.13 } -%s.13 = type { %s.0* } -%s.170 = type { %s.171 } -%s.171 = type { %s.164*, %s.172, %s.173 } -%s.172 = type { %s.167 } -%s.173 = type { %s.169 } - -@g0 = external dso_local unnamed_addr constant [1 x i8], align 1 -@g1 = external dso_local unnamed_addr constant [3 x i8], align 1 -@g2 = external dso_local unnamed_addr constant [6 x i8], align 1 -@g3 = external dso_local unnamed_addr constant [28 x i8], align 1 -@g4 = external dso_local unnamed_addr constant [15 x i8], align 1 -@g5 = external dso_local unnamed_addr constant [34 x i8], align 1 -@g6 = external dso_local unnamed_addr constant [25 x i8], align 1 - -declare dso_local i32 @f0(...) +%s.13 = type { %s.14 } +%s.14 = type { %s.15 } +%s.15 = type { i64, i64, i8* } +%s.16 = type <{ %s.17, %s.18*, i32 }> +%s.17 = type { i32 (...)**, i32, i64, i64, i32, i32, i8*, i8*, void (i32, %s.17*, i32)**, i32*, i64, i64, i64*, i64, i64, i8**, i64, i64 } +%s.18 = type { i32 (...)**, %s.16 } +%s.19 = type { i8, %s.20 } +%s.20 = type { %s.21 } +%s.21 = type { %s.22*, %s.24, %s.26 } +%s.22 = type { %s.23* } +%s.23 = type <{ %s.22, %s.23*, %s.22*, i8, [7 x i8] }> +%s.24 = type { %s.25 } +%s.25 = type { %s.22 } +%s.26 = type { %s.27 } +%s.27 = type { i64 } + +@g0 = external constant [1 x i8], align 1 + +declare i32 @f0(...) ; Function Attrs: uwtable -declare dso_local void @f1(%s.90* nocapture) unnamed_addr #0 align 2 +declare void @f1(%s.0* nocapture) align 2 -declare dso_local void @f2(%s.0*, %s.92*) local_unnamed_addr #1 +declare void @f2(%s.10*, %s.2*) -declare dso_local void @f3(%s.0*, i8*, i32) local_unnamed_addr #1 +declare void @f3(%s.10*, i8*, i32) -define dso_local i8* @f4(%s.161* %a0, i8* %a1, i32 %a2, i8* %a3) local_unnamed_addr #1 align 2 personality i8* bitcast (i32 (...)* @f0 to i8*) { +define i8* @f4(%s.19* %a0, i8* %a1, i32 %a2, i8* %a3) align 2 personality i8* bitcast (i32 (...)* @f0 to i8*) { b0: - %v0 = alloca %s.90, align 8 + %v0 = alloca %s.0, align 8 br label %b1 -b1: ; preds = %b2, %b0 - br i1 undef, label %b2, label %b3 +b1: ; preds = %b0 + invoke void @f5(%s.10* nonnull sret align 8 undef, i8* nonnull undef) + to label %b6 unwind label %b3 -b2: ; preds = %b1 - br label %b1 +b2: ; preds = %b2 + %v1 = invoke nonnull align 8 dereferenceable(24) %s.10* @f6(%s.10* undef, i64 undef, i64 1) + to label %b2 unwind label %b4 b3: ; preds = %b1 - br label %b4 - -b4: ; preds = %b40, %b3 - br i1 undef, label %b57, label %b5 - -b5: ; preds = %b4 - invoke void @f7(%s.0* nonnull sret align 8 undef, i8* nonnull undef) - to label %b6 unwind label %b41 - -b6: ; preds = %b5 - br i1 undef, label %b7, label %b8 - -b7: ; preds = %b6 - br label %b9 - -b8: ; preds = %b6 - br label %b9 - -b9: ; preds = %b8, %b7 - br i1 undef, label %b10, label %b11 - -b10: ; preds = %b9 - br label %b12 - -b11: ; preds = %b9 - br label %b12 - -b12: ; preds = %b11, %b10 - br label %b13 - -b13: ; preds = %b22, %b12 - br i1 undef, label %b14, label %b15 - -b14: ; preds = %b13 - br label %b16 - -b15: ; preds = %b13 - br label %b16 - -b16: ; preds = %b15, %b14 - br i1 undef, label %b17, label %b23 - -b17: ; preds = %b16 - br i1 undef, label %b18, label %b24 - -b18: ; preds = %b17 - br i1 undef, label %b19, label %b20 - -b19: ; preds = %b18 - br label %b21 - -b20: ; preds = %b18 - br label %b21 - -b21: ; preds = %b20, %b19 - %v1 = invoke nonnull align 8 dereferenceable(24) %s.0* @f8(%s.0* undef, i64 undef, i64 1) - to label %b22 unwind label %b42 - -b22: ; preds = %b21 - br label %b13 - -b23: ; preds = %b16 - br label %b24 - -b24: ; preds = %b23, %b17 - br label %b25 - -b25: ; preds = %b26, %b24 - br i1 undef, label %b26, label %b27 - -b26: ; preds = %b25 - br label %b25 - -b27: ; preds = %b25 - br i1 undef, label %b28, label %b32 - -b28: ; preds = %b27 - br label %b29 - -b29: ; preds = %b30, %b28 - br i1 undef, label %b30, label %b31 - -b30: ; preds = %b29 - br label %b29 - -b31: ; preds = %b29 - br label %b34 - -b32: ; preds = %b27 - invoke void @f9(%s.10* undef, %s.0* nonnull align 8 dereferenceable(24) undef) - to label %b33 unwind label %b43 - -b33: ; preds = %b32 - br label %b34 - -b34: ; preds = %b33, %b31 - br i1 undef, label %b35, label %b36 - -b35: ; preds = %b34 - br label %b36 - -b36: ; preds = %b35, %b34 - br i1 undef, label %b37, label %b38 - -b37: ; preds = %b36 - br label %b38 - -b38: ; preds = %b37, %b36 - br i1 undef, label %b40, label %b39 - -b39: ; preds = %b39, %b38 - br i1 undef, label %b39, label %b40 - -b40: ; preds = %b39, %b38 - br label %b4 - -b41: ; preds = %b5 %v2 = landingpad { i8*, i32 } cleanup - br label %b49 + br label %b5 -b42: ; preds = %b21 +b4: ; preds = %b2 %v3 = landingpad { i8*, i32 } cleanup - br label %b46 - -b43: ; preds = %b32 - %v4 = landingpad { i8*, i32 } - cleanup - br i1 undef, label %b44, label %b45 - -b44: ; preds = %b43 - br label %b45 - -b45: ; preds = %b44, %b43 - br label %b46 - -b46: ; preds = %b45, %b42 - br i1 undef, label %b47, label %b48 - -b47: ; preds = %b46 - br label %b48 - -b48: ; preds = %b47, %b46 - br label %b49 - -b49: ; preds = %b48, %b41 - br i1 undef, label %b56, label %b50 - -b50: ; preds = %b49 - br label %b51 + br label %b5 -b51: ; preds = %b54, %b50 - br i1 undef, label %b55, label %b52 - -b52: ; preds = %b51 - br i1 undef, label %b53, label %b54 - -b53: ; preds = %b52 - br label %b54 - -b54: ; preds = %b53, %b52 - br label %b51 - -b55: ; preds = %b51 - br label %b56 - -b56: ; preds = %b55, %b49 +b5: ; preds = %b4, %b3 resume { i8*, i32 } undef -b57: ; preds = %b4 - invoke void @f1(%s.90* nonnull %v0) - to label %b58 unwind label %b61 - -b58: ; preds = %b57 - br label %b59 - -b59: ; preds = %b130, %b58 - br i1 undef, label %b62, label %b60 - -b60: ; preds = %b59 - br label %b132 - -b61: ; preds = %b57 - %v5 = landingpad { i8*, i32 } - cleanup - br label %b205 - -b62: ; preds = %b59 - %v6 = invoke i64 @f5(%s.170* nonnull undef, %s.0* nonnull align 8 dereferenceable(24) undef) - to label %b63 unwind label %b76 - -b63: ; preds = %b62 - br i1 undef, label %b77, label %b64 - -b64: ; preds = %b63 - %v7 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @g2, i64 0, i64 0), i64 undef) - to label %b65 unwind label %b76 - -b65: ; preds = %b64 - br label %b66 - -b66: ; preds = %b65 - br i1 undef, label %b67, label %b68 - -b67: ; preds = %b66 - br label %b69 - -b68: ; preds = %b66 - br label %b69 - -b69: ; preds = %b68, %b67 - br i1 undef, label %b70, label %b71 - -b70: ; preds = %b69 - br label %b72 - -b71: ; preds = %b69 - br label %b72 - -b72: ; preds = %b71, %b70 - %v8 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* undef, i64 undef) - to label %b73 unwind label %b76 - -b73: ; preds = %b72 - br label %b74 - -b74: ; preds = %b73 - %v9 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @g3, i64 0, i64 0), i64 undef) - to label %b75 unwind label %b76 - -b75: ; preds = %b74 - br label %b130 - -b76: ; preds = %b74, %b72, %b64, %b62 - %v10 = landingpad { i8*, i32 } - cleanup - br label %b131 - -b77: ; preds = %b63 - br label %b78 - -b78: ; preds = %b111, %b77 - br label %b79 - -b79: ; preds = %b78 - br i1 undef, label %b81, label %b117 - -b80: ; No predecessors! - %v11 = landingpad { i8*, i32 } - cleanup - br label %b113 - -b81: ; preds = %b79 - br label %b82 - -b82: ; preds = %b81 - br i1 undef, label %b83, label %b84 - -b83: ; preds = %b82 - br label %b85 - -b84: ; preds = %b82 - br label %b85 - -b85: ; preds = %b84, %b83 - br i1 undef, label %b86, label %b87 - -b86: ; preds = %b85 - br label %b88 - -b87: ; preds = %b85 - br label %b88 - -b88: ; preds = %b87, %b86 - br i1 undef, label %b89, label %b102 - -b89: ; preds = %b88 - br i1 undef, label %b90, label %b91 - -b90: ; preds = %b89 - br label %b92 - -b91: ; preds = %b89 - br label %b92 - -b92: ; preds = %b91, %b90 - br i1 undef, label %b93, label %b94 - -b93: ; preds = %b92 - br label %b95 - -b94: ; preds = %b92 - br label %b95 - -b95: ; preds = %b94, %b93 - br i1 undef, label %b96, label %b99 - -b96: ; preds = %b95 - br i1 undef, label %b98, label %b97 - -b97: ; preds = %b96 - br label %b98 - -b98: ; preds = %b97, %b96 - br label %b102 - -b99: ; preds = %b101, %b95 - br i1 undef, label %b102, label %b100 - -b100: ; preds = %b99 - br i1 undef, label %b101, label %b102 - -b101: ; preds = %b100 - br label %b99 - -b102: ; preds = %b100, %b99, %b98, %b88 - br i1 undef, label %b112, label %b104 - -b103: ; No predecessors! - %v12 = landingpad { i8*, i32 } - cleanup - br label %b113 - -b104: ; preds = %b102 - br i1 undef, label %b108, label %b105 - -b105: ; preds = %b104 - br label %b106 - -b106: ; preds = %b106, %b105 - br i1 undef, label %b107, label %b106 - -b107: ; preds = %b106 - br label %b111 - -b108: ; preds = %b109, %b104 - br i1 undef, label %b110, label %b109 - -b109: ; preds = %b108 - br label %b108 - -b110: ; preds = %b108 - br label %b111 - -b111: ; preds = %b110, %b107 - br label %b78 - -b112: ; preds = %b102 - br i1 undef, label %b114, label %b118 - -b113: ; preds = %b103, %b80 - br label %b131 - -b114: ; preds = %b112 - %v13 = invoke { %s.164*, i8 } @f11(%s.171* undef, %s.0* nonnull align 8 dereferenceable(24) undef, %s.0* nonnull align 8 dereferenceable(24) undef) - to label %b115 unwind label %b116 - -b115: ; preds = %b114 - br label %b130 - -b116: ; preds = %b128, %b126, %b118, %b114 - %v14 = landingpad { i8*, i32 } - cleanup - br label %b131 - -b117: ; preds = %b79 - br label %b118 - -b118: ; preds = %b117, %b112 - %v15 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @g4, i64 0, i64 0), i64 undef) - to label %b119 unwind label %b116 - -b119: ; preds = %b118 - br label %b120 - -b120: ; preds = %b119 - br i1 undef, label %b121, label %b122 - -b121: ; preds = %b120 - br label %b123 - -b122: ; preds = %b120 - br label %b123 - -b123: ; preds = %b122, %b121 - br i1 undef, label %b124, label %b125 - -b124: ; preds = %b123 - br label %b126 - -b125: ; preds = %b123 - br label %b126 - -b126: ; preds = %b125, %b124 - %v16 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* undef, i64 undef) - to label %b127 unwind label %b116 - -b127: ; preds = %b126 - br label %b128 - -b128: ; preds = %b127 - %v17 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @g5, i64 0, i64 0), i64 undef) - to label %b129 unwind label %b116 - -b129: ; preds = %b128 - br label %b130 - -b130: ; preds = %b129, %b115, %b75 - br label %b59 +b6: ; preds = %b1 + invoke void @f1(%s.0* nonnull %v0) + to label %b8 unwind label %b7 -b131: ; preds = %b116, %b113, %b76 - br label %b200 - -b132: ; preds = %b161, %b60 - br label %b133 - -b133: ; preds = %b132 - br i1 undef, label %b137, label %b134 - -b134: ; preds = %b133 - invoke void @f2(%s.0* sret align 8 undef, %s.92* undef) - to label %b135 unwind label %b182 - -b135: ; preds = %b134 - br label %b163 - -b136: ; No predecessors! - %v18 = landingpad { i8*, i32 } - cleanup - br label %b162 - -b137: ; preds = %b133 - br label %b138 - -b138: ; preds = %b137 - %v19 = invoke i64 @f5(%s.170* nonnull undef, %s.0* nonnull align 8 dereferenceable(24) undef) - to label %b139 unwind label %b153 - -b139: ; preds = %b138 - br i1 undef, label %b140, label %b154 - -b140: ; preds = %b139 - %v20 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @g6, i64 0, i64 0), i64 undef) - to label %b141 unwind label %b153 - -b141: ; preds = %b140 - br label %b142 - -b142: ; preds = %b141 - br label %b143 - -b143: ; preds = %b142 - br i1 undef, label %b144, label %b145 - -b144: ; preds = %b143 - br label %b146 - -b145: ; preds = %b143 - br label %b146 - -b146: ; preds = %b145, %b144 - br i1 undef, label %b147, label %b148 - -b147: ; preds = %b146 - br label %b149 - -b148: ; preds = %b146 - br label %b149 - -b149: ; preds = %b148, %b147 - %v21 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* undef, i64 undef) - to label %b150 unwind label %b153 - -b150: ; preds = %b149 - br label %b151 - -b151: ; preds = %b150 - %v22 = invoke nonnull align 8 dereferenceable(8) %s.82* @f6(%s.82* nonnull align 8 dereferenceable(8) undef, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @g1, i64 0, i64 0), i64 undef) - to label %b152 unwind label %b153 - -b152: ; preds = %b151 - br label %b154 - -b153: ; preds = %b151, %b149, %b140, %b138 - %v23 = landingpad { i8*, i32 } +b7: ; preds = %b6 + %v4 = landingpad { i8*, i32 } cleanup - br label %b162 - -b154: ; preds = %b152, %b139 - br i1 undef, label %b158, label %b155 - -b155: ; preds = %b154 - br label %b156 - -b156: ; preds = %b156, %b155 - br i1 undef, label %b157, label %b156 + br label %b20 -b157: ; preds = %b156 - br label %b161 - -b158: ; preds = %b159, %b154 - br i1 undef, label %b160, label %b159 - -b159: ; preds = %b158 - br label %b158 - -b160: ; preds = %b158 - br label %b161 - -b161: ; preds = %b160, %b157 - br label %b132 - -b162: ; preds = %b153, %b136 - br label %b200 - -b163: ; preds = %b135 - br i1 undef, label %b164, label %b165 - -b164: ; preds = %b163 - br label %b166 - -b165: ; preds = %b163 - br label %b166 - -b166: ; preds = %b165, %b164 - br i1 undef, label %b167, label %b170 +b8: ; preds = %b6 + invoke void @f2(%s.10* sret align 8 undef, %s.2* undef) + to label %b10 unwind label %b14 -b167: ; preds = %b166 - %v24 = invoke i32 @f10(%s.0* nonnull undef, i64 0, i64 -1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @g0, i64 0, i64 0), i64 undef) - to label %b168 unwind label %b169 +b9: ; No predecessors! + br label %b16 -b168: ; preds = %b167 - br label %b170 +b10: ; preds = %b8 + %v6 = invoke i32 @f7(%s.10* nonnull undef, i64 0, i64 -1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @g0, i64 0, i64 0), i64 undef) + to label %b12 unwind label %b11 -b169: ; preds = %b167 - %v25 = landingpad { i8*, i32 } +b11: ; preds = %b10 + %v7 = landingpad { i8*, i32 } catch i8* null unreachable -b170: ; preds = %b168, %b166 - br i1 undef, label %b171, label %b186 - -b171: ; preds = %b170 - invoke void @f3(%s.0* nonnull sret align 8 undef, i8* %a1, i32 %a2) - to label %b172 unwind label %b183 - -b172: ; preds = %b171 - br i1 undef, label %b173, label %b174 - -b173: ; preds = %b172 - br label %b175 +b12: ; preds = %b10 + invoke void @f3(%s.10* nonnull sret align 8 undef, i8* %a1, i32 %a2) + to label %b13 unwind label %b15 -b174: ; preds = %b172 - br label %b175 - -b175: ; preds = %b174, %b173 - br i1 undef, label %b176, label %b177 - -b176: ; preds = %b175 - br label %b178 - -b177: ; preds = %b175 - br label %b178 - -b178: ; preds = %b177, %b176 - br i1 undef, label %b179, label %b180 - -b179: ; preds = %b178 - br label %b180 - -b180: ; preds = %b179, %b178 +b13: ; preds = %b12 unreachable -b181: ; No predecessors! - br label %b186 - -b182: ; preds = %b134 - %v26 = landingpad { i8*, i32 } +b14: ; preds = %b8 + %v8 = landingpad { i8*, i32 } cleanup - br label %b200 + br label %b16 -b183: ; preds = %b171 - %v27 = landingpad { i8*, i32 } +b15: ; preds = %b12 + %v9 = landingpad { i8*, i32 } cleanup - br i1 undef, label %b184, label %b185 - -b184: ; preds = %b183 - br label %b185 - -b185: ; preds = %b184, %b183 - br label %b200 - -b186: ; preds = %b181, %b170 - br i1 undef, label %b187, label %b188 - -b187: ; preds = %b186 - br label %b188 - -b188: ; preds = %b187, %b186 - br i1 undef, label %b192, label %b189 - -b189: ; preds = %b188 - br i1 undef, label %b191, label %b190 - -b190: ; preds = %b189 - br label %b191 - -b191: ; preds = %b190, %b189 - br label %b192 - -b192: ; preds = %b191, %b188 - br i1 undef, label %b199, label %b193 - -b193: ; preds = %b192 - br label %b194 - -b194: ; preds = %b197, %b193 - br i1 undef, label %b198, label %b195 - -b195: ; preds = %b194 - br i1 undef, label %b196, label %b197 - -b196: ; preds = %b195 - br label %b197 - -b197: ; preds = %b196, %b195 - br label %b194 - -b198: ; preds = %b194 - br label %b199 - -b199: ; preds = %b198, %b192 - ret i8* %a3 - -b200: ; preds = %b185, %b182, %b162, %b131 - %v28 = getelementptr inbounds %s.90, %s.90* %v0, i64 0, i32 0 - %v29 = getelementptr inbounds %s.91, %s.91* %v28, i64 0, i32 0 - br i1 undef, label %b204, label %b201 - -b201: ; preds = %b200 - %v30 = load %s.92*, %s.92** %v29, align 8 - br i1 undef, label %b203, label %b202 - -b202: ; preds = %b201 - call void undef(%s.92* nonnull %v30) #2 - br label %b203 - -b203: ; preds = %b202, %b201 - store %s.92* null, %s.92** %v29, align 8 - br label %b204 - -b204: ; preds = %b203, %b200 - br label %b205 - -b205: ; preds = %b204, %b61 - br i1 undef, label %b212, label %b206 - -b206: ; preds = %b205 - br label %b207 - -b207: ; preds = %b210, %b206 - br i1 undef, label %b211, label %b208 + br label %b16 -b208: ; preds = %b207 - br i1 undef, label %b209, label %b210 +b16: ; preds = %b15, %b14, %b9 + %v10 = getelementptr inbounds %s.0, %s.0* %v0, i64 0, i32 0 + %v11 = getelementptr inbounds %s.1, %s.1* %v10, i64 0, i32 0 + br label %b17 -b209: ; preds = %b208 - br label %b210 +b17: ; preds = %b16 + %v12 = load %s.2*, %s.2** %v11, align 8 + br label %b18 -b210: ; preds = %b209, %b208 - br label %b207 +b18: ; preds = %b17 + call void undef(%s.2* nonnull %v12) + br label %b19 -b211: ; preds = %b207 - br label %b212 +b19: ; preds = %b18 + store %s.2* null, %s.2** %v11, align 8 + br label %b20 -b212: ; preds = %b211, %b205 +b20: ; preds = %b19, %b7 resume { i8*, i32 } undef } -declare hidden i64 @f5(%s.170*, %s.0*) local_unnamed_addr #1 align 2 - -declare hidden %s.82* @f6(%s.82*, i8*, i64) local_unnamed_addr #1 - -declare hidden void @f7(%s.0*, i8*) local_unnamed_addr #1 - -declare dso_local %s.0* @f8(%s.0*, i64, i64) local_unnamed_addr #1 - -declare hidden void @f9(%s.10*, %s.0*) local_unnamed_addr #1 align 2 - -declare dso_local i32 @f10(%s.0*, i64, i64, i8*, i64) local_unnamed_addr #1 +declare hidden void @f5(%s.10*, i8*) -declare hidden { %s.164*, i8 } @f11(%s.171*, %s.0*, %s.0*) local_unnamed_addr #1 align 2 +declare %s.10* @f6(%s.10*, i64, i64) -attributes #0 = { uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { "use-soft-float"="false" } -attributes #2 = { nounwind } +declare i32 @f7(%s.10*, i64, i64, i8*, i64) -- 2.7.4