2

我在口译员工作。我在内存中有一个变量的地址,我设法从它那里得到了真正的值,并使用 LoadValueFromMemory 函数把它放在一个 genericValue 中。现在我需要创建一个 StoreInst 并希望将这个值放入一个 Value 对象中以在 StoreInst 中使用它。任何想法?

4

1 回答 1

2

要回答标题中的问题,GenericValue它只是一个与类型无关的容器,用于某些值。要从中创建 LLVM Value,您需要创建Constant适当类型的 a,并使用该值来初始化常量。

我假设您指的是从一个模块中获取一个值并在另一个不相关的模块中使用它,否则我不清楚为什么您GenericValue为此通过 a :

  • 如果该值来自解释器端,则无需将其存储在 a 中GenericValue,您只需Constant从该值创建 a 即可。
  • 如果该值来自同一模块中的 LLVM IR 端,您也不需要将其加载Value到 aGenericValue中,您可以Value在创建store指令时直接将其用作参数。
于 2013-11-06T09:42:32.227 回答