mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-23 01:24:30 +00:00
Push LLVMContexts through the IntegerType APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -479,7 +479,7 @@ static LinkageCategory categorize(const Function *F) {
|
||||
static void ThunkGToF(Function *F, Function *G) {
|
||||
Function *NewG = Function::Create(G->getFunctionType(), G->getLinkage(), "",
|
||||
G->getParent());
|
||||
BasicBlock *BB = BasicBlock::Create("", NewG);
|
||||
BasicBlock *BB = BasicBlock::Create(F->getContext(), "", NewG);
|
||||
|
||||
std::vector<Value *> Args;
|
||||
unsigned i = 0;
|
||||
@ -498,13 +498,13 @@ static void ThunkGToF(Function *F, Function *G) {
|
||||
CallInst *CI = CallInst::Create(F, Args.begin(), Args.end(), "", BB);
|
||||
CI->setTailCall();
|
||||
CI->setCallingConv(F->getCallingConv());
|
||||
if (NewG->getReturnType() == Type::VoidTy) {
|
||||
ReturnInst::Create(BB);
|
||||
if (NewG->getReturnType() == Type::getVoidTy(F->getContext())) {
|
||||
ReturnInst::Create(F->getContext(), BB);
|
||||
} else if (CI->getType() != NewG->getReturnType()) {
|
||||
Value *BCI = new BitCastInst(CI, NewG->getReturnType(), "", BB);
|
||||
ReturnInst::Create(BCI, BB);
|
||||
ReturnInst::Create(F->getContext(), BCI, BB);
|
||||
} else {
|
||||
ReturnInst::Create(CI, BB);
|
||||
ReturnInst::Create(F->getContext(), CI, BB);
|
||||
}
|
||||
|
||||
NewG->copyAttributesFrom(G);
|
||||
|
Reference in New Issue
Block a user