clang - 对IR代码中的static_cast和dynamic_cast进行分类

标签 clang llvm llvm-ir dynamic-cast static-cast

我有一个问题..

在LLVM的IR层中,是否存在区分static_cast和dynamic_cast的方法?

如果是,如何使用IR级别的命令检查它?

我知道,在 clang 级别中,已经存在一些方法,如下所示。 -http://clang.llvm.org/doxygen/classclang_1_1CXXNamedCastExpr.html

您能给我一个有值(value)的指南吗?

非常感谢:)

最佳答案

没有。 LLVM IR 不代表 static_cast、dynamic_cast 或任何此类 C++ 源级构造。即使特定于 ABI 的提示也可能并不总是存在,例如 Itanium 在某些情况下不会发出对运行时函数的调用。

关于clang - 对IR代码中的static_cast和dynamic_cast进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382888/

相关文章:

c++ - clang:从输出中剥离类名

linux - 是否有适用于 Linux 的 Clang mingw 交叉编译器

llvm - 可以从LLVM-IR自动生成llvm c++ api代码吗?

rust - 有没有办法防止发出的 LLVM IR 删除未使用的函数?

c++ - 未捕获 LLVM IR : find_if, var

objective-c - Xcode 4.4.1 & 核心情节 : Apple LLVM compiler error when compiling Core Plot demo apps

C:如果已经定义,则忽略函数的第二个定义

c++ - 为什么返回类型上的 'const'限定符对以__forceinline/inline标记的函数不起作用?

c++ - 如何在 macOS 中使用(链接)调试版本的 libc++?

windows - CMake 错误 : File/cygdrive/. ../src/LLVMBuild.txt 不存在