哪些LLVM指令可以退出功能?

时间:2018-09-12 15:28:38

标签: llvm llvm-ir

我的目标是确定LLVM函数的所有可能的退出点。我知道terminator instructions结束基本块,以退出该功能或分支到同一功能的另一部分。在终止符说明中,我对其中大部分内容很清楚:

  • retresume退出功能
  • brswitchindirectbr分支到同一功能中的其他块
  • invokecatchswitch与异常控制流有关,并且也不应退出该功能
  • (为此可以忽略{unreachable

我想对catchretcleanupret进行澄清。我已经编译了example exception handling code(在Mac和Ubuntu上为clang++),但是在编译后的LLVM IR中看不到这些说明。这些仅用于特定的ABI吗?

0 个答案:

没有答案