115 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' < %s2target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"3 4@win193 = external global [4 x [36 x double]], align 32 ; <ptr> [#uses=3]5@sb_sample = external global [2 x [2 x [18 x [32 x double]]]], align 32 ; <ptr> [#uses=2]6 7define void @mdct_sub48() nounwind {8entry:9 br i1 undef, label %bb, label %bb5410 11bb: ; preds = %entry12 br label %bb5413 14bb3: ; preds = %bb5015 br label %bb816 17bb4: ; preds = %bb818 br label %bb819 20bb8: ; preds = %bb4, %bb321 br i1 undef, label %bb4, label %bb922 23bb9: ; preds = %bb824 br label %bb4825 26bb25: ; preds = %bb4827 br i1 false, label %bb26, label %bb2728 29bb26: ; preds = %bb48, %bb2530 br label %bb3731 32bb27: ; preds = %bb2533 br i1 undef, label %bb32, label %bb3534 35bb32: ; preds = %bb2736 br label %bb3737 38bb34: ; preds = %bb3539 %0 = getelementptr inbounds [36 x double], ptr undef, i64 0, i64 0 ; <ptr> [#uses=0]40 %1 = getelementptr inbounds [18 x [32 x double]], ptr undef, i64 0, i64 0 ; <ptr> [#uses=1]41 %2 = getelementptr inbounds [32 x double], ptr %1, i64 0, i64 0 ; <ptr> [#uses=0]42 %3 = getelementptr inbounds [36 x double], ptr undef, i64 0, i64 0 ; <ptr> [#uses=0]43 %4 = sub nsw i32 17, %k.4 ; <i32> [#uses=1]44 %5 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]], ptr @sb_sample, i64 0, i64 0 ; <ptr> [#uses=1]45 %6 = getelementptr inbounds [2 x [18 x [32 x double]]], ptr %5, i64 0, i64 0 ; <ptr> [#uses=1]46 %7 = sext i32 %4 to i64 ; <i64> [#uses=1]47 %8 = getelementptr inbounds [18 x [32 x double]], ptr %6, i64 0, i64 %7 ; <ptr> [#uses=1]48 %9 = getelementptr inbounds [32 x double], ptr %8, i64 0, i64 0 ; <ptr> [#uses=1]49 %10 = load double, ptr %9, align 8 ; <double> [#uses=0]50 %11 = fsub double 0.000000e+00, undef ; <double> [#uses=1]51 %12 = getelementptr inbounds double, ptr getelementptr inbounds ([4 x [36 x double]], ptr @win193, i64 0, i64 2, i64 4), i64 0 ; <ptr> [#uses=1]52 store double %11, ptr %12, align 853 %13 = add nsw i32 %k.4, 9 ; <i32> [#uses=1]54 %14 = add nsw i32 %k.4, 18 ; <i32> [#uses=1]55 %15 = getelementptr inbounds [4 x [36 x double]], ptr @win193, i64 0, i64 0 ; <ptr> [#uses=1]56 %16 = sext i32 %14 to i64 ; <i64> [#uses=1]57 %17 = getelementptr inbounds [36 x double], ptr %15, i64 0, i64 %16 ; <ptr> [#uses=1]58 %18 = load double, ptr %17, align 8 ; <double> [#uses=0]59 %19 = sext i32 %k.4 to i64 ; <i64> [#uses=1]60 %20 = getelementptr inbounds [18 x [32 x double]], ptr undef, i64 0, i64 %19 ; <ptr> [#uses=1]61 %21 = sext i32 %band.2 to i64 ; <i64> [#uses=1]62 %22 = getelementptr inbounds [32 x double], ptr %20, i64 0, i64 %21 ; <ptr> [#uses=1]63 %23 = load double, ptr %22, align 8 ; <double> [#uses=0]64 %24 = sext i32 %39 to i64 ; <i64> [#uses=1]65 %25 = getelementptr inbounds [4 x [36 x double]], ptr @win193, i64 0, i64 %24 ; <ptr> [#uses=1]66 %26 = getelementptr inbounds [36 x double], ptr %25, i64 0, i64 0 ; <ptr> [#uses=1]67 %27 = load double, ptr %26, align 8 ; <double> [#uses=0]68 %28 = sub nsw i32 17, %k.4 ; <i32> [#uses=1]69 %29 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]], ptr @sb_sample, i64 0, i64 0 ; <ptr> [#uses=1]70 %30 = getelementptr inbounds [2 x [18 x [32 x double]]], ptr %29, i64 0, i64 0 ; <ptr> [#uses=1]71 %31 = sext i32 %28 to i64 ; <i64> [#uses=1]72 %32 = getelementptr inbounds [18 x [32 x double]], ptr %30, i64 0, i64 %31 ; <ptr> [#uses=1]73 %33 = getelementptr inbounds [32 x double], ptr %32, i64 0, i64 0 ; <ptr> [#uses=1]74 %34 = load double, ptr %33, align 8 ; <double> [#uses=0]75 %35 = sext i32 %13 to i64 ; <i64> [#uses=1]76 %36 = getelementptr inbounds double, ptr getelementptr inbounds ([4 x [36 x double]], ptr @win193, i64 0, i64 2, i64 4), i64 %35 ; <ptr> [#uses=1]77 store double 0.000000e+00, ptr %36, align 878 %37 = sub nsw i32 %k.4, 1 ; <i32> [#uses=1]79 br label %bb3580 81bb35: ; preds = %bb34, %bb2782 %k.4 = phi i32 [ %37, %bb34 ], [ 8, %bb27 ] ; <i32> [#uses=6]83 br i1 undef, label %bb34, label %bb3684 85bb36: ; preds = %bb3586 unreachable87 88bb37: ; preds = %bb32, %bb2689 %38 = add nsw i32 %band.2, 1 ; <i32> [#uses=1]90 br label %bb4891 92bb48: ; preds = %bb37, %bb993 %band.2 = phi i32 [ %38, %bb37 ], [ 0, %bb9 ] ; <i32> [#uses=2]94 %39 = load i32, ptr null, align 8 ; <i32> [#uses=1]95 br i1 undef, label %bb26, label %bb2596 97bb50: ; preds = %bb5498 br i1 undef, label %bb3, label %bb5199 100bb51: ; preds = %bb50101 br i1 undef, label %bb52, label %bb53102 103bb52: ; preds = %bb51104 unreachable105 106bb53: ; preds = %bb51107 br label %bb54108 109bb54: ; preds = %bb53, %bb, %entry110 br i1 undef, label %bb50, label %return111 112return: ; preds = %bb54113 ret void114}115