brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.8 KiB · d417370 Raw
381 lines · plain
1; RUN: opt -passes=loop-unroll-and-jam  -allow-unroll-and-jam -unroll-and-jam-count=4 < %s -S | FileCheck %s2target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"3 4@a = common dso_local local_unnamed_addr global i32 0, align 45@b = common dso_local local_unnamed_addr global i8 0, align 16@e = common dso_local local_unnamed_addr global i64 0, align 87@c = common dso_local local_unnamed_addr global ptr null, align 88@g = common dso_local local_unnamed_addr global i64 0, align 89@f = common dso_local local_unnamed_addr global i32 0, align 410 11; Check that the loop won't be UAJ and it will finish.12; This loops triggers a exponential explosion of the algorithm.13; CHECK-LABEL: test114; CHECK: entry15; CHECK: for.cond1.preheader.lr.ph16; CHECK: for.cond1.preheader17; CHECK: for.cond13.preheader18; CHECK: for.cond4.preheader19; CHECK: for.cond.for.end27_crit_edge20; CHECK: for.end2721define dso_local void @test1(i32 %i) {22entry:23  %0 = load i32, ptr @a, align 4, !tbaa !124  %tobool40 = icmp eq i32 %0, 025  br i1 %tobool40, label %for.end27, label %for.cond1.preheader.lr.ph26 27for.cond1.preheader.lr.ph:                        ; preds = %entry28  %1 = load ptr, ptr @c, align 8, !tbaa !529  br label %for.cond1.preheader30 31for.cond1.preheader:                              ; preds = %for.cond1.preheader.lr.ph, %for.cond13.preheader32  %i.addr.041 = phi i32 [ %i, %for.cond1.preheader.lr.ph ], [ %xor.8.9, %for.cond13.preheader ]33  br label %for.cond4.preheader34 35for.cond13.preheader:                             ; preds = %for.cond4.preheader36  %tobool21 = icmp ne i32 %i.addr.041, 037  %lor.ext = zext i1 %tobool21 to i3238  %xor = xor i32 %i.addr.041, %lor.ext39  %tobool21.1 = icmp ne i32 %xor, 040  %lor.ext.1 = zext i1 %tobool21.1 to i3241  %xor.1 = xor i32 %xor, %lor.ext.142  %tobool21.2 = icmp ne i32 %xor.1, 043  %lor.ext.2 = zext i1 %tobool21.2 to i3244  %xor.2 = xor i32 %xor.1, %lor.ext.245  %tobool21.3 = icmp ne i32 %xor.2, 046  %lor.ext.3 = zext i1 %tobool21.3 to i3247  %xor.3 = xor i32 %xor.2, %lor.ext.348  %tobool21.4 = icmp ne i32 %xor.3, 049  %lor.ext.4 = zext i1 %tobool21.4 to i3250  %xor.4 = xor i32 %xor.3, %lor.ext.451  %tobool21.5 = icmp ne i32 %xor.4, 052  %lor.ext.5 = zext i1 %tobool21.5 to i3253  %xor.5 = xor i32 %xor.4, %lor.ext.554  %tobool21.6 = icmp ne i32 %xor.5, 055  %lor.ext.6 = zext i1 %tobool21.6 to i3256  %xor.6 = xor i32 %xor.5, %lor.ext.657  %tobool21.7 = icmp ne i32 %xor.6, 058  %lor.ext.7 = zext i1 %tobool21.7 to i3259  %xor.7 = xor i32 %xor.6, %lor.ext.760  %tobool21.8 = icmp ne i32 %xor.7, 061  %lor.ext.8 = zext i1 %tobool21.8 to i3262  %xor.8 = xor i32 %xor.7, %lor.ext.863  %tobool21.142 = icmp ne i32 %xor.8, 064  %lor.ext.143 = zext i1 %tobool21.142 to i3265  %xor.144 = xor i32 %xor.8, %lor.ext.14366  %tobool21.1.1 = icmp ne i32 %xor.144, 067  %lor.ext.1.1 = zext i1 %tobool21.1.1 to i3268  %xor.1.1 = xor i32 %xor.144, %lor.ext.1.169  %tobool21.2.1 = icmp ne i32 %xor.1.1, 070  %lor.ext.2.1 = zext i1 %tobool21.2.1 to i3271  %xor.2.1 = xor i32 %xor.1.1, %lor.ext.2.172  %tobool21.3.1 = icmp ne i32 %xor.2.1, 073  %lor.ext.3.1 = zext i1 %tobool21.3.1 to i3274  %xor.3.1 = xor i32 %xor.2.1, %lor.ext.3.175  %tobool21.4.1 = icmp ne i32 %xor.3.1, 076  %lor.ext.4.1 = zext i1 %tobool21.4.1 to i3277  %xor.4.1 = xor i32 %xor.3.1, %lor.ext.4.178  %tobool21.5.1 = icmp ne i32 %xor.4.1, 079  %lor.ext.5.1 = zext i1 %tobool21.5.1 to i3280  %xor.5.1 = xor i32 %xor.4.1, %lor.ext.5.181  %tobool21.6.1 = icmp ne i32 %xor.5.1, 082  %lor.ext.6.1 = zext i1 %tobool21.6.1 to i3283  %xor.6.1 = xor i32 %xor.5.1, %lor.ext.6.184  %tobool21.7.1 = icmp ne i32 %xor.6.1, 085  %lor.ext.7.1 = zext i1 %tobool21.7.1 to i3286  %xor.7.1 = xor i32 %xor.6.1, %lor.ext.7.187  %tobool21.8.1 = icmp ne i32 %xor.7.1, 088  %lor.ext.8.1 = zext i1 %tobool21.8.1 to i3289  %xor.8.1 = xor i32 %xor.7.1, %lor.ext.8.190  %tobool21.245 = icmp ne i32 %xor.8.1, 091  %lor.ext.246 = zext i1 %tobool21.245 to i3292  %xor.247 = xor i32 %xor.8.1, %lor.ext.24693  %tobool21.1.2 = icmp ne i32 %xor.247, 094  %lor.ext.1.2 = zext i1 %tobool21.1.2 to i3295  %xor.1.2 = xor i32 %xor.247, %lor.ext.1.296  %tobool21.2.2 = icmp ne i32 %xor.1.2, 097  %lor.ext.2.2 = zext i1 %tobool21.2.2 to i3298  %xor.2.2 = xor i32 %xor.1.2, %lor.ext.2.299  %tobool21.3.2 = icmp ne i32 %xor.2.2, 0100  %lor.ext.3.2 = zext i1 %tobool21.3.2 to i32101  %xor.3.2 = xor i32 %xor.2.2, %lor.ext.3.2102  %tobool21.4.2 = icmp ne i32 %xor.3.2, 0103  %lor.ext.4.2 = zext i1 %tobool21.4.2 to i32104  %xor.4.2 = xor i32 %xor.3.2, %lor.ext.4.2105  %tobool21.5.2 = icmp ne i32 %xor.4.2, 0106  %lor.ext.5.2 = zext i1 %tobool21.5.2 to i32107  %xor.5.2 = xor i32 %xor.4.2, %lor.ext.5.2108  %tobool21.6.2 = icmp ne i32 %xor.5.2, 0109  %lor.ext.6.2 = zext i1 %tobool21.6.2 to i32110  %xor.6.2 = xor i32 %xor.5.2, %lor.ext.6.2111  %tobool21.7.2 = icmp ne i32 %xor.6.2, 0112  %lor.ext.7.2 = zext i1 %tobool21.7.2 to i32113  %xor.7.2 = xor i32 %xor.6.2, %lor.ext.7.2114  %tobool21.8.2 = icmp ne i32 %xor.7.2, 0115  %lor.ext.8.2 = zext i1 %tobool21.8.2 to i32116  %xor.8.2 = xor i32 %xor.7.2, %lor.ext.8.2117  %tobool21.348 = icmp ne i32 %xor.8.2, 0118  %lor.ext.349 = zext i1 %tobool21.348 to i32119  %xor.350 = xor i32 %xor.8.2, %lor.ext.349120  %tobool21.1.3 = icmp ne i32 %xor.350, 0121  %lor.ext.1.3 = zext i1 %tobool21.1.3 to i32122  %xor.1.3 = xor i32 %xor.350, %lor.ext.1.3123  %tobool21.2.3 = icmp ne i32 %xor.1.3, 0124  %lor.ext.2.3 = zext i1 %tobool21.2.3 to i32125  %xor.2.3 = xor i32 %xor.1.3, %lor.ext.2.3126  %tobool21.3.3 = icmp ne i32 %xor.2.3, 0127  %lor.ext.3.3 = zext i1 %tobool21.3.3 to i32128  %xor.3.3 = xor i32 %xor.2.3, %lor.ext.3.3129  %tobool21.4.3 = icmp ne i32 %xor.3.3, 0130  %lor.ext.4.3 = zext i1 %tobool21.4.3 to i32131  %xor.4.3 = xor i32 %xor.3.3, %lor.ext.4.3132  %tobool21.5.3 = icmp ne i32 %xor.4.3, 0133  %lor.ext.5.3 = zext i1 %tobool21.5.3 to i32134  %xor.5.3 = xor i32 %xor.4.3, %lor.ext.5.3135  %tobool21.6.3 = icmp ne i32 %xor.5.3, 0136  %lor.ext.6.3 = zext i1 %tobool21.6.3 to i32137  %xor.6.3 = xor i32 %xor.5.3, %lor.ext.6.3138  %tobool21.7.3 = icmp ne i32 %xor.6.3, 0139  %lor.ext.7.3 = zext i1 %tobool21.7.3 to i32140  %xor.7.3 = xor i32 %xor.6.3, %lor.ext.7.3141  %tobool21.8.3 = icmp ne i32 %xor.7.3, 0142  %lor.ext.8.3 = zext i1 %tobool21.8.3 to i32143  %xor.8.3 = xor i32 %xor.7.3, %lor.ext.8.3144  %tobool21.451 = icmp ne i32 %xor.8.3, 0145  %lor.ext.452 = zext i1 %tobool21.451 to i32146  %xor.453 = xor i32 %xor.8.3, %lor.ext.452147  %tobool21.1.4 = icmp ne i32 %xor.453, 0148  %lor.ext.1.4 = zext i1 %tobool21.1.4 to i32149  %xor.1.4 = xor i32 %xor.453, %lor.ext.1.4150  %tobool21.2.4 = icmp ne i32 %xor.1.4, 0151  %lor.ext.2.4 = zext i1 %tobool21.2.4 to i32152  %xor.2.4 = xor i32 %xor.1.4, %lor.ext.2.4153  %tobool21.3.4 = icmp ne i32 %xor.2.4, 0154  %lor.ext.3.4 = zext i1 %tobool21.3.4 to i32155  %xor.3.4 = xor i32 %xor.2.4, %lor.ext.3.4156  %tobool21.4.4 = icmp ne i32 %xor.3.4, 0157  %lor.ext.4.4 = zext i1 %tobool21.4.4 to i32158  %xor.4.4 = xor i32 %xor.3.4, %lor.ext.4.4159  %tobool21.5.4 = icmp ne i32 %xor.4.4, 0160  %lor.ext.5.4 = zext i1 %tobool21.5.4 to i32161  %xor.5.4 = xor i32 %xor.4.4, %lor.ext.5.4162  %tobool21.6.4 = icmp ne i32 %xor.5.4, 0163  %lor.ext.6.4 = zext i1 %tobool21.6.4 to i32164  %xor.6.4 = xor i32 %xor.5.4, %lor.ext.6.4165  %tobool21.7.4 = icmp ne i32 %xor.6.4, 0166  %lor.ext.7.4 = zext i1 %tobool21.7.4 to i32167  %xor.7.4 = xor i32 %xor.6.4, %lor.ext.7.4168  %tobool21.8.4 = icmp ne i32 %xor.7.4, 0169  %lor.ext.8.4 = zext i1 %tobool21.8.4 to i32170  %xor.8.4 = xor i32 %xor.7.4, %lor.ext.8.4171  %tobool21.554 = icmp ne i32 %xor.8.4, 0172  %lor.ext.555 = zext i1 %tobool21.554 to i32173  %xor.556 = xor i32 %xor.8.4, %lor.ext.555174  %tobool21.1.5 = icmp ne i32 %xor.556, 0175  %lor.ext.1.5 = zext i1 %tobool21.1.5 to i32176  %xor.1.5 = xor i32 %xor.556, %lor.ext.1.5177  %tobool21.2.5 = icmp ne i32 %xor.1.5, 0178  %lor.ext.2.5 = zext i1 %tobool21.2.5 to i32179  %xor.2.5 = xor i32 %xor.1.5, %lor.ext.2.5180  %tobool21.3.5 = icmp ne i32 %xor.2.5, 0181  %lor.ext.3.5 = zext i1 %tobool21.3.5 to i32182  %xor.3.5 = xor i32 %xor.2.5, %lor.ext.3.5183  %tobool21.4.5 = icmp ne i32 %xor.3.5, 0184  %lor.ext.4.5 = zext i1 %tobool21.4.5 to i32185  %xor.4.5 = xor i32 %xor.3.5, %lor.ext.4.5186  %tobool21.5.5 = icmp ne i32 %xor.4.5, 0187  %lor.ext.5.5 = zext i1 %tobool21.5.5 to i32188  %xor.5.5 = xor i32 %xor.4.5, %lor.ext.5.5189  %tobool21.6.5 = icmp ne i32 %xor.5.5, 0190  %lor.ext.6.5 = zext i1 %tobool21.6.5 to i32191  %xor.6.5 = xor i32 %xor.5.5, %lor.ext.6.5192  %tobool21.7.5 = icmp ne i32 %xor.6.5, 0193  %lor.ext.7.5 = zext i1 %tobool21.7.5 to i32194  %xor.7.5 = xor i32 %xor.6.5, %lor.ext.7.5195  %tobool21.8.5 = icmp ne i32 %xor.7.5, 0196  %lor.ext.8.5 = zext i1 %tobool21.8.5 to i32197  %xor.8.5 = xor i32 %xor.7.5, %lor.ext.8.5198  %tobool21.657 = icmp ne i32 %xor.8.5, 0199  %lor.ext.658 = zext i1 %tobool21.657 to i32200  %xor.659 = xor i32 %xor.8.5, %lor.ext.658201  %tobool21.1.6 = icmp ne i32 %xor.659, 0202  %lor.ext.1.6 = zext i1 %tobool21.1.6 to i32203  %xor.1.6 = xor i32 %xor.659, %lor.ext.1.6204  %tobool21.2.6 = icmp ne i32 %xor.1.6, 0205  %lor.ext.2.6 = zext i1 %tobool21.2.6 to i32206  %xor.2.6 = xor i32 %xor.1.6, %lor.ext.2.6207  %tobool21.3.6 = icmp ne i32 %xor.2.6, 0208  %lor.ext.3.6 = zext i1 %tobool21.3.6 to i32209  %xor.3.6 = xor i32 %xor.2.6, %lor.ext.3.6210  %tobool21.4.6 = icmp ne i32 %xor.3.6, 0211  %lor.ext.4.6 = zext i1 %tobool21.4.6 to i32212  %xor.4.6 = xor i32 %xor.3.6, %lor.ext.4.6213  %tobool21.5.6 = icmp ne i32 %xor.4.6, 0214  %lor.ext.5.6 = zext i1 %tobool21.5.6 to i32215  %xor.5.6 = xor i32 %xor.4.6, %lor.ext.5.6216  %tobool21.6.6 = icmp ne i32 %xor.5.6, 0217  %lor.ext.6.6 = zext i1 %tobool21.6.6 to i32218  %xor.6.6 = xor i32 %xor.5.6, %lor.ext.6.6219  %tobool21.7.6 = icmp ne i32 %xor.6.6, 0220  %lor.ext.7.6 = zext i1 %tobool21.7.6 to i32221  %xor.7.6 = xor i32 %xor.6.6, %lor.ext.7.6222  %tobool21.8.6 = icmp ne i32 %xor.7.6, 0223  %lor.ext.8.6 = zext i1 %tobool21.8.6 to i32224  %xor.8.6 = xor i32 %xor.7.6, %lor.ext.8.6225  %tobool21.760 = icmp ne i32 %xor.8.6, 0226  %lor.ext.761 = zext i1 %tobool21.760 to i32227  %xor.762 = xor i32 %xor.8.6, %lor.ext.761228  %tobool21.1.7 = icmp ne i32 %xor.762, 0229  %lor.ext.1.7 = zext i1 %tobool21.1.7 to i32230  %xor.1.7 = xor i32 %xor.762, %lor.ext.1.7231  %tobool21.2.7 = icmp ne i32 %xor.1.7, 0232  %lor.ext.2.7 = zext i1 %tobool21.2.7 to i32233  %xor.2.7 = xor i32 %xor.1.7, %lor.ext.2.7234  %tobool21.3.7 = icmp ne i32 %xor.2.7, 0235  %lor.ext.3.7 = zext i1 %tobool21.3.7 to i32236  %xor.3.7 = xor i32 %xor.2.7, %lor.ext.3.7237  %tobool21.4.7 = icmp ne i32 %xor.3.7, 0238  %lor.ext.4.7 = zext i1 %tobool21.4.7 to i32239  %xor.4.7 = xor i32 %xor.3.7, %lor.ext.4.7240  %tobool21.5.7 = icmp ne i32 %xor.4.7, 0241  %lor.ext.5.7 = zext i1 %tobool21.5.7 to i32242  %xor.5.7 = xor i32 %xor.4.7, %lor.ext.5.7243  %tobool21.6.7 = icmp ne i32 %xor.5.7, 0244  %lor.ext.6.7 = zext i1 %tobool21.6.7 to i32245  %xor.6.7 = xor i32 %xor.5.7, %lor.ext.6.7246  %tobool21.7.7 = icmp ne i32 %xor.6.7, 0247  %lor.ext.7.7 = zext i1 %tobool21.7.7 to i32248  %xor.7.7 = xor i32 %xor.6.7, %lor.ext.7.7249  %tobool21.8.7 = icmp ne i32 %xor.7.7, 0250  %lor.ext.8.7 = zext i1 %tobool21.8.7 to i32251  %xor.8.7 = xor i32 %xor.7.7, %lor.ext.8.7252  %tobool21.863 = icmp ne i32 %xor.8.7, 0253  %lor.ext.864 = zext i1 %tobool21.863 to i32254  %xor.865 = xor i32 %xor.8.7, %lor.ext.864255  %tobool21.1.8 = icmp ne i32 %xor.865, 0256  %lor.ext.1.8 = zext i1 %tobool21.1.8 to i32257  %xor.1.8 = xor i32 %xor.865, %lor.ext.1.8258  %tobool21.2.8 = icmp ne i32 %xor.1.8, 0259  %lor.ext.2.8 = zext i1 %tobool21.2.8 to i32260  %xor.2.8 = xor i32 %xor.1.8, %lor.ext.2.8261  %tobool21.3.8 = icmp ne i32 %xor.2.8, 0262  %lor.ext.3.8 = zext i1 %tobool21.3.8 to i32263  %xor.3.8 = xor i32 %xor.2.8, %lor.ext.3.8264  %tobool21.4.8 = icmp ne i32 %xor.3.8, 0265  %lor.ext.4.8 = zext i1 %tobool21.4.8 to i32266  %xor.4.8 = xor i32 %xor.3.8, %lor.ext.4.8267  %tobool21.5.8 = icmp ne i32 %xor.4.8, 0268  %lor.ext.5.8 = zext i1 %tobool21.5.8 to i32269  %xor.5.8 = xor i32 %xor.4.8, %lor.ext.5.8270  %tobool21.6.8 = icmp ne i32 %xor.5.8, 0271  %lor.ext.6.8 = zext i1 %tobool21.6.8 to i32272  %xor.6.8 = xor i32 %xor.5.8, %lor.ext.6.8273  %tobool21.7.8 = icmp ne i32 %xor.6.8, 0274  %lor.ext.7.8 = zext i1 %tobool21.7.8 to i32275  %xor.7.8 = xor i32 %xor.6.8, %lor.ext.7.8276  %tobool21.8.8 = icmp ne i32 %xor.7.8, 0277  %lor.ext.8.8 = zext i1 %tobool21.8.8 to i32278  %xor.8.8 = xor i32 %xor.7.8, %lor.ext.8.8279  %tobool21.9 = icmp ne i32 %xor.8.8, 0280  %lor.ext.9 = zext i1 %tobool21.9 to i32281  %xor.9 = xor i32 %xor.8.8, %lor.ext.9282  %tobool21.1.9 = icmp ne i32 %xor.9, 0283  %lor.ext.1.9 = zext i1 %tobool21.1.9 to i32284  %xor.1.9 = xor i32 %xor.9, %lor.ext.1.9285  %tobool21.2.9 = icmp ne i32 %xor.1.9, 0286  %lor.ext.2.9 = zext i1 %tobool21.2.9 to i32287  %xor.2.9 = xor i32 %xor.1.9, %lor.ext.2.9288  %tobool21.3.9 = icmp ne i32 %xor.2.9, 0289  %lor.ext.3.9 = zext i1 %tobool21.3.9 to i32290  %xor.3.9 = xor i32 %xor.2.9, %lor.ext.3.9291  %tobool21.4.9 = icmp ne i32 %xor.3.9, 0292  %lor.ext.4.9 = zext i1 %tobool21.4.9 to i32293  %xor.4.9 = xor i32 %xor.3.9, %lor.ext.4.9294  %tobool21.5.9 = icmp ne i32 %xor.4.9, 0295  %lor.ext.5.9 = zext i1 %tobool21.5.9 to i32296  %xor.5.9 = xor i32 %xor.4.9, %lor.ext.5.9297  %tobool21.6.9 = icmp ne i32 %xor.5.9, 0298  %lor.ext.6.9 = zext i1 %tobool21.6.9 to i32299  %xor.6.9 = xor i32 %xor.5.9, %lor.ext.6.9300  %tobool21.7.9 = icmp ne i32 %xor.6.9, 0301  %lor.ext.7.9 = zext i1 %tobool21.7.9 to i32302  %xor.7.9 = xor i32 %xor.6.9, %lor.ext.7.9303  %tobool21.8.9 = icmp ne i32 %xor.7.9, 0304  %lor.ext.8.9 = zext i1 %tobool21.8.9 to i32305  %xor.8.9 = xor i32 %xor.7.9, %lor.ext.8.9306  store i32 10, ptr @f, align 4, !tbaa !1307  %2 = load i32, ptr @a, align 4, !tbaa !1308  %tobool = icmp eq i32 %2, 0309  br i1 %tobool, label %for.cond.for.end27_crit_edge, label %for.cond1.preheader310 311for.cond4.preheader:                              ; preds = %for.cond1.preheader, %for.cond4.preheader312  %j.035 = phi i32 [ 9, %for.cond1.preheader ], [ %dec11, %for.cond4.preheader ]313  %3 = load i8, ptr @b, align 1, !tbaa !7314  %conv = zext i8 %3 to i32315  %cmp = icmp sgt i32 %i.addr.041, %conv316  %conv7 = zext i1 %cmp to i32317  store i32 %conv7, ptr %1, align 4, !tbaa !1318  %4 = load i8, ptr @b, align 1, !tbaa !7319  %conv.1 = zext i8 %4 to i32320  %cmp.1 = icmp sgt i32 %i.addr.041, %conv.1321  %conv7.1 = zext i1 %cmp.1 to i32322  store i32 %conv7.1, ptr %1, align 4, !tbaa !1323  %5 = load i8, ptr @b, align 1, !tbaa !7324  %conv.2 = zext i8 %5 to i32325  %cmp.2 = icmp sgt i32 %i.addr.041, %conv.2326  %conv7.2 = zext i1 %cmp.2 to i32327  store i32 %conv7.2, ptr %1, align 4, !tbaa !1328  %6 = load i8, ptr @b, align 1, !tbaa !7329  %conv.3 = zext i8 %6 to i32330  %cmp.3 = icmp sgt i32 %i.addr.041, %conv.3331  %conv7.3 = zext i1 %cmp.3 to i32332  store i32 %conv7.3, ptr %1, align 4, !tbaa !1333  %7 = load i8, ptr @b, align 1, !tbaa !7334  %conv.4 = zext i8 %7 to i32335  %cmp.4 = icmp sgt i32 %i.addr.041, %conv.4336  %conv7.4 = zext i1 %cmp.4 to i32337  store i32 %conv7.4, ptr %1, align 4, !tbaa !1338  %8 = load i8, ptr @b, align 1, !tbaa !7339  %conv.5 = zext i8 %8 to i32340  %cmp.5 = icmp sgt i32 %i.addr.041, %conv.5341  %conv7.5 = zext i1 %cmp.5 to i32342  store i32 %conv7.5, ptr %1, align 4, !tbaa !1343  %9 = load i8, ptr @b, align 1, !tbaa !7344  %conv.6 = zext i8 %9 to i32345  %cmp.6 = icmp sgt i32 %i.addr.041, %conv.6346  %conv7.6 = zext i1 %cmp.6 to i32347  store i32 %conv7.6, ptr %1, align 4, !tbaa !1348  %10 = load i8, ptr @b, align 1, !tbaa !7349  %conv.7 = zext i8 %10 to i32350  %cmp.7 = icmp sgt i32 %i.addr.041, %conv.7351  %conv7.7 = zext i1 %cmp.7 to i32352  store i32 %conv7.7, ptr %1, align 4, !tbaa !1353  %11 = load i8, ptr @b, align 1, !tbaa !7354  %conv.8 = zext i8 %11 to i32355  %cmp.8 = icmp sgt i32 %i.addr.041, %conv.8356  %conv7.8 = zext i1 %cmp.8 to i32357  store i32 %conv7.8, ptr %1, align 4, !tbaa !1358  %dec11 = add nsw i32 %j.035, -1359  %tobool2 = icmp eq i32 %dec11, 0360  br i1 %tobool2, label %for.cond13.preheader, label %for.cond4.preheader361 362for.cond.for.end27_crit_edge:                     ; preds = %for.cond13.preheader363  %conv8.le.le = zext i1 %cmp.8 to i64364  store i64 %conv8.le.le, ptr @e, align 8, !tbaa !8365  store i64 10, ptr @g, align 8, !tbaa !8366  br label %for.end27367 368for.end27:                                        ; preds = %for.cond.for.end27_crit_edge, %entry369  ret void370}371 372!1 = !{!2, !2, i64 0}373!2 = !{!"int", !3, i64 0}374!3 = !{!"omnipotent char", !4, i64 0}375!4 = !{!"Simple C/C++ TBAA"}376!5 = !{!6, !6, i64 0}377!6 = !{!"any pointer", !3, i64 0}378!7 = !{!3, !3, i64 0}379!8 = !{!9, !9, i64 0}380!9 = !{!"long", !3, i64 0}381