问题标签 [intermediate-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
85 浏览

java - 我们怎么知道设置堆有多大?

我正在尝试将 Java 转换为中间语言,并且正在弄清楚中间语言是如何工作的。

我有原始的 Java 代码:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/Factorial.java

我有中间代码表示(VAPOR):http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/Factorial.vapor

这是另一组:在 Java 中:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/BubbleSort.java

在 VAPOR 中:http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/BubbleSort.vapor

我的问题是,所有的 VAPOR 代码都有t.0 = HeapAllocZ(x)(在哪里xint。我想知道转换器如何确定堆大小需要为 size x。在Factorial.vapor中,它设置为4。在BubbleSort.vapor中,它设置为12

谢谢!

0 投票
2 回答
1660 浏览

perl - Perl 是否有 LLVM 后端?

我有一个用 C 编写的项目,我希望将其转换为 Perl。我的一个朋友建议使用 LLVM。我使用 Clang 将我的 C 代码编译为 LLVM 程序集。现在我正在尝试将此中间表示转换为 Perl,但我似乎找不到任何后端。有人会指出我正确的方向吗?

0 投票
0 回答
315 浏览

c - 是否可以直接执行 gcc .ssa 文件?如果没有,如何编译?

这个问题有点古怪,但我很难在手册的这一部分找到答案。

如果我将 C 程序的 SSA 转储到文件中,例如:

~$ gcc -fdump-tree-ssa program_name.c

如何直接从 ssa 中间表示执行? 如果这不能通过 完成gcc,那么我会很好奇如何编译.ssa转储。我认为它无法完成,LLVM因为gcc使用了不同的 IR。


作为比较,它可以在 clang/llvm 中简单地完成:

~$ lli program_name_clangbit

...假设一个编译如下:

~$ clang program_name.c -S -emit-llvm -o program_name_clangbit

0 投票
2 回答
1619 浏览

assembly - LLVM 汇编语言有多稳定?

LLVM 语言参考声明它可以用于

作为磁盘上的位码表示(适用于即时编译器的快速加载)

这种表示有多稳定?例如,我现在可以使用 LLVM 3.1 生成它,并且仍然期望它可以使用未来的 LLVM,比如三年后假设的 LLVM 4.5 吗?

假设我没有外部依赖项,我可以使用它为不同的架构生成二进制文件吗?

0 投票
7 回答
49442 浏览

language-agnostic - 回补是什么意思?

是什么backpatching意思?请用一个简单的例子来说明。

0 投票
1 回答
149 浏览

c++ - llvm 错误:找到多个着陆台继任者

llvm 有一个MachineVerifierpass,它MachineFunction根据不同的参数检查 a 的正确性,例如:livenessdead Basic Block正确的寄存器类等。最近我在 MachineVerifier pass 中遇到了这个错误。我想知道为什么不能有多个着陆垫继任者?在示例中,我收到此错误,布局(IR)是这样的;

是不是意味着如果发生异常,异常处理就会模棱两可。有人可以解释一下。谢谢。

0 投票
3 回答
11160 浏览

string - 如何将字符串列表转换为方案中的一个字符串?

例如我有(list "a" "1" "b" "2" "c" "3").

现在我想把这个列表变成一个"a1b2c3"

我怎么做?

谢谢你。

0 投票
1 回答
196 浏览

c# - 编译器是否优化了不必要的/冗余的向上转换,或者它是否产生任何 IL?

冗余演员表得到优化吗?我可以看到编译器没有优化不必要的向下转换(即castclass)。但现在我对一个更简单的情况感兴趣,“如果编译器优化了不必要的向上转换?” 这个问题只涉及引用类型,而不涉及boxing.

在我看来,这upcast不会产生任何 IL,因此冗余显式upcast根本不需要成本?upcast还是因为 IL 指令是无类型的,所以在幕后仍然存在冗余显式的性能成本?

或者有时会向上转换产生任何 IL 指令?

0 投票
2 回答
3537 浏览

c# - 为什么需要发出 IL 代码?

我在一个非常大的代码库中工作,今天我发现了一个IL code在普通class.

包含正在发出的 IL 代码的项目是Service Locator MSDN 描述的实现。

这样做有什么好处,为什么要这样做而不是使用该C#语言?

0 投票
2 回答
2231 浏览

scheme - DrRacket : 如何获取一个值在列表中的位置

我正在尝试获取中级学生语言列表中某个值的位置列表。

例如,我希望在以下列表中列出值“A”的位置列表

(list false A false false false false A false false false )

输出必须类似于

(list 1 6)