Closed nomaddo closed 4 years ago
My program is the follows:
__kernel void add(__global uchar16 * a, const uchar16 c) { int x = get_local_id(0); a[x] += c; }
[~/VC4C/build] ./src/vc4c -O3 -S ../add.cl [D] Tue Feb 4 16:01:52 2020: Compiling '../add.cl' into '../add.cl.bin' with optimization level 3 and options '-S ' ... [D] Tue Feb 4 16:01:52 2020: Temporary file '/tmp/vc4c-KL57Xp' created [D] Tue Feb 4 16:01:52 2020: Could not access VC4CL standard-library file: /home/nomaddo/VC4C/../VC4CLStdLib/include//VC4CLStdLib.h.pch (No such file or directory) [D] Tue Feb 4 16:01:52 2020: Could not access VC4CL standard-library file: /usr/local/include/vc4cl-stdlib//VC4CLStdLib.h.pch (No such file or directory) [D] Tue Feb 4 16:01:52 2020: Could not access VC4CL standard-library file: /usr/include/vc4cl-stdlib//VC4CLStdLib.h.pch (No such file or directory) [D] Tue Feb 4 16:01:52 2020: Could not access VC4CL standard-library file: /home/nomaddo/.cache/vc4c/VC4CLStdLib.h.pch (No such file or directory) [D] Tue Feb 4 16:01:52 2020: Temporary file '/tmp/vc4c-uigOV4' created [I] Tue Feb 4 16:01:52 2020: Compiling OpenCL to LLVM-IR with: /usr/bin/clang -cc1 -triple spir-unknown-unknown -S -I .. -O3 -ffp-contract=off -cl-std=CL1.2 -cl-kernel-arg-info -cl-single-precision-constant -fgnu89-inline -Wno-undefined-inline -Wno-unused-parameter -Wno-unused-local-typedef -Wno-gcc-compat -finclude-default-header -include /home/nomaddo/VC4C/../VC4CLStdLib/include//defines.h -x cl -S -emit-llvm-bc -o /tmp/vc4c-uigOV4 ../add.cl [D] Tue Feb 4 16:01:52 2020: Temporary file '/tmp/vc4c-empty-sMrDkK' created [D] Tue Feb 4 16:01:52 2020: Compiling empty module to work around llvm-link bug/feature... [I] Tue Feb 4 16:01:52 2020: Compiling OpenCL to LLVM-IR with: /usr/bin/clang -cc1 -triple spir-unknown-unknown -O3 -ffp-contract=off -cl-std=CL1.2 -cl-kernel-arg-info -cl-single-precision-constant -fgnu89-inline -Wno-undefined-inline -Wno-unused-parameter -Wno-unused-local-typedef -Wno-gcc-compat -finclude-default-header -include /home/nomaddo/VC4C/../VC4CLStdLib/include//defines.h -x cl -S -emit-llvm-bc -o /tmp/vc4c-empty-sMrDkK - [I] Tue Feb 4 16:01:52 2020: Linking LLVM-IR modules with: /usr/bin/llvm-link-7 -only-needed -o=/tmp/vc4c-KL57Xp -override=/tmp/vc4c-empty-sMrDkK /tmp/vc4c-uigOV4 -override=/home/nomaddo/VC4C/../VC4CLStdLib/include//VC4CLStdLib.bc [D] Tue Feb 4 16:01:52 2020: Temporary file '/tmp/vc4c-uigOV4' deleted [I] Tue Feb 4 16:01:52 2020: Compilation complete! [I] Tue Feb 4 16:01:52 2020: Using LLVM module frontend... [D] Tue Feb 4 16:01:52 2020: Reading LLVM module from bit-code... [D] Tue Feb 4 16:01:52 2020: Found SPIR kernel-function: add [D] Tue Feb 4 16:01:52 2020: Reading function void add(...) [D] Tue Feb 4 16:01:52 2020: Reading parameter (g) <16 x i8>* %a [D] Tue Feb 4 16:01:52 2020: Reading parameter <16 x i8> %c [D] Tue Feb 4 16:01:52 2020: Reading function i32 _Z12get_local_idj(...) [D] Tue Feb 4 16:01:52 2020: Reading parameter i32 %dim [D] Tue Feb 4 16:01:52 2020: Mapping function '_Z12get_local_idj'... [D] Tue Feb 4 16:01:52 2020: Generating label label %entry [D] Tue Feb 4 16:01:52 2020: Generating immediate call to vc4cl_local_id -> i8 [D] Tue Feb 4 16:01:52 2020: Generating unary operation zext with i8 %call into i32 %conv [D] Tue Feb 4 16:01:52 2020: Generating return of i32 %conv [D] Tue Feb 4 16:01:52 2020: Mapping function 'add'... [D] Tue Feb 4 16:01:52 2020: Generating label label %entry [D] Tue Feb 4 16:01:52 2020: Generating immediate call to _Z12get_local_idj -> i32 [D] Tue Feb 4 16:01:52 2020: Generating calculating index i32 %call of (g) <16 x i8>* %a into (g) <16 x i8>* %arrayidx [D] Tue Feb 4 16:01:52 2020: Generating reading from (g) <16 x i8>* %arrayidx into <16 x i8> %tmp.0 [D] Tue Feb 4 16:01:52 2020: Generating binary operation add with <16 x i8> %tmp.0 and <16 x i8> %c into <16 x i8> %add [D] Tue Feb 4 16:01:52 2020: Generating writing of <16 x i8> %add into (g) <16 x i8>* %arrayidx [D] Tue Feb 4 16:01:52 2020: Generating return nothing [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminatePhiNodes [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminatePhiNodes [I] Tue Feb 4 16:01:52 2020: ----- [I] Tue Feb 4 16:01:52 2020: Inlining functions for kernel: add [D] Tue Feb 4 16:01:52 2020: Found method matching i32 _Z12get_local_idj with 1 arguments [D] Tue Feb 4 16:01:52 2020: Function body for i32 %call = i32 _Z12get_local_idj(i32 0) inlined, added 5 instructions [I] Tue Feb 4 16:01:52 2020: ----- [D] Tue Feb 4 16:01:52 2020: ----- [I] Tue Feb 4 16:01:52 2020: Running normalization passes for: add [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: Intrinsics [D] Tue Feb 4 16:01:52 2020: Intrinsifying reading of local work-item ids [D] Tue Feb 4 16:01:52 2020: Intrinsifying zero extension with and: i32 %call.%conv = zext i8 %call.%call [D] Tue Feb 4 16:01:52 2020: Intrinsifying multiplication with left-shift: i32 %index_offset.1 = mul i32 %call, i32 16 (nsw) [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateReturns [D] Tue Feb 4 16:01:52 2020: Replacing return in kernel-function with branch to end-label [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: HandleImmediates [D] Tue Feb 4 16:01:52 2020: Mapping constant for immediate value 0 to: 0 (0) [D] Tue Feb 4 16:01:52 2020: Loading immediate value: 255 [D] Tue Feb 4 16:01:52 2020: Mapping constant for immediate value 4 to: 4 (4) [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: PropagateGroupUniformValues [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: PropagateUnsigned [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: MapMemoryAccess [D] Tue Feb 4 16:01:52 2020: Determining memory access for kernel: add [D] Tue Feb 4 16:01:52 2020: Global parameter '(g) <16 x i8>* %a' which is written to will be stored in RAM and accessed via VPM [D] Tue Feb 4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: (g) <16 x i8>* %arrayidx = add (g) <16 x i8>* %a, i32 %index_offset.1 (unsigned nuw) [D] Tue Feb 4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11] [D] Tue Feb 4 16:01:52 2020: Found memory access range: store <16 x i8> %add into (g) <16 x i8>* %arrayidx (guarded) - write (g) <16 x i8>* %a with dynamic elements in range [0.000000, 11.000000] with element offset expression: v8min (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)), (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)) (unsigned) [D] Tue Feb 4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: (g) <16 x i8>* %arrayidx = add (g) <16 x i8>* %a, i32 %index_offset.1 (unsigned nuw) [D] Tue Feb 4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11] [D] Tue Feb 4 16:01:52 2020: Found memory access range: <16 x i8> %tmp.0 = load memory at (g) <16 x i8>* %arrayidx (guarded) - read (g) <16 x i8>* %a with dynamic elements in range [0.000000, 11.000000] with element offset expression: v8min (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)), (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)) (unsigned) [D] Tue Feb 4 16:01:52 2020: Parameter '(g) <16 x i8>* %a' will be mapped to: read-write memory access via VPM [D] Tue Feb 4 16:01:52 2020: Mapping access to memory located in RAM: store <16 x i8> %add into (g) <16 x i8>* %arrayidx (guarded) [D] Tue Feb 4 16:01:52 2020: Mapping access to memory located in RAM: <16 x i8> %tmp.0 = load memory at (g) <16 x i8>* %arrayidx (guarded) [D] Tue Feb 4 16:01:52 2020: VPM usage: 1 of 64 rows: [D] Tue Feb 4 16:01:52 2020: |s| | [D] Tue Feb 4 16:01:52 2020: Found base address - with offset -1 for reading from memory [D] Tue Feb 4 16:01:52 2020: Found base address - with offset -1 for writing into memory [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: ResolveStackAllocations [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: MapGlobalDataToAddress [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: HandleLiteralVector [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CheckNormalized [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: AddStartStopSegment [I] Tue Feb 4 16:01:52 2020: [I] Tue Feb 4 16:01:52 2020: Normalization done, changed number of instructions from 13 to 67 [D] Tue Feb 4 16:01:52 2020: ----- [D] Tue Feb 4 16:01:52 2020: ----- [I] Tue Feb 4 16:01:52 2020: Running optimization passes for: add [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: AddWorkGroupLoops [D] Tue Feb 4 16:01:52 2020: Wrapping kernel add in a work-group loop... [D] Tue Feb 4 16:01:52 2020: Moving group ID initializers out of work-group-loop... [D] Tue Feb 4 16:01:52 2020: Resetting branch to last block to jump to first work-group repetition block instead: br %end_of_function [D] Tue Feb 4 16:01:52 2020: Inserting repetition block for: i32 %group_id_x [D] Tue Feb 4 16:01:52 2020: Inserting repetition block for: i32 %group_id_y [D] Tue Feb 4 16:01:52 2020: Inserting repetition block for: i32 %group_id_z [D] Tue Feb 4 16:01:52 2020: Adjusting kernel metadata... [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: ReorderBasicBlocks [D] Tue Feb 4 16:01:52 2020: CFG created/updated for function: add [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: SimplifyConditionalBlocks [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: SimplifyBranches [D] Tue Feb 4 16:01:52 2020: Removing branch to next instruction: br %work_group_repetition [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: MergeBasicBlocks [D] Tue Feb 4 16:01:52 2020: Found basic block with single direct successor: block %start_of_function and block %entry [D] Tue Feb 4 16:01:52 2020: Found basic block with single direct successor: block %entry and block %call.%entry [D] Tue Feb 4 16:01:52 2020: Found basic block with single direct successor: block %call.%entry and block %call.after [D] Tue Feb 4 16:01:52 2020: Found basic block with single direct successor: block %call.after and block %work_group_repetition [D] Tue Feb 4 16:01:52 2020: Found basic block with single direct successor: block %work_group_repetition and block %repeat_group_id_x [D] Tue Feb 4 16:01:52 2020: Removing basic block 'block %entry' from function add [D] Tue Feb 4 16:01:52 2020: Merged block label %entry into label %start_of_function [D] Tue Feb 4 16:01:52 2020: Removing basic block 'block %call.%entry' from function add [D] Tue Feb 4 16:01:52 2020: Merged block label %call.%entry into label %entry [D] Tue Feb 4 16:01:52 2020: Removing basic block 'block %call.after' from function add [D] Tue Feb 4 16:01:52 2020: Merged block label %call.after into label %call.%entry [D] Tue Feb 4 16:01:52 2020: Removing basic block 'block %work_group_repetition' from function add [D] Tue Feb 4 16:01:52 2020: Merged block label %work_group_repetition into label %call.after [D] Tue Feb 4 16:01:52 2020: Removing basic block 'block %repeat_group_id_x' from function add [D] Tue Feb 4 16:01:52 2020: Merged block label %repeat_group_id_x into label %work_group_repetition [D] Tue Feb 4 16:01:52 2020: Merged 5 pair of blocks! [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: VectorizeLoops [D] Tue Feb 4 16:01:52 2020: Running optimization iteration 0... [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: SingleSteps [D] Tue Feb 4 16:01:52 2020: Running steps: CombineSelectionWithZero, CombineSettingSameFlags, CombineSettingFlagsWithOutput, FoldConstants, SimplifyArithmetics, CombineArithmetics, RewriteConstantSFU, [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CombineRotations [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateMoves [D] Tue Feb 4 16:01:52 2020: Replacing obsolete move with instruction calculating its source: register vpm = <16 x i8> %add [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CommonSubexpressionElimination [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateBitOperations [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: PropagateMoves [D] Tue Feb 4 16:01:52 2020: replaceValue: replace i32 %call to i32 %call.%conv in i32 %index_offset.1 = shl i32 %call, i32 4 (4) (nsw) [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: RemoveFlags [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateDeadCode [D] Tue Feb 4 16:01:52 2020: Removing instruction i32 %call.%dim = i32 0 (0) (group_uniform), since its output is never read [D] Tue Feb 4 16:01:52 2020: Removing instruction i32 %call = i32 %call.%conv (unsigned), since its output is never read [D] Tue Feb 4 16:01:52 2020: Running optimization iteration 1... [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: SingleSteps [D] Tue Feb 4 16:01:52 2020: Running steps: CombineSelectionWithZero, CombineSettingSameFlags, CombineSettingFlagsWithOutput, FoldConstants, SimplifyArithmetics, CombineArithmetics, RewriteConstantSFU, [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CombineRotations [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateMoves [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CommonSubexpressionElimination [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateBitOperations [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: PropagateMoves [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: RemoveFlags [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: EliminateDeadCode [D] Tue Feb 4 16:01:52 2020: Running optimization iteration 2... [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: SplitReadAfterWrites [D] Tue Feb 4 16:01:52 2020: Inserting NOP to split up read-after-write before: register - = max i32 %max_group_id_x, i32 %group_id_x (setf ) [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CombineConstantLoads [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: RemoveConstantLoadInLoops [D] Tue Feb 4 16:01:52 2020: [D] Tue Feb 4 16:01:52 2020: Running pass: CacheAcrossWorkGroup [D] Tue Feb 4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: register vpr_addr = (g) <16 x i8>* %arrayidx [D] Tue Feb 4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11] [E] Tue Feb 4 16:01:52 2020: Received signal: SIGSEGV [E] Tue Feb 4 16:01:52 2020: (1) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7239bc [0x7f6c536de9bc] [E] Tue Feb 4 16:01:52 2020: (2) /lib/x86_64-linux-gnu/libpthread.so.0 : +0x12730 [0x7f6c52f7f730] [E] Tue Feb 4 16:01:52 2020: (3) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::vector<vc4c::Value, std::allocator<vc4c::Value> >::size() const+0xc [0x7f6c53727b42] [E] Tue Feb 4 16:01:52 2020: (4) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::intermediate::IntermediateInstruction::assertArgument(unsigned long) const+0x25 [0x7f6c53818753] [E] Tue Feb 4 16:01:52 2020: (5) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::intermediate::MemoryInstruction::getNumEntries() const+0x1d [0x7f6c538237f5] [E] Tue Feb 4 16:01:52 2020: (6) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7cc953 [0x7f6c53787953] [E] Tue Feb 4 16:01:52 2020: (7) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7cee99 [0x7f6c53789e99] [E] Tue Feb 4 16:01:52 2020: (8) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::analysis::determineAccessRanges(vc4c::Method&)+0x14c [0x7f6c5378a1fc] [E] Tue Feb 4 16:01:52 2020: (9) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::optimizations::cacheWorkGroupDMAAccess(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x9b [0x7f6c53959581] [E] Tue Feb 4 16:01:52 2020: (10) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<bool (vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&), bool (*)(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)>::_M_invoke(std::_Any_data const&, vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x61 [0x7f6c539ae5fa] [E] Tue Feb 4 16:01:52 2020: (11) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<bool (vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)>::operator()(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&) const+0x76 [0x7f6c539ad0fc] [E] Tue Feb 4 16:01:52 2020: (12) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::optimizations::OptimizationPass::operator()(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&) const+0x34 [0x7f6c539a6b98] [E] Tue Feb 4 16:01:52 2020: (13) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ec739 [0x7f6c539a7739] [E] Tue Feb 4 16:01:52 2020: (14) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ecfbb [0x7f6c539a7fbb] [E] Tue Feb 4 16:01:52 2020: (15) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ed2d9 [0x7f6c539a82d9] [E] Tue Feb 4 16:01:52 2020: (16) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ee323 [0x7f6c539a9323] [E] Tue Feb 4 16:01:52 2020: (17) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<void (vc4c::Method* const&)>::operator()(vc4c::Method* const&) const+0x49 [0x7f6c5368ca7b] [E] Tue Feb 4 16:01:52 2020: (18) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (vc4c::Method* const&)> const&)::{lambda()#1}::operator()() const+0x26 [0x7f6c5368a92a] [E] Tue Feb 4 16:01:52 2020: (19) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<void (), vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (vc4c::Method* const&)> const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&)+0x20 [0x7f6c5368e0fc] [E] Tue Feb 4 16:01:52 2020: (20) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<void ()>::operator()() const+0x32 [0x7f6c536c97e2] [E] Tue Feb 4 16:01:52 2020: (21) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::__invoke_impl<void, std::function<void ()>&>(std::__invoke_other, std::function<void ()>&)+0x20 [0x7f6c536e5df9] [E] Tue Feb 4 16:01:52 2020: (22) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__invoke_result<std::function<void ()>&>::type std::__invoke<std::function<void ()>&>(std::function<void ()>&)+0x20 [0x7f6c536e5b9c] [E] Tue Feb 4 16:01:52 2020: (23) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}::operator()() const+0x1f [0x7f6c536e5977] [E] Tue Feb 4 16:01:52 2020: (24) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void>::operator()() const+0x21 [0x7f6c536e614d] [E] Tue Feb 4 16:01:52 2020: (25) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)+0x2e [0x7f6c536e5e6a] [E] Tue Feb 4 16:01:52 2020: (26) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const+0x3d [0x7f6c536e0eff] [E] Tue Feb 4 16:01:52 2020: (27) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x27 [0x7f6c536e0773] [E] Tue Feb 4 16:01:52 2020: (28) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x98 [0x7f6c536e2780] [E] Tue Feb 4 16:01:52 2020: (29) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x67 [0x7f6c536e1987] [E] Tue Feb 4 16:01:52 2020: (30) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const+0x6a [0x7f6c536e0b14] [E] Tue Feb 4 16:01:52 2020: (31) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const+0x27 [0x7f6c536e0b47] [E] Tue Feb 4 16:01:52 2020: (32) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN()+0xe [0x7f6c536e0b58] [E] Tue Feb 4 16:01:52 2020: (33) /lib/x86_64-linux-gnu/libpthread.so.0 : +0xf997 [0x7f6c52f7c997] [E] Tue Feb 4 16:01:52 2020: (34) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724d8b [0x7f6c536dfd8b] [E] Tue Feb 4 16:01:52 2020: (35) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x97 [0x7f6c536e0c02] [E] Tue Feb 4 16:01:52 2020: (36) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool)+0x83 [0x7f6c536e036b] [E] Tue Feb 4 16:01:52 2020: (37) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()+0x5c [0x7f6c536e59d6] [E] Tue Feb 4 16:01:52 2020: (38) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::packaged_task<void ()>::operator()()+0x33 [0x7f6c536e1889] [E] Tue Feb 4 16:01:52 2020: (39) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::ThreadPool::workerTask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x13c [0x7f6c536df0d0] [E] Tue Feb 4 16:01:52 2020: (40) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x723c44 [0x7f6c536dec44] [E] Tue Feb 4 16:01:52 2020: (41) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7248d1 [0x7f6c536df8d1] [E] Tue Feb 4 16:01:52 2020: (42) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x72464d [0x7f6c536df64d] [E] Tue Feb 4 16:01:52 2020: (43) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724b78 [0x7f6c536dfb78] [E] Tue Feb 4 16:01:52 2020: (44) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724aec [0x7f6c536dfaec] [E] Tue Feb 4 16:01:52 2020: (45) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724ad0 [0x7f6c536dfad0] [E] Tue Feb 4 16:01:52 2020: (46) /usr/lib/x86_64-linux-gnu/libstdc++.so.6 : +0xbbb2f [0x7f6c4f48fb2f] [E] Tue Feb 4 16:01:52 2020: (47) /lib/x86_64-linux-gnu/libpthread.so.0 : +0x7fa3 [0x7f6c52f74fa3] [E] Tue Feb 4 16:01:52 2020: (48) /lib/x86_64-linux-gnu/libc.so.6 : clone+0x3f [0x7f6c4f16d4cf]
My program is the follows: