Changeset 4944 for icGREP


Ignore:
Timestamp:
Feb 27, 2016, 8:17:32 AM (3 years ago)
Author:
lindanl
Message:

64 bit version.

Location:
icGREP/icgrep-devel/icgrep
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/CMakeLists.txt

    r4942 r4944  
    1111if (BLOCK_SIZE_256)
    1212  message("-- Build with BLOCK_SIZE=256")
    13 else ()
     13elseif (NOT BLOCK_SIZE_64)
    1414  message("-- Build with BLOCK_SIZE=128")
    1515endif()
     16
     17option(BLOCK_SIZE_64 "Compiling with BLOCK_SIZE=64")
     18if (BLOCK_SIZE_64)
     19  message("-- Build with BLOCK_SIZE=64")
     20endif()
     21
    1622option(ENABLE_MULTIPLEXING "Compiling the Multiplexing Module")
    1723option(USE_BOOST_MMAP "Using mmap from Boost.Iostreams")
     
    6369
    6470SET(PABLO_SRC pablo/pabloAST.cpp pablo/ps_if.cpp pablo/ps_while.cpp pablo/function.cpp pablo/codegenstate.cpp pablo/builder.cpp pablo/symbol_generator.cpp pablo/printer_pablos.cpp)
    65 SET(PABLO_SRC ${PABLO_SRC} pablo/pablo_compiler.cpp pablo/carry_manager.cpp pablo/carry_data.cpp IDISA/idisa_builder.cpp IDISA/idisa_avx_builder.cpp IDISA/idisa_sse_builder.cpp kernels/s2p_kernel.cpp kernels/scanmatchgen.cpp kernels/kernel.cpp kernels/pipeline.cpp)
     71SET(PABLO_SRC ${PABLO_SRC} pablo/pablo_compiler.cpp pablo/carry_manager.cpp pablo/carry_data.cpp IDISA/idisa_builder.cpp IDISA/idisa_avx_builder.cpp IDISA/idisa_i64_builder.cpp IDISA/idisa_sse_builder.cpp kernels/s2p_kernel.cpp kernels/scanmatchgen.cpp kernels/kernel.cpp kernels/pipeline.cpp)
    6672SET(PABLO_SRC ${PABLO_SRC} pablo/analysis/pabloverifier.cpp)
    6773SET(PABLO_SRC ${PABLO_SRC} pablo/optimizers/pablo_simplifier.cpp pablo/optimizers/codemotionpass.cpp)
     
    319325        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_S2P_AVX2 -DBLOCK_SIZE=256 -march=core-avx2 -m64")
    320326    ENDIF()
     327ELSEIF(BLOCK_SIZE_64)
     328    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBLOCK_SIZE=64")
    321329ELSE ()
    322330    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBLOCK_SIZE=128")
    323331ENDIF()
     332
    324333
    325334IF (PRINT_TIMING_INFORMATION)   
  • icGREP/icgrep-devel/icgrep/icgrep.cpp

    r4939 r4944  
    165165    }
    166166   
    167     //engine->freeMachineCodeForFunction(icgrep_IR); // Removed in LLVM 3.6. MC will be automatically freed in destructors.
    168167    delete engine;
     168    delete idb;
    169169
    170170    return 0;
  • icGREP/icgrep-devel/icgrep/toolchain.cpp

    r4942 r4944  
    2424#include <IDISA/idisa_avx_builder.h>
    2525#include <IDISA/idisa_sse_builder.h>
     26#include <IDISA/idisa_i64_builder.h>
    2627#ifndef DISABLE_PREGENERATED_UCD_FUNCTIONS
    2728#include <UCD/precompiled_properties.h>
     
    218219        //std::cerr << "Generic IDISA_Builder selected\n";
    219220    }
     221#elif (BLOCK_SIZE == 64)
     222    return new IDISA::IDISA_I64_Builder(mod, bitBlockType);
    220223#else   
    221224    return new IDISA::IDISA_SSE2_Builder(mod, bitBlockType);
Note: See TracChangeset for help on using the changeset viewer.