llc 命令在添加新后端后永远运行

问题描述 投票:0回答:0

我想知道llc有没有pass可以让它卡在死循环里不给用户任何反馈?

我正在为新架构开发 llvm 后端。我创建了一些“.td”文件,它们工作正常,但在添加加载/存储指令后,事情开始中断。后端编译的“.ll”文件是从“.c”文件生成的,但是在使用 llc 命令将“.ll”文件编译为“.s”时,它需要永远运行。 以下是 llvm IR 中的 '.ll' 代码:

; Function Attrs: noinline nounwind optnone
define dso_local i16 @main() #0 {
entry:
  %retval = alloca i16, align 2
  %x = alloca i16, align 2
  store i16 0, i16* %retval, align 2
  store i16 2, i16* %x, align 2
  %0 = load i16, i16* %x, align 2
  ret i16 %0
}

我们使用 -view-sunit-dags 命令运行 llc 命令并生成以下 dag:

llvm llc
© www.soinside.com 2019 - 2024. All rights reserved.