More to IRBuilder and Instruction
This commit is contained in:
parent
b9ac22d136
commit
fe383ca326
3 changed files with 90 additions and 19 deletions
|
|
@ -14,6 +14,7 @@
|
|||
#include <llvm/Analysis/Verifier.h>
|
||||
#include <llvm/Constants.h>
|
||||
#include <llvm/Intrinsics.h>
|
||||
#include <llvm/IRBuilder.h>
|
||||
|
||||
#include "auto_pyobject.h"
|
||||
|
||||
|
|
@ -732,3 +733,17 @@ PyObject* BasicBlock_getInstList(llvm::BasicBlock* BB)
|
|||
"llvm::Instruction");
|
||||
}
|
||||
|
||||
static
|
||||
PyObject* IRBuilder_CreateAggregateRet(llvm::IRBuilder<>* builder,
|
||||
PyObject* Vals,
|
||||
unsigned N)
|
||||
{
|
||||
using namespace llvm;
|
||||
std::vector<Value*> vec_values;
|
||||
bool ok = extract<Value>::from_py_sequence(vec_values, Vals, "llvm::Value");
|
||||
if (not ok) return NULL;
|
||||
Value** ptr_values = &vec_values[0];
|
||||
ReturnInst* inst = builder->CreateAggregateRet(ptr_values, N);
|
||||
return pycapsule_new(inst, "llvm::Value", "llvm:ReturnInst");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue