llvm-gcc

    1热度

    2回答

    如何告诉GCC编译器应该生成串行(即没有跳转)的代码。 我正在研究将内联汇编嵌入C源代码(或LLVM IR)的项目。 我的实现取决于将内联汇编写入可执行文件的代码。 更正式地说,假设我有索里的代码(C或LLVM IR): .label_start: (inserted as inline assembly) inline_assembly0 source_code0 source_code1

    1热度

    1回答

    我在写一个LLVM函数传递。我想在函数中的每个循环上调用循环传递。不过,我无法从函数传递中调用循环传递。当我为所需的循环传递添加addRequired时,会出现无法安排该传递的错误。 任何解决方法?

    0热度

    1回答

    我知道前端(如llvm-clang或llvm-gcc)也从本地代码向IR级别做了一些优化。 但是前端已经做了哪些优化?有我可以检查的清单或文件吗? 谢谢。

    1热度

    1回答

    我在一个简单的c程序上使用单个LLVM优化传递'mem2reg'。 opt <test>.bc -mem2reg -instcount -o <test>.bc -stats 执行后,我看到的统计数据选项没有显示收集的统计信息,并似乎在为了使用“-stats”选项,LLVM必须启用断言编译。 我不明白,任何人都可以帮助我。

    0热度

    1回答

    好吧,也许有人可以帮助我。 我写一个小LLVM IR testprogram: ; ModuleID = 'main' target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-cygwin" define i32 @my_main() { entry: %0 =

    0热度

    1回答

    我想调试一个jit函数。就像下面的源代码一样,我想调试FibF函数,但是当我通过gdb调试它时,似乎无法运行到函数范围。如何调试它?先谢谢你。 // We are about to create the "fib" function: Function *FibF = CreateFibFunction(M.get(), Context); // Now we going t

    0热度

    1回答

    我想在我的程序中使用DYLD_INSERT_LIBRARIES重写Mac OS 10.9中的内存分配。这是我已经实现的代码的一个非常简单的骨架: void *(*default_malloc)(size_t) = NULL; void (*default_free)() = NULL; void *(*default_calloc)(size_t, size_t) = NULL; void

    0热度

    1回答

    我与LLVM和遇到问题深挖以下IR线很新: %call2 = call float bitcast (float (float, i32*)* @function to float (float, i32 addrspace(1)*)*)(float %11, i32 addrspace(1)* %arrayidx) 我需要从这个提取线的类型的函数的参数(即,(float%11,i32 add

    1热度

    1回答

    是否有任何方法创建一个返回类型和参数为uint32_t和long double的函数? 例如,我们可以创建int类型的参数,如下所示: std::vector<Type*>FuncTy_args; FuncTy_args.push_back(IntegerType::get(M.getContext(), 32)); 在LLVM链路, http://llvm.org/docs/doxygen

    3热度

    1回答

    我在LLVM IR中创建了一个函数。现在我想创建一个返回指令return void。 只见函数创建ReturnInst::(LLVMContext &C, Value *retVal, BasicBlock *InsertAtEnd) 但我不知道应该怎样retVal应该是这样,它返回return void