目次
文書の過去の版を表示しています。
VideoCore IV GPU で OpenCL
ビルド依存パッケージのインストール
$ sudo apt update && sudo apt upgrade
Hit:1 https://dietpi.com/apt bookworm InRelease Hit:2 https://dietpi.com/apt all InRelease Get:3 http://raspbian.raspberrypi.com/raspbian bookworm InRelease [15.0 kB] Get:4 https://archive.raspberrypi.com/debian bookworm InRelease [23.6 kB] Get:5 http://raspbian.raspberrypi.com/raspbian bookworm/main Sources [13.7 MB] Get:6 https://archive.raspberrypi.com/debian bookworm/main armhf Packages [392 kB] Get:7 https://archive.raspberrypi.com/debian bookworm/main armhf Contents (deb) [2,994 kB] Get:8 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf Packages [14.5 MB] Fetched 31.7 MB in 1min 48s (292 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install cmake git
Reading package lists... Done Building dependency tree... Done Reading state information... Done cmake is already the newest version (3.25.1-1). git is already the newest version (1:2.39.2-1.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install opencl-headers
Reading package lists... Done Building dependency tree... Done Reading state information... Done opencl-headers is already the newest version (3.0~2023.02.06-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install ocl-icd-opencl-dev ocl-icd-dev
Reading package lists... Done Building dependency tree... Done Reading state information... Done ocl-icd-opencl-dev is already the newest version (2.3.1-1). ocl-icd-dev is already the newest version (2.3.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install libraspberrypi-dev
Reading package lists... Done Building dependency tree... Done Reading state information... Done libraspberrypi-dev is already the newest version (1:2+git20231018~131943+3c97f76-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install clang-14 clang-format-14 clang-tidy-14
Reading package lists... Done Building dependency tree... Done Reading state information... Done clang-14 is already the newest version (1:14.0.6-12+rpi1). clang-14 set to manually installed. clang-format-14 is already the newest version (1:14.0.6-12+rpi1). clang-format-14 set to manually installed. clang-tidy-14 is already the newest version (1:14.0.6-12+rpi1). clang-tidy-14 set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install llvm-14 libllvm14 llvm-14-dev libllvmspirvlib-14-dev libllvmspirvlib14
Reading package lists... Done Building dependency tree... Done Reading state information... Done llvm-14 is already the newest version (1:14.0.6-12+rpi1). libllvm14 is already the newest version (1:14.0.6-12+rpi1). libllvmspirvlib-14-dev is already the newest version (14.0.0-5+rpi1). libllvmspirvlib14 is already the newest version (14.0.0-5+rpi1). The following additional packages will be installed: libz3-dev llvm-14-tools python3-pygments Suggested packages: python-pygments-doc ttf-bitstream-vera The following NEW packages will be installed: libz3-dev llvm-14-dev llvm-14-tools python3-pygments 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 35.1 MB of archives. After this operation, 252 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ftp.udx.icscoe.jp/Linux/raspbian/raspbian bookworm/main armhf libz3-dev armhf 4.8.12-3.1 [90.6 kB] Get:2 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf python3-pygments all 2.14.0+dfsg-1 [783 kB] Get:3 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf llvm-14-tools armhf 1:14.0.6-12+rpi1 [361 kB] Get:4 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf llvm-14-dev armhf 1:14.0.6-12+rpi1 [33.9 MB] Fetched 35.1 MB in 2min 29s (236 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libz3-dev:armhf. (Reading database ... 141885 files and directories currently installed.) Preparing to unpack .../libz3-dev_4.8.12-3.1_armhf.deb ... Unpacking libz3-dev:armhf (4.8.12-3.1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../python3-pygments_2.14.0+dfsg-1_all.deb ... Unpacking python3-pygments (2.14.0+dfsg-1) ... Selecting previously unselected package llvm-14-tools. Preparing to unpack .../llvm-14-tools_1%3a14.0.6-12+rpi1_armhf.deb ... Unpacking llvm-14-tools (1:14.0.6-12+rpi1) ... Selecting previously unselected package llvm-14-dev. Preparing to unpack .../llvm-14-dev_1%3a14.0.6-12+rpi1_armhf.deb ... Unpacking llvm-14-dev (1:14.0.6-12+rpi1) ... Setting up libz3-dev:armhf (4.8.12-3.1) ... Setting up python3-pygments (2.14.0+dfsg-1) ... Setting up llvm-14-tools (1:14.0.6-12+rpi1) ... Setting up llvm-14-dev (1:14.0.6-12+rpi1) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u4) ...
$ sudo apt install clinfo
Reading package lists... Done Building dependency tree... Done Reading state information... Done clinfo is already the newest version (3.0.23.01.25-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 14
update-alternatives: using /usr/bin/clang-14 to provide /usr/bin/clang (clang) in auto mode
$ sudo update-alternatives --config clang
There is 1 choice for the alternative clang (providing /usr/bin/clang). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/clang-14 14 auto mode 1 /usr/bin/clang-14 14 manual mode Press <enter> to keep the current choice[*], or type selection number:
$ clang --version
Raspbian clang version 14.0.6 Target: arm-unknown-linux-gnueabihf Thread model: posix InstalledDir: /usr/bin
$ sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-14 14
update-alternatives: using /usr/bin/clang-format-14 to provide /usr/bin/clang-format (clang-format) in auto mode
$ sudo update-alternatives --config clang-format
There is 1 choice for the alternative clang-format (providing /usr/bin/clang-format). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/clang-format-14 14 auto mode 1 /usr/bin/clang-format-14 14 manual mode Press <enter> to keep the current choice[*], or type selection number:
$ clang-format --version
Raspbian clang-format version 14.0.6
$ sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 14
update-alternatives: using /usr/bin/llvm-config-14 to provide /usr/bin/llvm-config (llvm-config) in auto mode
$ sudo update-alternatives --config llvm-config
There is 1 choice for the alternative llvm-config (providing /usr/bin/llvm-config). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/llvm-config-14 14 auto mode 1 /usr/bin/llvm-config-14 14 manual mode Press <enter> to keep the current choice[*], or type selection number:
$ llvm-config --version
14.0.6
ソースコードからビルドする...🤔
ソースコードの clone …🤔
$ mkdir opencl && cd opencl $ git clone --depth 1 https://github.com/doe300/VC4CLStdLib.git
Cloning into 'VC4CLStdLib'... remote: Enumerating objects: 38, done. remote: Counting objects: 100% (38/38), done. remote: Compressing objects: 100% (38/38), done. remote: Total 38 (delta 1), reused 14 (delta 0), pack-reused 0 Receiving objects: 100% (38/38), 151.65 KiB | 404.00 KiB/s, done. Resolving deltas: 100% (1/1), done.
$ git clone https://github.com/doe300/VC4C.git
Cloning into 'VC4C'... remote: Enumerating objects: 14476, done. remote: Counting objects: 100% (3209/3209), done. remote: Compressing objects: 100% (577/577), done. remote: Total 14476 (delta 2626), reused 3192 (delta 2616), pack-reused 11267 Receiving objects: 100% (14476/14476), 26.52 MiB | 369.00 KiB/s, done. Resolving deltas: 100% (11603/11603), done. Updating files: 100% (1607/1607), done.
$ git clone https://github.com/doe300/VC4CL.git
Cloning into 'VC4CL'... remote: Enumerating objects: 2119, done. remote: Counting objects: 100% (118/118), done. remote: Compressing objects: 100% (83/83), done. remote: Total 2119 (delta 40), reused 39 (delta 35), pack-reused 2001 Receiving objects: 100% (2119/2119), 1.05 MiB | 254.00 KiB/s, done. Resolving deltas: 100% (1657/1657), done.
VC4CLStdLib のビルド & インストール
$ cd VC4CLStdLib $ mkdir build && cd build $ cmake ..
-- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- build deb package... -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4CLStdLib/build
$ make
[100%] Linking C static library libVC4CLStdLib.a [100%] Built target VC4CLStdLib
$ sudo make install && sudo ldconfig
[100%] Built target VC4CLStdLib Install the project... -- Install configuration: "" -- Installing: /usr/local/include/vc4cl-stdlib -- Installing: /usr/local/include/vc4cl-stdlib/_atomics.h -- Installing: /usr/local/include/vc4cl-stdlib/opencl-c.h -- Installing: /usr/local/include/vc4cl-stdlib/_integer.h -- Installing: /usr/local/include/vc4cl-stdlib/defines.h -- Installing: /usr/local/include/vc4cl-stdlib/_printf.h -- Installing: /usr/local/include/vc4cl-stdlib/_spir_mangling.h -- Installing: /usr/local/include/vc4cl-stdlib/_config.h -- Installing: /usr/local/include/vc4cl-stdlib/_relational.h -- Installing: /usr/local/include/vc4cl-stdlib/_common.h -- Installing: /usr/local/include/vc4cl-stdlib/_work_items.h -- Installing: /usr/local/include/vc4cl-stdlib/_extensions.h -- Installing: /usr/local/include/vc4cl-stdlib/_geometric.h -- Installing: /usr/local/include/vc4cl-stdlib/_images.h -- Installing: /usr/local/include/vc4cl-stdlib/_overloads.h -- Installing: /usr/local/include/vc4cl-stdlib/_math.h -- Installing: /usr/local/include/vc4cl-stdlib/_vector.h -- Installing: /usr/local/include/vc4cl-stdlib/_intrinsics.h -- Installing: /usr/local/include/vc4cl-stdlib/_synchronization.h -- Installing: /usr/local/include/vc4cl-stdlib/_conversions.h -- Installing: /usr/local/include/vc4cl-stdlib/_clcxx_mangling.h -- Installing: /usr/local/include/vc4cl-stdlib/_float_float.h -- Installing: /usr/local/include/vc4cl-stdlib/_async.h -- Installing: /usr/local/include/vc4cl-stdlib/VC4CLStdLib.h
VC4C のビルド & インストール
$ cd ../../VC4C $ mkdir build && cd build $ cmake ..
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_policy): The OLD behavior for policy CMP0026 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. -- VC4CL standard library headers found: /home/dietpi/opencl/VC4C/../VC4CLStdLib/include/ -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Using CMake 3.14+ FetchContent to include dependencies... -- CLang compiler found: /usr/bin/clang -- LLVM-dis found: /usr/bin/llvm-dis-14 -- LLVM-as found: /usr/bin/llvm-as-14 -- LLVM-link found: /usr/bin/llvm-link-14 -- Performing Test HAVE_FFI_CALL -- Performing Test HAVE_FFI_CALL - Success -- Found FFI: /usr/lib/arm-linux-gnueabihf/libffi.so -- Performing Test Terminfo_LINKABLE -- Performing Test Terminfo_LINKABLE - Success -- Found Terminfo: /usr/lib/arm-linux-gnueabihf/libtinfo.so -- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.13") -- Found LibXml2: /usr/lib/arm-linux-gnueabihf/libxml2.so (found version "2.9.14") -- Compiling LLVM library front-end with LLVM in version 14.0.6 located in '/usr/lib/llvm-14/lib' -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- found clang-format: /usr/bin/clang-format -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build
$ make
[ 1%] Creating directories for 'cpplog-project' [ 1%] Performing download step (git clone) for 'cpplog-project' Cloning into 'cpplog-project'... Already on 'master' Your branch is up to date with 'origin/master'. [ 2%] Performing update step for 'cpplog-project' From https://github.com/doe300/cpplog * branch HEAD -> FETCH_HEAD Already up to date. [ 2%] No patch step for 'cpplog-project' [ 2%] Performing configure step for 'cpplog-project' -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpplog/src/cpplog-project-build [ 3%] Performing build step for 'cpplog-project' [ 12%] Building CXX object CMakeFiles/cpplog.dir/src/log.cpp.o [ 25%] Building CXX object CMakeFiles/cpplog.dir/src/logger.cpp.o [ 37%] Building CXX object CMakeFiles/cpplog.dir/src/log_impl.cpp.o [ 50%] Linking CXX shared library libcpplog.so [ 50%] Built target cpplog [ 62%] Building CXX object CMakeFiles/cpplog-static.dir/src/log.cpp.o [ 75%] Building CXX object CMakeFiles/cpplog-static.dir/src/logger.cpp.o [ 87%] Building CXX object CMakeFiles/cpplog-static.dir/src/log_impl.cpp.o [100%] Linking CXX static library libcpplog-static.a [100%] Built target cpplog-static [ 3%] Built target cpplog-project-build [ 4%] Building CXX object src/CMakeFiles/VC4CC.dir/BasicBlock.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 4%] Building CXX object src/CMakeFiles/VC4CC.dir/CompilationError.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 5%] Building CXX object src/CMakeFiles/VC4CC.dir/Compiler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 5%] Building CXX object src/CMakeFiles/VC4CC.dir/Disassembler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 6%] Building CXX object src/CMakeFiles/VC4CC.dir/Expression.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 6%] Building CXX object src/CMakeFiles/VC4CC.dir/GlobalValues.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 6%] Building CXX object src/CMakeFiles/VC4CC.dir/HalfType.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 7%] Building CXX object src/CMakeFiles/VC4CC.dir/InstructionWalker.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 7%] Building CXX object src/CMakeFiles/VC4CC.dir/Locals.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 8%] Building CXX object src/CMakeFiles/VC4CC.dir/Method.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 8%] Building CXX object src/CMakeFiles/VC4CC.dir/Module.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 9%] Building CXX object src/CMakeFiles/VC4CC.dir/ProcessUtil.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 9%] Building CXX object src/CMakeFiles/VC4CC.dir/Profiler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 9%] Building CXX object src/CMakeFiles/VC4CC.dir/Register.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 10%] Building CXX object src/CMakeFiles/VC4CC.dir/signals.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 10%] Building CXX object src/CMakeFiles/VC4CC.dir/SIMDVector.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 11%] Building CXX object src/CMakeFiles/VC4CC.dir/ThreadPool.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 11%] Building CXX object src/CMakeFiles/VC4CC.dir/Types.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 11%] Building CXX object src/CMakeFiles/VC4CC.dir/Values.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 12%] Building CXX object src/CMakeFiles/VC4CC.dir/shared/BinaryHeader.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 12%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/AvailableExpressionAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 13%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/ControlFlowGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 13%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/ControlFlowLoop.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 14%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/DataDependencyGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 14%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/DebugGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 14%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/DependencyGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 15%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/DominatorTree.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 15%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/FlagsAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 17%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/InterferenceGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 17%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/LivenessAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 18%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/MemoryAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 18%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/PatternMatching.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 18%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/RegisterAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 19%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/ValueRange.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 19%] Building CXX object src/CMakeFiles/VC4CC.dir/analysis/WorkItemAnalysis.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 20%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/ALUInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 20%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/BranchInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 21%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/CodeGenerator.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 21%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/GraphColoring.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 21%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/Instruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 22%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/KernelInfo.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 22%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/LoadInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 23%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/OpCodes.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 23%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/RegisterFixes.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 23%] Building CXX object src/CMakeFiles/VC4CC.dir/asm/SemaphoreInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 24%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/Branching.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 24%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/Helper.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 25%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/Instruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 25%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/LoadImmediate.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 26%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/MemoryInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/src/intermediate/MemoryInstruction.cpp: In member function ‘vc4c::DataType vc4c::intermediate::MemoryInstruction::getSourceElementType(bool) const’: /home/dietpi/opencl/VC4C/src/intermediate/MemoryInstruction.cpp:136:39: warning: ‘vc4c::DataType vc4c::DataType::toArrayType(unsigned int) const’ is deprecated [-Wdeprecated-declarations] 136 | return elementType.toArrayType(getNumEntries().getLiteralValue()->unsignedInt()); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/dietpi/opencl/VC4C/src/intermediate/../Locals.h:12, from /home/dietpi/opencl/VC4C/src/intermediate/IntermediateInstruction.h:10, from /home/dietpi/opencl/VC4C/src/intermediate/MemoryInstruction.cpp:7: /home/dietpi/opencl/VC4C/src/intermediate/../Types.h:176:33: note: declared here 176 | [[deprecated]] DataType toArrayType(unsigned int numElements) const; | ^~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/MemoryInstruction.cpp: In member function ‘vc4c::DataType vc4c::intermediate::MemoryInstruction::getDestinationElementType(bool) const’: /home/dietpi/opencl/VC4C/src/intermediate/MemoryInstruction.cpp:174:39: warning: ‘vc4c::DataType vc4c::DataType::toArrayType(unsigned int) const’ is deprecated [-Wdeprecated-declarations] 174 | return elementType.toArrayType(getNumEntries().getLiteralValue()->unsignedInt()); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../Types.h:176:33: note: declared here 176 | [[deprecated]] DataType toArrayType(unsigned int numElements) const; | ^~~~~~~~~~~ [ 26%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/MethodCall.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 26%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/Operations.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 27%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/Synchronization.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 27%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/TypeConversions.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 28%] Building CXX object src/CMakeFiles/VC4CC.dir/intermediate/VectorHelper.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 28%] Building CXX object src/CMakeFiles/VC4CC.dir/intrinsics/Comparisons.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 29%] Building CXX object src/CMakeFiles/VC4CC.dir/intrinsics/Images.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 29%] Building CXX object src/CMakeFiles/VC4CC.dir/intrinsics/Intrinsics.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 29%] Building CXX object src/CMakeFiles/VC4CC.dir/intrinsics/Operators.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 30%] Building CXX object src/CMakeFiles/VC4CC.dir/intrinsics/WorkItems.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 30%] Building CXX object src/CMakeFiles/VC4CC.dir/llvm/BitcodeReader.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘void vc4c::llvm2qasm::BitcodeReader::extractKernelMetadata(vc4c::Module&, vc4c::Method&, const llvm::Function&)’: /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp:125:13: warning: unused variable ‘metadata’ [-Wunused-variable] 125 | if(auto metadata = func.getMetadata("kernel_arg_access_qual")) | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp:150:13: warning: unused variable ‘metadata’ [-Wunused-variable] 150 | if(auto metadata = func.getMetadata("kernel_arg_base_type")) | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘void vc4c::llvm2qasm::BitcodeReader::parseInstruction(vc4c::Module&, vc4c::Method&, vc4c::llvm2qasm::LLVMInstructionList&, const llvm::Instruction&)’: /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp:937:50: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘unsigned int’ may change value [-Wconversion] 937 | unsigned alignment = alloca->getAlignment(); | ~~~~~~~~~~~~~~~~~~~~^~ /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp: In member function ‘vc4c::Value vc4c::llvm2qasm::BitcodeReader::toConstant(vc4c::Module&, const llvm::Value*, vc4c::Method*, vc4c::llvm2qasm::LLVMInstructionList*)’: /home/dietpi/opencl/VC4C/src/llvm/BitcodeReader.cpp:1424:18: warning: unused variable ‘constant’ [-Wunused-variable] 1424 | else if(auto constant = llvm::dyn_cast<const llvm::ConstantAggregateZero>(val)) | ^~~~~~~~ [ 31%] Building CXX object src/CMakeFiles/VC4CC.dir/llvm/LLVMInstruction.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 31%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/AddressCalculation.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 32%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/Inliner.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 32%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/LiteralValues.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 32%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/LongOperations.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 34%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/MemoryAccess.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 34%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/MemoryMapChecks.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp: In function ‘vc4c::Optional<vc4c::Value> vc4c::normalization::getConstantElementValue(const vc4c::Value&)’: /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp:99:17: warning: unused variable ‘reg’ [-Wunused-variable] 99 | if(auto reg = container->checkRegister()) | ^~~ /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp: In function ‘vc4c::Optional<vc4c::DataType> convertSmallArrayToRegister(const vc4c::Local*)’: /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp:131:17: warning: unused variable ‘pointerType’ [-Wunused-variable] 131 | if(auto pointerType = baseType.getPointerType()) | ^~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp: In lambda function: /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp:158:21: warning: unused variable ‘memInst’ [-Wunused-variable] 158 | if(auto memInst = dynamic_cast<const MemoryInstruction*>(writer)) | ^~~~~~~ /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp: In lambda function: /home/dietpi/opencl/VC4C/src/normalization/MemoryMapChecks.cpp:165:21: warning: unused variable ‘memInst’ [-Wunused-variable] 165 | if(auto memInst = dynamic_cast<const MemoryInstruction*>(reader)) | ^~~~~~~ [ 35%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/MemoryMappings.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 35%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/Normalizer.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 36%] Building CXX object src/CMakeFiles/VC4CC.dir/normalization/Rewrite.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 36%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Combiner.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 36%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/ControlFlow.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 37%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Eliminator.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 37%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Flags.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 38%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Memory.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 38%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Optimizer.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 38%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Peephole.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 39%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Reordering.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 39%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/InstructionScheduler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 40%] Building CXX object src/CMakeFiles/VC4CC.dir/optimization/Vector.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 40%] Building CXX object src/CMakeFiles/VC4CC.dir/periphery/CacheEntry.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 41%] Building CXX object src/CMakeFiles/VC4CC.dir/periphery/RegisterLoweredMemory.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 41%] Building CXX object src/CMakeFiles/VC4CC.dir/periphery/SFU.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 41%] Building CXX object src/CMakeFiles/VC4CC.dir/periphery/TMU.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 42%] Building CXX object src/CMakeFiles/VC4CC.dir/periphery/VPM.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/src/periphery/VPM.cpp: In static member function ‘static vc4c::DataType vc4c::periphery::VPM::getVPMStorageType(vc4c::DataType)’: /home/dietpi/opencl/VC4C/src/periphery/VPM.cpp:1450:74: warning: ‘vc4c::DataType vc4c::DataType::toArrayType(unsigned int) const’ is deprecated [-Wdeprecated-declarations] 1450 | inVPMType = getVPMStorageType(arrayType->elementType).toArrayType(arrayType->size); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from /home/dietpi/opencl/VC4C/src/periphery/../intermediate/../Locals.h:12, from /home/dietpi/opencl/VC4C/src/periphery/../intermediate/IntermediateInstruction.h:10, from /home/dietpi/opencl/VC4C/src/periphery/../InstructionWalker.h:10, from /home/dietpi/opencl/VC4C/src/periphery/VPM.h:11, from /home/dietpi/opencl/VC4C/src/periphery/VPM.cpp:7: /home/dietpi/opencl/VC4C/src/periphery/../intermediate/../Types.h:176:33: note: declared here 176 | [[deprecated]] DataType toArrayType(unsigned int numElements) const; | ^~~~~~~~~~~ [ 42%] Building CXX object src/CMakeFiles/VC4CC.dir/precompilation/ClangLibrary.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 43%] Building CXX object src/CMakeFiles/VC4CC.dir/precompilation/FrontendCompiler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 43%] Building CXX object src/CMakeFiles/VC4CC.dir/precompilation/LLVMLibrary.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 44%] Building CXX object src/CMakeFiles/VC4CC.dir/precompilation/Precompiler.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 44%] Building CXX object src/CMakeFiles/VC4CC.dir/precompilation/TemporaryFile.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 44%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVBuiltins.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 45%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVHelper.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 45%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVLexer.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 46%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVOperation.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 46%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVParserBase.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 47%] Building CXX object src/CMakeFiles/VC4CC.dir/spirv/SPIRVToolsParser.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 47%] Building CXX object src/CMakeFiles/VC4CC.dir/tools/Emulator.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 47%] Building CXX object src/CMakeFiles/VC4CC.dir/tools/options.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 48%] Linking CXX shared library libVC4CC.so [ 48%] Built target VC4CC [ 48%] Built target GetGitCommit [ 48%] Building CXX object src/CMakeFiles/VC4C.dir/main.cpp.o [ 48%] Linking CXX executable vc4c VC4CL standard library precompiled into /home/dietpi/opencl/VC4C/../VC4CLStdLib/include/ [ 48%] Built target VC4C [ 48%] Building CXX object tools/CMakeFiles/qpu_emulator.dir/emulator.cpp.o [ 50%] Linking CXX executable qpu_emulator [ 50%] Built target qpu_emulator [ 50%] Generating test_files/unaligned_memory_access.cl.o [ 51%] Generating test_files/OpenCV/transpose.cl.o [ 51%] Generating test_files/fibonacci.cl.o [ 51%] Generating test_files/hello_world.cl.o [ 52%] Generating test_files/hello_world_constant.cl.o [ 52%] Generating test_files/hello_world_vector.cl.o [ 53%] Generating test_files/histogram.cl.o [ 53%] Generating test_files/md5.cl.o [ 53%] Generating test_files/SHA-256.cl.o [ 54%] Generating test_files/test.cl.o [ 54%] Generating test_files/test_instructions.cl.o [ 55%] Generating test_files/test_prime.cl.o [ 55%] Generating test_files/test_async_copy.cl.o [ 56%] Generating test_files/test_atomic.cl.o [ 56%] Generating test_files/test_barrier.cl.o [ 56%] Generating test_files/test_branches.cl.o [ 57%] Generating test_files/test_conditional_address.cl.o [ 57%] Generating test_files/test_constant_load.cl.o [ 58%] Generating test_files/test_cross_group_access.cl.o [ 58%] Generating test_files/test_cts_regressions.cl.o [ 59%] Generating test_files/test_expect_assume.cl.o [ 59%] Generating test_files/test_hashes.cl.o [ 59%] Generating test_files/local_private_storage.cl.o [ 60%] Generating test_files/test_other.cl.o [ 60%] Generating test_files/test_sfu.cl.o [ 61%] Generating test_files/test_shuffle.cl.o [ 61%] Generating test_files/test_storage.cl.o [ 62%] Generating test_files/test_struct.cl.o [ 62%] Generating test_files/test_vector.cl.o [ 63%] Generating test_files/test_vectorization.cl.o [ 63%] Generating test_files/test_vpm_read.cl.o [ 64%] Generating test_files/test_vpm_write.cl.o [ 64%] Generating test_files/test_work_item.cl.o [ 64%] Generating test_files/bugs/30_local_memory.cl.o [ 65%] Generating test_files/bugs/33_floating_point_folding.cl.o [ 65%] Generating test_files/bugs/vc4cl_27_wrong_result.cl.o [ 67%] Generating test_files/bugs/54_invalid_results.cl.o [ 67%] Generating test_files/boost-compute/initial_reduce.cl.o [ 68%] Generating test_files/boost-compute/adjacent_find.cl.o [ 68%] Generating test_files/boost-compute/test_count.cl.o [ 68%] Generating test_files/boost-compute/test_extrema.cl.o [ 69%] Generating test_files/boost-compute/test_functional_popcount.cl.o [ 69%] Generating test_files/boost-compute/test_reduce.cl.o [ 70%] Generating test_files/boost-compute/test_insertion_sort.cl.o [ 70%] Generating test_files/boost-compute/test_merge.cl.o [ 71%] Generating test_files/boost-compute/test_transform2.cl.o [ 71%] Generating test_files/boost-compute/user_defined_types.cl.o [ 71%] Generating test_files/OpenCL-CTS/pointer_cast.cl.o [ 72%] Generating test_files/OpenCL-CTS/integer_add_sat.cl.o [ 72%] Generating test_files/OpenCL-CTS/sub_sat.cl.o [ 73%] Generating test_files/OpenCL-CTS/uchar_compare.cl.o [ 73%] Generating test_files/OpenCL-CTS/async_copy_global_to_local.cl.o [ 74%] Generating test_files/OpenCL-CTS/min_max_constant_args.cl.o [ 74%] Generating test_files/OpenCL-CTS/sub_buffers_read_write.cl.o [ 74%] Generating test_files/OpenCL-CTS/local_kernel_scope.cl.o [ 75%] Generating test_files/OpenCL-CTS/barrier.cl.o [ 75%] Generating test_files/OpenCL-CTS/clamp.cl.o [ 76%] Generating test_files/OpenCL-CTS/cross_product.cl.o [ 76%] Generating test_files/OpenCL-CTS/constant.cl.o [ 77%] Generating test_files/OpenCL-CTS/test_select.cl.o [ 77%] Generating test_files/BabelStream/OCLStream.cl.o [ 77%] Generating test_files/clNN/SpatialUpSamplingNearest.cl.o [ 78%] Generating test_files/deepCL/copy.cl.o [ 78%] Generating test_files/deepCL/inv.cl.o [ 79%] Generating test_files/deepCL/memset.cl.o [ 79%] Generating test_files/HandsOnOpenCL/matmul.cl.o [ 79%] Generating test_files/HandsOnOpenCL/pi_ocl.cl.o [ 80%] Generating test_files/NVIDIA/VectorAdd.cl.o [ 80%] Generating test_files/OpenCLIPP/Histogram.cl.o [ 81%] Generating test_files/pocl/test_structs_as_args.cl.o [ 81%] Generating test_files/rodinia/nearestNeighbor_kernel.cl.o [ 82%] Generating test_files/OpenCV/flip.cl.o [ 82%] Generating test_files/OpenCV/meanstddev.cl.o [ 82%] Generating test_files/OpenCV/normalize.cl.o [ 84%] Generating test_files.h [ 84%] Generating test_files/test_files.cpp [ 84%] Building CXX object test/CMakeFiles/TestData.dir/ArithmeticTests.cpp.o In file included from /home/dietpi/opencl/VC4C/test/ArithmeticTests.cpp:6: /home/dietpi/opencl/VC4C/test/TestEntries.h: In instantiation of ‘std::vector<_RealType> test_data::transform(const std::vector<T>&, const Func&) [with R = float; T = float; Func = registerTypeTests<float, int>(const std::string&)::<lambda(float)>]’: /home/dietpi/opencl/VC4C/test/ArithmeticTests.cpp:430:25: required from ‘void registerTypeTests(const std::string&) [with T = float; IntType = int; std::string = std::__cxx11::basic_string<char>]’ /home/dietpi/opencl/VC4C/test/ArithmeticTests.cpp:609:38: required from here /home/dietpi/opencl/VC4C/test/TestEntries.h:107:29: warning: conversion from ‘int’ to ‘__gnu_cxx::__alloc_traits<std::allocator<float>, float>::value_type’ {aka ‘float’} may change value [-Wconversion] 107 | result[i] = func(arg[i]); | ~~~~^~~~~~~~ [ 85%] Building CXX object test/CMakeFiles/TestData.dir/ConversionTests.cpp.o [ 85%] Building CXX object test/CMakeFiles/TestData.dir/FloatTests.cpp.o [ 85%] Building CXX object test/CMakeFiles/TestData.dir/IntegerTests.cpp.o [ 86%] Building CXX object test/CMakeFiles/TestData.dir/MathTests.cpp.o In file included from /home/dietpi/opencl/VC4C/test/MathTests.cpp:6: /home/dietpi/opencl/VC4C/test/TestEntries.h: In instantiation of ‘std::vector<_RealType> test_data::transform(const std::vector<T>&, const std::vector<U>&, const Func&) [with R = float; T = float; U = int; Func = std::function<float(float, float)>]’: /home/dietpi/opencl/VC4C/test/MathTests.cpp:376:67: required from here /home/dietpi/opencl/VC4C/test/TestEntries.h:119:29: warning: conversion from ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} to ‘float’ may change value [-Wconversion] 119 | result[i] = func(arg0[i], arg1[i]); | ~~~~^~~~~~~~~~~~~~~~~~ [ 86%] Building CXX object test/CMakeFiles/TestData.dir/MemoryTests.cpp.o [ 87%] Building CXX object test/CMakeFiles/TestData.dir/RelationalTests.cpp.o [ 87%] Building CXX object test/CMakeFiles/TestData.dir/VectorTests.cpp.o [ 88%] Building CXX object test/CMakeFiles/TestData.dir/TestData.cpp.o [ 88%] Building CXX object test/CMakeFiles/TestData.dir/test_files/test_files.cpp.o [ 88%] Linking CXX static library libvc4c_testdata.a [ 88%] Built target TestData [ 89%] Creating directories for 'cpptest-lite-project' [ 89%] Performing download step (git clone) for 'cpptest-lite-project' Cloning into 'cpptest-lite-project'... Already on 'master' Your branch is up to date with 'origin/master'. [ 90%] Performing update step for 'cpptest-lite-project' From https://github.com/doe300/cpptest-lite * branch HEAD -> FETCH_HEAD Already up to date. [ 90%] No patch step for 'cpptest-lite-project' [ 90%] Performing configure step for 'cpptest-lite-project' -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project-build [ 91%] Performing build step for 'cpptest-lite-project' [ 8%] Building CXX object CMakeFiles/cpptest-lite.dir/src/BDDSuite.cpp.o [ 16%] Building CXX object CMakeFiles/cpptest-lite.dir/src/CollectorOutput.cpp.o In file included from /usr/include/c++/12/vector:70, from /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/CollectorOutput.h:5, from /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/src/CollectorOutput.cpp:10: /usr/include/c++/12/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const unsigned int&}; _Tp = Test::CollectorOutput::SuiteInfo; _Alloc = std::allocator<Test::CollectorOutput::SuiteInfo>]’: /usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type ‘std::vector<Test::CollectorOutput::SuiteInfo>::iterator’ changed in GCC 7.1 439 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const unsigned int&}; _Tp = Test::CollectorOutput::SuiteInfo; _Alloc = std::allocator<Test::CollectorOutput::SuiteInfo>]’, inlined from ‘virtual void Test::CollectorOutput::initializeSuite(const std::string&, unsigned int)’ at /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/src/CollectorOutput.cpp:16:21: /usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<Test::CollectorOutput::SuiteInfo*, std::vector<Test::CollectorOutput::SuiteInfo> >’ changed in GCC 7.1 123 | _M_realloc_insert(end(), std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 25%] Building CXX object CMakeFiles/cpptest-lite.dir/src/CompilerOutput.cpp.o [ 33%] Building CXX object CMakeFiles/cpptest-lite.dir/src/ConsoleOutput.cpp.o [ 41%] Building CXX object CMakeFiles/cpptest-lite.dir/src/HTMLOutput.cpp.o [ 50%] Building CXX object CMakeFiles/cpptest-lite.dir/src/ParallelSuite.cpp.o [ 58%] Building CXX object CMakeFiles/cpptest-lite.dir/src/SynchronizedOutput.cpp.o [ 66%] Building CXX object CMakeFiles/cpptest-lite.dir/src/TestSuite.cpp.o [ 75%] Building CXX object CMakeFiles/cpptest-lite.dir/src/TestMain.cpp.o [ 83%] Building CXX object CMakeFiles/cpptest-lite.dir/src/TextOutput.cpp.o [ 91%] Building CXX object CMakeFiles/cpptest-lite.dir/src/XMLOutput.cpp.o [100%] Linking CXX shared library libcpptest-lite.so [100%] Built target cpptest-lite [ 91%] Built target cpptest-lite-project-build [ 92%] Building CXX object test/CMakeFiles/TestVC4C.dir/RegressionTest.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 92%] Building CXX object test/CMakeFiles/TestVC4C.dir/test.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 93%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestAnalyses.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/test/TestAnalyses.cpp: In member function ‘void TestAnalyses::testActiveWorkItems()’: /home/dietpi/opencl/VC4C/test/TestAnalyses.cpp:1514:14: warning: variable ‘numNodes’ set but not used [-Wunused-but-set-variable] 1514 | auto numNodes = cfg.getNodes().size(); | ^~~~~~~~ [ 93%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestCustomContainers.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition In file included from /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/asserts.h:3, from /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/cpptest.h:3, from /home/dietpi/opencl/VC4C/test/TestCustomContainers.h:10, from /home/dietpi/opencl/VC4C/test/TestCustomContainers.cpp:7: /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/comparisons.h: In instantiation of ‘bool Test::Comparisons::isSame(const T1&, const T2&) [with T1 = int; T2 = unsigned int]’: /home/dietpi/opencl/VC4C/test/TestCustomContainers.cpp:51:5: required from here /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/comparisons.h:78:37: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const unsigned int’ [-Wsign-compare] 78 | return val1 == val2; | ~~~~~^~~~~~~ [ 93%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestEmulator.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 94%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestExpressions.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 94%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestFrontends.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 95%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestGraph.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 95%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestInstructions.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition /home/dietpi/opencl/VC4C/test/TestInstructions.cpp: In member function ‘void TestInstructions::testOpCodeFlags()’: /home/dietpi/opencl/VC4C/test/TestInstructions.cpp:827:10: error: expected unqualified-id before numeric constant 827 | auto INT_MAX = Value(Literal(0x7FFFFFFFu), TYPE_INT32); | ^~~~~~~ In file included from /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/cpptest.h:3, from /home/dietpi/opencl/VC4C/test/TestInstructions.h:10, from /home/dietpi/opencl/VC4C/test/TestInstructions.cpp:7: /home/dietpi/opencl/VC4C/test/TestInstructions.cpp:837:36: error: no match for call to ‘(const vc4c::OpCode) (int, int)’ 837 | TEST_ASSERT(checkFlagSet(OP_ADD(INT_MAX, INT_MAX).second, FlagsMask::SIGNED_OVERFLOW)) | ~~~~~~^~~~~~~~~~~~~~~~~~ /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/asserts.h:21:22: note: in definition of macro ‘TEST_ASSERT’ 21 | if(false == (condition)) { \ | ^~~~~~~~~ In file included from /home/dietpi/opencl/VC4C/src/intermediate/IntermediateInstruction.h:13, from /home/dietpi/opencl/VC4C/src/InstructionWalker.h:10, from /home/dietpi/opencl/VC4C/src/BasicBlock.h:13, from /home/dietpi/opencl/VC4C/src/Method.h:10, from /home/dietpi/opencl/VC4C/src/Module.h:11, from /home/dietpi/opencl/VC4C/test/TestInstructions.cpp:16: /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:860:28: note: candidate: ‘vc4c::PrecalculatedValue vc4c::OpCode::operator()(const vc4c::Value&, const vc4c::Optional<vc4c::Value>&) const’ 860 | PrecalculatedValue operator()(const Value& firstOperand, const Optional<Value>& secondOperand) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:860:52: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::Value&’ 860 | PrecalculatedValue operator()(const Value& firstOperand, const Optional<Value>& secondOperand) const; | ~~~~~~~~~~~~~^~~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:861:28: note: candidate: ‘vc4c::PrecalculatedValue vc4c::OpCode::operator()(vc4c::Literal, vc4c::Literal, vc4c::DataType) const’ 861 | PrecalculatedValue operator()(Literal firstOperand, Literal secondOperand, DataType resultType) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:861:28: note: candidate expects 3 arguments, 2 provided /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:862:29: note: candidate: ‘vc4c::PrecalculatedVector vc4c::OpCode::operator()(const vc4c::SIMDVector&, const vc4c::SIMDVector&) const’ 862 | PrecalculatedVector operator()(const SIMDVector& firstOperand, const SIMDVector& secondOperand) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:862:58: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::SIMDVector&’ 862 | PrecalculatedVector operator()(const SIMDVector& firstOperand, const SIMDVector& secondOperand) const; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:863:30: note: candidate: ‘vc4c::analysis::ValueRange vc4c::OpCode::operator()(const vc4c::analysis::ValueRange&, const vc4c::analysis::ValueRange&) const’ 863 | analysis::ValueRange operator()( | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:864:41: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::analysis::ValueRange&’ 864 | const analysis::ValueRange& firstRange, const analysis::ValueRange& secondRange) const; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:865:27: note: candidate: ‘vc4c::OperationBitMasks vc4c::OpCode::operator()(vc4c::BitMask, vc4c::BitMask) const’ 865 | OperationBitMasks operator()(BitMask firstMask, BitMask secondMask) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:865:46: note: no known conversion for argument 1 from ‘int’ to ‘vc4c::BitMask’ 865 | OperationBitMasks operator()(BitMask firstMask, BitMask secondMask) const; | ~~~~~~~~^~~~~~~~~ /home/dietpi/opencl/VC4C/test/TestInstructions.cpp:980:36: error: no match for call to ‘(const vc4c::OpCode) (int, const vc4c::Value&)’ 980 | TEST_ASSERT(checkFlagSet(OP_SUB(INT_MAX, INT_MINUS_ONE).second, FlagsMask::SIGNED_OVERFLOW)) | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project/include/asserts.h:21:22: note: in definition of macro ‘TEST_ASSERT’ 21 | if(false == (condition)) { \ | ^~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:860:28: note: candidate: ‘vc4c::PrecalculatedValue vc4c::OpCode::operator()(const vc4c::Value&, const vc4c::Optional<vc4c::Value>&) const’ 860 | PrecalculatedValue operator()(const Value& firstOperand, const Optional<Value>& secondOperand) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:860:52: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::Value&’ 860 | PrecalculatedValue operator()(const Value& firstOperand, const Optional<Value>& secondOperand) const; | ~~~~~~~~~~~~~^~~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:861:28: note: candidate: ‘vc4c::PrecalculatedValue vc4c::OpCode::operator()(vc4c::Literal, vc4c::Literal, vc4c::DataType) const’ 861 | PrecalculatedValue operator()(Literal firstOperand, Literal secondOperand, DataType resultType) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:861:28: note: candidate expects 3 arguments, 2 provided /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:862:29: note: candidate: ‘vc4c::PrecalculatedVector vc4c::OpCode::operator()(const vc4c::SIMDVector&, const vc4c::SIMDVector&) const’ 862 | PrecalculatedVector operator()(const SIMDVector& firstOperand, const SIMDVector& secondOperand) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:862:58: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::SIMDVector&’ 862 | PrecalculatedVector operator()(const SIMDVector& firstOperand, const SIMDVector& secondOperand) const; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:863:30: note: candidate: ‘vc4c::analysis::ValueRange vc4c::OpCode::operator()(const vc4c::analysis::ValueRange&, const vc4c::analysis::ValueRange&) const’ 863 | analysis::ValueRange operator()( | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:864:41: note: no known conversion for argument 1 from ‘int’ to ‘const vc4c::analysis::ValueRange&’ 864 | const analysis::ValueRange& firstRange, const analysis::ValueRange& secondRange) const; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:865:27: note: candidate: ‘vc4c::OperationBitMasks vc4c::OpCode::operator()(vc4c::BitMask, vc4c::BitMask) const’ 865 | OperationBitMasks operator()(BitMask firstMask, BitMask secondMask) const; | ^~~~~~~~ /home/dietpi/opencl/VC4C/src/intermediate/../asm/OpCodes.h:865:46: note: no known conversion for argument 1 from ‘int’ to ‘vc4c::BitMask’ 865 | OperationBitMasks operator()(BitMask firstMask, BitMask secondMask) const; | ~~~~~~~~^~~~~~~~~ make[2]: *** [test/CMakeFiles/TestVC4C.dir/build.make:188: test/CMakeFiles/TestVC4C.dir/TestInstructions.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:525: test/CMakeFiles/TestVC4C.dir/all] Error 2 make: *** [Makefile:166: all] Error 2
$ git diff
diff --git a/test/TestInstructions.cpp b/test/TestInstructions.cpp index 75501e8..1329d0a 100644 --- a/test/TestInstructions.cpp +++ b/test/TestInstructions.cpp @@ -824,7 +824,7 @@ void TestInstructions::testOpCodeFlags() return false; }; - auto INT_MAX = Value(Literal(0x7FFFFFFFu), TYPE_INT32); + auto INT_MAX2 = Value(Literal(0x7FFFFFFFu), TYPE_INT32); auto FLOAT_MINUS_ONE = Value(Literal(-1.0f), TYPE_FLOAT); TEST_ASSERT(checkFlagClear(OP_ADD(INT_ONE, INT_ONE).second, FlagsMask::ZERO)) @@ -834,7 +834,7 @@ void TestInstructions::testOpCodeFlags() TEST_ASSERT(checkFlagSet(OP_ADD(INT_ONE, INT_MINUS_ONE).second, FlagsMask::ZERO)) TEST_ASSERT(checkFlagSet(OP_ADD(INT_MINUS_ONE, INT_MINUS_ONE).second, FlagsMask::NEGATIVE)) TEST_ASSERT(checkFlagSet(OP_ADD(INT_MINUS_ONE, INT_MINUS_ONE).second, FlagsMask::CARRY)) - TEST_ASSERT(checkFlagSet(OP_ADD(INT_MAX, INT_MAX).second, FlagsMask::SIGNED_OVERFLOW)) + TEST_ASSERT(checkFlagSet(OP_ADD(INT_MAX2, INT_MAX2).second, FlagsMask::SIGNED_OVERFLOW)) TEST_ASSERT(checkFlagClear(OP_AND(INT_ONE, INT_ONE).second, FlagsMask::ZERO)) TEST_ASSERT(checkFlagClear(OP_AND(INT_ONE, INT_ONE).second, FlagsMask::NEGATIVE)) @@ -977,7 +977,7 @@ void TestInstructions::testOpCodeFlags() TEST_ASSERT(checkFlagSet(OP_SUB(INT_ONE, INT_ONE).second, FlagsMask::ZERO)) TEST_ASSERT(checkFlagSet(OP_SUB(INT_MINUS_ONE, INT_ONE).second, FlagsMask::NEGATIVE)) TEST_ASSERT(checkFlagClear(OP_SUB(INT_MINUS_ONE, INT_ONE).second, FlagsMask::CARRY)) - TEST_ASSERT(checkFlagSet(OP_SUB(INT_MAX, INT_MINUS_ONE).second, FlagsMask::SIGNED_OVERFLOW)) + TEST_ASSERT(checkFlagSet(OP_SUB(INT_MAX2, INT_MINUS_ONE).second, FlagsMask::SIGNED_OVERFLOW)) TEST_ASSERT(checkFlagClear(OP_XOR(INT_ONE, INT_MINUS_ONE).second, FlagsMask::ZERO)) TEST_ASSERT(checkFlagClear(OP_XOR(INT_ONE, INT_ONE).second, FlagsMask::NEGATIVE))
$ make
[ 1%] Performing update step for 'cpplog-project' From https://github.com/doe300/cpplog * branch HEAD -> FETCH_HEAD Already up to date. [ 1%] No patch step for 'cpplog-project' [ 1%] Performing configure step for 'cpplog-project' -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpplog/src/cpplog-project-build [ 2%] Performing build step for 'cpplog-project' [ 50%] Built target cpplog [100%] Built target cpplog-static [ 3%] Built target cpplog-project-build [ 48%] Built target VC4CC [ 48%] Built target GetGitCommit [ 48%] Building CXX object src/CMakeFiles/VC4C.dir/main.cpp.o [ 48%] Linking CXX executable vc4c [ 48%] Built target VC4C [ 50%] Built target qpu_emulator [ 88%] Built target TestData [ 89%] Performing update step for 'cpptest-lite-project' From https://github.com/doe300/cpptest-lite * branch HEAD -> FETCH_HEAD Already up to date. [ 89%] No patch step for 'cpptest-lite-project' [ 89%] Performing configure step for 'cpptest-lite-project' -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project-build [ 90%] Performing build step for 'cpptest-lite-project' [100%] Built target cpptest-lite [ 91%] Built target cpptest-lite-project-build [ 91%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestInstructions.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 92%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestIntrinsics.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 92%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestMathFunctions.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 92%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestOperators.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 93%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestOptimizations.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 93%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestOptimizationSteps.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 94%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestPatternMatching.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 94%] Building CXX object test/CMakeFiles/TestVC4C.dir/TestRegisterFixes.cpp.o <command-line>: warning: "_GNU_SOURCE" redefined <command-line>: note: this is the location of the previous definition [ 95%] Linking CXX executable TestVC4C /usr/bin/ld: warning: transpose.cl.o: missing .note.GNU-stack section implies executable stack /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker [100%] Built target TestVC4C
$ sudo make install && sudo ldconfig
[ 1%] Performing update step for 'cpplog-project' From https://github.com/doe300/cpplog * branch HEAD -> FETCH_HEAD Already up to date. [ 1%] No patch step for 'cpplog-project' [ 1%] Performing configure step for 'cpplog-project' -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpplog/src/cpplog-project-build [ 2%] Performing build step for 'cpplog-project' [ 50%] Built target cpplog [100%] Built target cpplog-static [ 3%] Built target cpplog-project-build [ 48%] Built target VC4CC [ 48%] Built target GetGitCommit [ 48%] Building CXX object src/CMakeFiles/VC4C.dir/main.cpp.o [ 48%] Linking CXX executable vc4c [ 48%] Built target VC4C [ 50%] Built target qpu_emulator [ 88%] Built target TestData [ 89%] Performing update step for 'cpptest-lite-project' From https://github.com/doe300/cpptest-lite * branch HEAD -> FETCH_HEAD Already up to date. [ 89%] No patch step for 'cpptest-lite-project' [ 89%] Performing configure step for 'cpptest-lite-project' -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4C/build/cpptest-lite/src/cpptest-lite-project-build [ 90%] Performing build step for 'cpptest-lite-project' [100%] Built target cpptest-lite [ 91%] Built target cpptest-lite-project-build [100%] Built target TestVC4C Install the project... -- Install configuration: "Debug" -- Installing: /usr/local/lib/cmake/mpark_variant/mpark_variant-targets.cmake -- Installing: /usr/local/include/mpark -- Installing: /usr/local/include/mpark/variant.hpp -- Installing: /usr/local/include/mpark/lib.hpp -- Installing: /usr/local/include/mpark/in_place.hpp -- Installing: /usr/local/include/mpark/config.hpp -- Installing: /usr/local/lib/cmake/mpark_variant/mpark_variant-config.cmake -- Installing: /usr/local/lib/cmake/mpark_variant/mpark_variant-config-version.cmake -- Installing: /usr/local/lib/libVC4CC.so.0.4.9999 -- Installing: /usr/local/lib/libVC4CC.so.1.2 -- Set runtime path of "/usr/local/lib/libVC4CC.so.0.4.9999" to "/usr/local/lib" -- Installing: /usr/local/lib/libVC4CC.so -- Installing: /usr/local/bin/vc4c -- Set runtime path of "/usr/local/bin/vc4c" to "/usr/local/lib" -- Installing: /usr/local/share/vc4cc/VC4CC-targets.cmake -- Installing: /usr/local/share/vc4cc/VC4CC-targets-debug.cmake -- Installing: /usr/local/include/vc4cc -- Installing: /usr/local/include/vc4cc/CompilationError.h -- Installing: /usr/local/include/vc4cc/VC4C.h -- Installing: /usr/local/include/vc4cc/config.h -- Installing: /usr/local/include/vc4cc/Compiler.h -- Installing: /usr/local/include/vc4cc/Precompiler.h -- Installing: /usr/local/include/vc4cc/tools.h -- Installing: /usr/local/lib/libvc4c_testdata.a -- Installing: /usr/local/share/vc4cc/TestData-target.cmake -- Installing: /usr/local/share/vc4cc/TestData-target-debug.cmake -- Installing: /usr/local/include/vc4cc/TestData.h
VC4CL のビルド & インストール
$ cd ../../VC4CL $ mkdir build && cd build $ cmake -DBUILD_ICD=ON ..
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for CL_VERSION_3_0 -- Looking for CL_VERSION_3_0 - found -- Found OpenCL: /usr/lib/arm-linux-gnueabihf/libOpenCL.so (found version "3.0") -- Found headers for OpenCL up to version 3.0 located in /usr/include -- VC4C library found: /home/dietpi/opencl/VC4C/build/src/libVC4CC.so -- VC4C compiler header found at: /home/dietpi/opencl/VC4C/include/VC4C.h -- VC4C test data library found: /home/dietpi/opencl/VC4C/build/test/libvc4c_testdata.a -- VC4C test data header found: /home/dietpi/opencl/VC4C/build/test/TestData.h -- Building with ICD support -- Checking for one of the modules 'ocl-icd>=1.3' -- Found Khronos ICD Loader in version 2.3.1 in /usr/lib/arm-linux-gnueabihf -- Looking for clCreateProgramWithIL -- Looking for clCreateProgramWithIL - found -- Looking for wsyncup in /usr/lib/arm-linux-gnueabihf/libcurses.so -- Looking for wsyncup in /usr/lib/arm-linux-gnueabihf/libcurses.so - found -- Looking for cbreak in /usr/lib/arm-linux-gnueabihf/libncurses.so -- Looking for cbreak in /usr/lib/arm-linux-gnueabihf/libncurses.so - found -- Looking for nodelay in /usr/lib/arm-linux-gnueabihf/libncurses.so -- Looking for nodelay in /usr/lib/arm-linux-gnueabihf/libncurses.so - found -- Found Curses: /usr/lib/arm-linux-gnueabihf/libncurses.so -- vcsm library not found -- found clang-format: /usr/bin/clang-format -- Configuring done -- Generating done -- Build files have been written to: /home/dietpi/opencl/VC4CL/build
$ make