Ignore:
Timestamp:
Dec 29, 2016, 8:35:20 PM (2 years ago)
Author:
cameron
Message:

Add pthread create, join and exit support into CBuilder

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/u8u16.cpp

    r5240 r5242  
    338338    }
    339339
    340     Type * pthreadTy = size_ty;
    341     FunctionType * funVoidPtrVoidTy = FunctionType::get(voidTy, int8PtrTy, false);
    342 
    343     Function * pthreadCreateFunc = cast<Function>(mod->getOrInsertFunction("pthread_create",
    344                                                                          int32ty,
    345                                                                          pthreadTy->getPointerTo(),
    346                                                                          voidPtrTy,
    347                                                                          static_cast<Type *>(funVoidPtrVoidTy)->getPointerTo(),
    348                                                                          voidPtrTy, nullptr));
    349     pthreadCreateFunc->setCallingConv(llvm::CallingConv::C);
    350     Function * pthreadJoinFunc = cast<Function>(mod->getOrInsertFunction("pthread_join",
    351                                                                        int32ty,
    352                                                                        pthreadTy,
    353                                                                        PointerType::get(int8PtrTy, 0), nullptr));
    354     pthreadJoinFunc->setCallingConv(llvm::CallingConv::C);
    355 
    356     Function * pthreadExitFunc = cast<Function>(mod->getOrInsertFunction("pthread_exit",
    357                                                                        voidTy,
    358                                                                        voidPtrTy, nullptr));
    359     pthreadExitFunc->addFnAttr(llvm::Attribute::NoReturn);
    360     pthreadExitFunc->setCallingConv(llvm::CallingConv::C);
    361 
    362340    if (segmentPipelineParallel){
    363341        generateSegmentParallelPipeline(iBuilder, {&s2pk, &u8u16k, &delK, &p2sk, &stdoutK});
Note: See TracChangeset for help on using the changeset viewer.