Changeset 5200
- Timestamp:
- Oct 24, 2016, 10:59:28 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
icGREP/icgrep-devel/icgrep/grep_engine.cpp
r5176 r5200 177 177 178 178 Function * mainFunc = m->getFunction("Main"); 179 Value * inputThreadPtr = iBuilder->CreateGEP(inputPtr, iBuilder->CreateMul(id, iBuilder->getInt32(8))); 180 Type * const inputStreamType = PointerType::get(ArrayType::get(ArrayType::get(iBuilder->getBitBlockType(), 8), 1), 1); 181 Value * inputStream = iBuilder->CreateBitCast(inputThreadPtr, inputStreamType); 179 Type * const inputStreamType = PointerType::get(ArrayType::get(ArrayType::get(iBuilder->getBitBlockType(), 8), 1), 1); 180 Value * inputStreamPtr = iBuilder->CreateBitCast(inputPtr, inputStreamType); 181 Value * inputStream = iBuilder->CreateGEP(inputStreamPtr, id); 182 182 183 Value * bufferSize = iBuilder->CreateLoad(bufferSizePtr); 183 184 if (CountOnly){ … … 187 188 } 188 189 else { 189 Value * outputThreadPtr = iBuilder->CreateGEP(outputPtr, iBuilder->CreateMul(id, iBuilder->getInt32(2)));190 190 Type * const outputStremType = PointerType::get(ArrayType::get(iBuilder->getBitBlockType(), 2), 1); 191 Value * outputStream = iBuilder->CreateBitCast(outputThreadPtr, outputStremType); 191 Value * outputStreamPtr = iBuilder->CreateBitCast(outputPtr, outputStremType); 192 Value * outputStream = iBuilder->CreateGEP(outputStreamPtr, id); 192 193 iBuilder->CreateCall(mainFunc, {inputStream, bufferSize, outputStream}); 193 194 } … … 234 235 bool CPU_Only = true; 235 236 LLVMContext TheContext; 236 Module * cpuM = new Module(moduleName+":cpu", TheContext); 237 IDISA::IDISA_Builder * CPUBuilder = IDISA::GetIDISA_Builder(cpuM); 238 Module * M = cpuM; 239 IDISA::IDISA_Builder * iBuilder = CPUBuilder; 237 Module * M = nullptr; 238 IDISA::IDISA_Builder * iBuilder = nullptr; 240 239 241 240 #ifdef CUDA_ENABLED … … 250 249 addrSpace = 1; 251 250 CPU_Only = false; 251 codegen::BlockSize = 64; 252 252 } 253 253 #endif 254 255 Module * cpuM = new Module(moduleName+":cpu", TheContext); 256 IDISA::IDISA_Builder * CPUBuilder = IDISA::GetIDISA_Builder(cpuM); 257 258 if(CPU_Only) { 259 M = cpuM; 260 iBuilder = CPUBuilder; 261 } 254 262 255 263 const unsigned segmentSize = codegen::SegmentSize;
Note: See TracChangeset
for help on using the changeset viewer.