Displaying 2 results from an estimated 2 matches for "llvm_builder".
2013 Apr 24
1
[LLVMdev] JIT pass runtime struct on to subroutines
...mp;llvm_context), llvm::PointerType::getUnqual(llvm::StructType::create(&llvm_context)), (llvm::Type *)0));
// prepare for the construction of this function
llvm::BasicBlock *llvm_basic_block = BasicBlock::Create(&llvm_context, "EntryBlock", llvm_function);
llvm::IRBuilder<> llvm_builder(llvm_basic_block);
// pseudo: I'll loop over all the instructions in a predicate. This sets instruction_function_name to the appropriate value in each iteration and makes sure I can iterate over the instruction's parameters
foreach (instruction in predicate) {
// Fetch the instruction...
2013 Sep 03
1
[LLVMdev] X86_thiscall
...&InterfaceGroup::get_interface));
The following call generates the code for the call:
vector<Value *>
get_interface_args; get_interface_args.push_back(interface_group_variable);
get_interface_args.push_back(requested_type); get_interface_args.push_bac
k(ptr_this); auto
result=llvm_builder.CreateCall(module->interface_group_get_interface,
get_interface_args);
Now the problem is that the generated code does not actually seem to be
using the thiscall calling convention specified for the called function:
0011001B mov dword ptr [esp+8],eax 0011001F mov
eax,dword...