From 07f5f11da3910884f148bb9b28824092ade50587 Mon Sep 17 00:00:00 2001 From: Benjamin Segovia Date: Mon, 8 Oct 2012 14:50:47 +0000 Subject: [PATCH] Fixed issue with flag register encoding in instruction scheduling --- backend/CMakeLists.txt | 11 +---------- backend/src/CMakeLists.txt | 17 ----------------- backend/src/backend/gen_insn_scheduling.cpp | 5 +++-- 3 files changed, 4 insertions(+), 29 deletions(-) diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt index c377e57..74d8cf5 100644 --- a/backend/CMakeLists.txt +++ b/backend/CMakeLists.txt @@ -10,7 +10,6 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${GBE_CMAKE_DIR}") ############################################################## set (GBE_DEBUG_MEMORY false CACHE bool "Activate the memory debugger") -set (GBE_COMPILE_UTESTS false CACHE bool "Will compile the unit tests") set (GBE_USE_BLOB false CACHE bool "Compile everything from one big file") ############################################################## @@ -33,16 +32,8 @@ else (GBE_DEBUG_MEMORY) set (GBE_DEBUG_MEMORY_FLAG "-DGBE_DEBUG_MEMORY=0") endif (GBE_DEBUG_MEMORY) -if (GBE_COMPILE_UTESTS) - set (GBE_COMPILE_UTESTS_FLAG "-DGBE_COMPILE_UTESTS=1") -else (GBE_COMPILE_UTESTS) - set (GBE_COMPILE_UTESTS_FLAG "-DGBE_COMPILE_UTESTS=0") -endif (GBE_COMPILE_UTESTS) - # Hide all symbols and allows the symbols declared as visible to be exported -if (NOT GBE_COMPILE_UTESTS) - set (CMAKE_C_CXX_FLAGS "-fvisibility=hidden") -endif (NOT GBE_COMPILE_UTESTS) +set (CMAKE_C_CXX_FLAGS "-fvisibility=hidden") if (COMPILER STREQUAL "GCC") set (CMAKE_C_CXX_FLAGS "${CMAKE_C_CXX_FLAGS} -funroll-loops -Wstrict-aliasing=2 -fstrict-aliasing -msse2 -msse3 -mssse3 -msse4.1 -ffast-math -fPIC -Wall") diff --git a/backend/src/CMakeLists.txt b/backend/src/CMakeLists.txt index 1bcac38..353159f 100644 --- a/backend/src/CMakeLists.txt +++ b/backend/src/CMakeLists.txt @@ -103,17 +103,6 @@ else (GBE_USE_BLOB) endif (GBE_USE_BLOB) -if (GBE_COMPILE_UTESTS) - set (GBE_SRC - ${GBE_SRC} - utest/utest_vector.cpp - utest/utest_llvm.cpp - utest/utest_test_utest.cpp - utest/utest_context.cpp - utest/utest.cpp - utest/utest.hpp) -endif (GBE_COMPILE_UTESTS) - include_directories (.) link_directories (${LLVM_LIBRARY_DIRS}) add_library (gbe SHARED ${GBE_SRC}) @@ -132,12 +121,6 @@ target_link_libraries (gbe LLVMAsmParser LLVMBitReader) -if (GBE_COMPILE_UTESTS) - set (TESTER_SRC utest/tester.cpp) - add_executable (tester utest/tester.cpp) - target_link_libraries (tester gbe) -endif (GBE_COMPILE_UTESTS) - install (TARGETS gbe LIBRARY DESTINATION lib) install (FILES backend/program.h backend/sim/simulator.h DESTINATION include/gen) diff --git a/backend/src/backend/gen_insn_scheduling.cpp b/backend/src/backend/gen_insn_scheduling.cpp index 29361b1..d207a1f 100644 --- a/backend/src/backend/gen_insn_scheduling.cpp +++ b/backend/src/backend/gen_insn_scheduling.cpp @@ -225,8 +225,9 @@ namespace gbe const uint32_t file = reg.nr & 0xf0; const uint32_t nr = reg.nr & 0x0f; if (file == GEN_ARF_FLAG) { - GBE_ASSERT(nr < MAX_FLAG_REGISTER && (reg.subnr == 0 || reg.subnr == 1)); - return virtualNum + 2*nr + reg.subnr; + const uint32_t subnr = reg.subnr / sizeof(uint16_t); + GBE_ASSERT(nr < MAX_FLAG_REGISTER && (subnr == 0 || subnr == 1)); + return virtualNum + 2*nr + subnr; } else if (file == GEN_ARF_ACCUMULATOR) { GBE_ASSERT(nr < MAX_ACC_REGISTER); return virtualNum + MAX_FLAG_REGISTER + nr; -- 2.7.4