小编Dav*_*rei的帖子

在llvm代码中出现的%"alloca point"行的目的是什么?

我一直在看llvm-gcc最近生成的一些LLVM程序集,我注意到一个反复出现的声明,我不确定它的用途.

例如,以下C程序:

int main(void)
{
   void (*f)(void) = (0x21332);
   f();
}
Run Code Online (Sandbox Code Playgroud)

使用"llvm-gcc -emit-llvm -S"编译时将生成以下代码(删除不相关的部分):

define i32 @main() nounwind {
entry:
   %retval = alloca i32     ; <i32*> [#uses=1]
   %f = alloca void ()*     ; <void ()**> [#uses=2]
   %"alloca point" = bitcast i32 0 to i32       ; <i32> [#uses=0]
   store void ()* inttoptr (i64 135986 to void ()*), void ()** %f, align 4
   %0 = load void ()** %f, align 4      ; <void ()*> [#uses=1]
   call void %0() nounwind
   br label %return …
Run Code Online (Sandbox Code Playgroud)

llvm alloca

10
推荐指数
1
解决办法
1027
查看次数

ggplot2 - 包含两个数据集图例问题的线和点的图形

我用ggplot绘制了两个数据集.一个应该是一条线,另一条应该是点.我可以这样工作如下:

d1 <- filter(d, variable==lineVar)
d2 <- filter(d, variable==dotVar)
g <- ggplot(d1, aes(clarity, x=xv, y=yv))
g <- g + geom_line(aes(colour=variable))
g <- g + ggtitle(title)
g <- g + xlab(xl)
g <- g + ylab(yl)
g <- g + geom_point(data=d2, size=4, aes(colour=variable))
Run Code Online (Sandbox Code Playgroud)

输出ggplot2

唯一的问题是传说!正如您所看到的,"观察"数据集在图例中有一个线+点,当它真的应该只是一个点.而对于"预测"反向,它应该只是一条线.

有没有办法获得更清洁/更准确的传奇?

graphing r ggplot2

7
推荐指数
1
解决办法
1144
查看次数

标签 统计

alloca ×1

ggplot2 ×1

graphing ×1

llvm ×1

r ×1