Andarwinux wrote:
```
target datalayout =
"e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-gnu"
define void @svt_aom_smooth_v_predictor_64x64_c(ptr %0, i64 %1, ptr %2, i64 %3,
i1 %4, ptr %5, ptr %6, ptr %7, i8 %8, i16 %9, i16 %10, i16 %11, i16 %12, ptr
%13, i64 %14, ptr %15, ptr %16, i64 %17, i64 %18, i64 %19, i64 %20, i64 %21,
i64 %22, i64 %23, i64 %24, i64 %25, i1 %26) {
br i1 %4, label %28, label %._crit_edge
28: ; preds = %30, %27
%29 = phi ptr [ %31, %30 ], [ %0, %27 ]
br label %32
30: ; preds = %32
%31 = getelementptr i8, ptr %29, i64 %1
br label %28
32: ; preds = %32, %28
%33 = phi i64 [ 0, %28 ], [ %3, %32 ]
%34 = trunc i16 %9 to i8
store i8 %34, ptr %2, align 1
store i8 0, ptr %29, align 1
%35 = icmp eq i64 %33, 1
br i1 %35, label %30, label %32
._crit_edge: ; preds = %37, %27
%36 = phi i64 [ %1, %37 ], [ 0, %27 ]
br label %37
37: ; preds = %37, %._crit_edge
%38 = phi i8 [ 0, %._crit_edge ], [ %8, %37 ]
%39 = phi i64 [ 0, %._crit_edge ], [ 16, %37 ]
%40 = or disjoint i64 %39, 1
%41 = getelementptr i8, ptr %2, i64 %40
%42 = or disjoint i64 %39, 2
%43 = getelementptr i8, ptr %2, i64 %42
%44 = or disjoint i64 %39, 3
%45 = getelementptr i8, ptr %2, i64 %44
%46 = or disjoint i64 %39, 4
%47 = getelementptr i8, ptr %2, i64 %46
%48 = or disjoint i64 %39, 5
%49 = getelementptr i8, ptr %2, i64 %48
%50 = or disjoint i64 %39, 7
%51 = getelementptr i8, ptr %2, i64 %50
%52 = or disjoint i64 %39, 8
%53 = getelementptr i8, ptr %2, i64 %52
%54 = or disjoint i64 %39, 9
%55 = getelementptr i8, ptr %2, i64 %54
%56 = or disjoint i64 %39, 10
%57 = getelementptr i8, ptr %2, i64 %56
%58 = or disjoint i64 %39, 11
%59 = getelementptr i8, ptr %2, i64 %58
%60 = load i8, ptr %7, align 1
%61 = zext i8 %60 to i16
%62 = mul i16 %10, %61
%63 = add i16 %62, 1
%64 = lshr i16 %63, 1
%65 = trunc i16 %64 to i8
%66 = getelementptr i8, ptr %15, i64 %14
store i8 %65, ptr %66, align 1
%67 = load i8, ptr %41, align 1
%68 = zext i8 %67 to i16
%69 = mul i16 %9, %68
%70 = add i16 %69, 1
%71 = lshr i16 %70, 1
%72 = trunc i16 %71 to i8
%73 = getelementptr i8, ptr %15, i64 %40
store i8 %72, ptr %73, align 1
%74 = mul i16 %9, %61
%75 = add i16 %74, 1
%76 = lshr i16 %75, 1
%77 = trunc i16 %76 to i8
%78 = getelementptr i8, ptr %16, i64 %14
store i8 %77, ptr %78, align 1
%79 = load i8, ptr %6, align 1
%80 = zext i8 %79 to i16
%81 = mul i16 %12, %80
%82 = add i16 %81, 1
%83 = lshr i16 %82, 1
%84 = trunc i16 %83 to i8
%85 = getelementptr i8, ptr %0, i64 %36
store i8 %84, ptr %85, align 1
%86 = load i8, ptr %43, align 1
%87 = zext i8 %86 to i16
%88 = mul i16 %9, %87
%89 = add i16 %88, 1
%90 = lshr i16 %89, 1
%91 = trunc i16 %90 to i8
%92 = getelementptr i8, ptr %15, i64 %42
store i8 %91, ptr %92, align 1
%93 = load i8, ptr %45, align 1
%94 = zext i8 %93 to i16
%95 = mul i16 %9, %94
%96 = add i16 %95, 1
%97 = lshr i16 %96, 1
%98 = trunc i16 %97 to i8
%99 = getelementptr i8, ptr %15, i64 %44
store i8 %98, ptr %99, align 1
%100 = mul i16 %10, %87
%101 = add i16 %100, 1
%102 = lshr i16 %101, 1
%103 = trunc i16 %102 to i8
%104 = getelementptr i8, ptr %16, i64 %17
store i8 %103, ptr %104, align 1
%105 = mul i16 %11, %80
%106 = add i16 %105, 1
%107 = lshr i16 %106, 1
%108 = trunc i16 %107 to i8
%109 = getelementptr i8, ptr %85, i64 %18
store i8 %108, ptr %109, align 1
%110 = load i8, ptr %47, align 1
%111 = zext i8 %110 to i16
%112 = mul i16 %10, %111
%113 = add i16 %112, 1
%114 = lshr i16 %113, 1
%115 = trunc i16 %114 to i8
%116 = getelementptr i8, ptr %15, i64 %46
store i8 %115, ptr %116, align 1
%117 = load i8, ptr %49, align 1
%118 = zext i8 %117 to i16
%119 = mul i16 %9, %118
%120 = add i16 %119, 1
%121 = lshr i16 %120, 1
%122 = trunc i16 %121 to i8
%123 = getelementptr i8, ptr %15, i64 %48
store i8 %122, ptr %123, align 1
%124 = mul i16 %9, %111
%125 = add i16 %124, 1
%126 = lshr i16 %125, 1
%127 = trunc i16 %126 to i8
%128 = getelementptr i8, ptr %16, i64 %19
store i8 %127, ptr %128, align 1
%129 = mul i16 %10, %118
%130 = add i16 %129, 1
%131 = lshr i16 %130, 1
%132 = trunc i16 %131 to i8
%133 = getelementptr i8, ptr %16, i64 %20
store i8 %132, ptr %133, align 1
%134 = load i8, ptr %5, align 2
%135 = zext i8 %134 to i16
%136 = mul i16 %10, %135
%137 = add i16 %136, 1
%138 = lshr i16 %137, 1
%139 = trunc i16 %138 to i8
%140 = or disjoint i64 %39, 6
%141 = getelementptr i8, ptr %15, i64 %140
store i8 %139, ptr %141, align 1
%142 = load i8, ptr %51, align 1
%143 = zext i8 %142 to i16
%144 = mul i16 %9, %143
%145 = add i16 %144, 1
%146 = lshr i16 %145, 1
%147 = trunc i16 %146 to i8
%148 = getelementptr i8, ptr %15, i64 %50
store i8 %147, ptr %148, align 1
%149 = zext i8 %38 to i16
%150 = mul i16 %9, %149
%151 = add i16 %150, 1
%152 = lshr i16 %151, 1
%153 = trunc i16 %152 to i8
%154 = getelementptr i8, ptr %16, i64 %140
store i8 %153, ptr %154, align 1
%155 = mul i16 %10, %143
%156 = add i16 %155, 1
%157 = lshr i16 %156, 1
%158 = trunc i16 %157 to i8
%159 = getelementptr i8, ptr %16, i64 %21
store i8 %158, ptr %159, align 1
%160 = mul i16 %9, %135
%161 = add i16 %160, 1
%162 = lshr i16 %161, 1
%163 = trunc i16 %162 to i8
%164 = getelementptr i8, ptr %15, i64 %52
store i8 %163, ptr %164, align 1
%165 = load i8, ptr %55, align 1
%166 = zext i8 %165 to i16
%167 = mul i16 %9, %166
%168 = add i16 %167, 1
%169 = lshr i16 %168, 1
%170 = trunc i16 %169 to i8
%171 = getelementptr i8, ptr %15, i64 %54
store i8 %170, ptr %171, align 1
%172 = load i8, ptr %53, align 1
%173 = zext i8 %172 to i16
%174 = mul i16 %9, %173
%175 = add i16 %174, 1
%176 = lshr i16 %175, 1
%177 = trunc i16 %176 to i8
%178 = getelementptr i8, ptr %16, i64 %22
store i8 %177, ptr %178, align 1
%179 = mul i16 %10, %80
%180 = add i16 %179, 1
%181 = lshr i16 %180, 1
%182 = trunc i16 %181 to i8
%183 = getelementptr i8, ptr %16, i64 %23
store i8 %182, ptr %183, align 1
%184 = load i8, ptr %57, align 1
%185 = zext i8 %184 to i16
%186 = mul i16 %10, %185
%187 = add i16 %186, 1
%188 = lshr i16 %187, 1
%189 = trunc i16 %188 to i8
%190 = getelementptr i8, ptr %15, i64 %56
store i8 %189, ptr %190, align 1
%191 = load i8, ptr %59, align 1
%192 = zext i8 %191 to i16
%193 = mul i16 %9, %192
%194 = add i16 %193, 1
%195 = lshr i16 %194, 1
%196 = trunc i16 %195 to i8
%197 = getelementptr i8, ptr %15, i64 %58
store i8 %196, ptr %197, align 1
%198 = mul i16 %9, %185
%199 = add i16 %198, 1
%200 = lshr i16 %199, 1
%201 = trunc i16 %200 to i8
%202 = getelementptr i8, ptr %16, i64 %24
store i8 %201, ptr %202, align 1
%203 = mul i16 %9, %80
%204 = add i16 %203, 1
%205 = lshr i16 %204, 1
%206 = trunc i16 %205 to i8
%207 = getelementptr i8, ptr %16, i64 %25
store i8 %206, ptr %207, align 1
store i8 0, ptr %13, align 1
store i8 0, ptr %5, align 1
store i8 0, ptr %6, align 1
store i8 0, ptr %7, align 1
store i8 0, ptr %2, align 1
br i1 %26, label %37, label %._crit_edge
}
```
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and
include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /build/install/llvmbin/clang
--target=x86_64-pc-windows-gnu -O3 -march=novalake -c -w -o /dev/null
-mno-apx-features=egpr reduced.ll
1. Code generation
2. Running pass 'Function Pass Manager' on module 'reduced.ll'.
3. Running pass 'Greedy Register Allocator' on function
'@svt_aom_smooth_v_predictor_64x64_c'
#0 0x00005e1169775c26 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
Signals.cpp:0:0
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
```
https://github.com/llvm/llvm-project/pull/191368
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits