phoebewang 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 ptr @__gdtoa(ptr %0, i32 %1, ptr %2, ptr %3, i32 %4, i32 %5, i32 %6) {
> %8 = call ptr @bitstob(ptr null)
> %9 = sub i32 0, %6
> %10 = icmp sge i32 %6, 0
> %11 = sub i32 %9, 1
> %12 = sub i32 0, %11
> %.0 = select i1 %10, i32 0, i32 %12
> switch i32 %4, label %15 [
> i32 0, label %13
> i32 1, label %13
> i32 2, label %common.ret1
> i32 4, label %common.ret1
> i32 3, label %14
> i32 5, label %14
> ]
>
> 13: ; preds = %7, %7
> store i32 0, ptr %3, align 4
> br label %15
>
> common.ret1: ; preds = %15, %7, %7
> %common.ret1.op = phi ptr [ null, %15 ], [ null, %7 ], [ null, %7 ]
> ret ptr %common.ret1.op
>
> 14: ; preds = %7, %7
> store i32 %5, ptr %3, align 4
> br label %15
>
> 15: ; preds = %14, %13, %7
> %16 = call ptr @__rv_alloc_D2A()
> store i32 0, ptr %2, align 4
> %17 = sub i32 %.0, %5
> store i32 %17, ptr %0, align 4
> %18 = load volatile ptr, ptr null, align 8
> %19 = sub i32 %9, %17
> %20 = sub i32 0, %19
> store i32 %20, ptr %0, align 4
> call void @__Bfree_D2A()
> store i32 %1, ptr %0, align 4
> br label %common.ret1
> }
>
> declare ptr @bitstob(ptr)
>
> declare void @__Bfree_D2A()
>
> declare ptr @__rv_alloc_D2A()
> ```
>
> ```
> clang -march=novalake reduced.ll --target=x86_64-pc-windows-gnu -O3 -c -o
> /dev/null
> fatal error: error in backend: Cannot emit physreg copy instruction
> 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: clang -march=novalake reduced.ll
> --target=x86_64-pc-windows-gnu -O3 -c -o /dev/null
> 1. Code generation
> 2. Running pass 'Function Pass Manager' on module 'reduced.ll'.
> 3. Running pass 'Post-RA pseudo instruction expansion pass' on function
> '@__gdtoa'
> #0 0x000064e9254c4936 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
> Signals.cpp:0:0
> clang: error: clang frontend command failed with exit code 70 (use -v to see
> invocation)
> ```
Thanks for checking it, fixed.
https://github.com/llvm/llvm-project/pull/191368
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits