Ignore:
Timestamp:
Oct 8, 2016, 7:33:08 PM (3 years ago)
Author:
cameron
Message:

Linear buffers; stdout_kernel; cache-aligned alloca, restructured u8u16, clean-ups

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/interface.cpp

    r5174 r5185  
    5959    doBlockFn->setCallingConv(CallingConv::C);
    6060    doBlockFn->setDoesNotThrow();
    61     for (int i = 1; i <= doBlockParameters.size(); i++) {
    62         doBlockFn->setDoesNotCapture(i);
    63     }
     61    doBlockFn->setDoesNotCapture(1);
    6462   
    6563    FunctionType * finalBlockType = FunctionType::get(iBuilder->getVoidTy(), finalBlockParameters, false);
     
    6967    finalBlockFn->setDoesNotThrow();
    7068    finalBlockFn->setDoesNotCapture(1);
    71     // Parameter #2 is not a pointer; nocapture is irrelevant
    72     for (int i = 3; i <= finalBlockParameters.size(); i++) {
    73         finalBlockFn->setDoesNotCapture(i);
    74     }
    7569   
    7670    Function::arg_iterator doBlockArgs = doBlockFn->arg_begin();
     
    10296
    10397Value * KernelInterface::createInstance(std::vector<Value *> args) {
    104     Value * kernelInstance = iBuilder->CreateAlloca(mKernelStateType);
     98    Value * kernelInstance = iBuilder->CreateCacheAlignedAlloca(mKernelStateType);
    10599    Module * m = iBuilder->getModule();
    106100    std::vector<Value *> init_args = {kernelInstance};
Note: See TracChangeset for help on using the changeset viewer.