Closed meister-reservoir closed 8 years ago
While what I said above sill holds, it is the 'barriers' pass that gets registered twice, as opposed to 'barrier'. The issue may be in the caller (POCL).
Actually there is no issue adding a pass several times in PassManagerBuilder. So this is an invalid bug.
Repro: commit a65ba4c27920cc85c27cd9b8a10e6942ab07bf41 configured with --enable-shared --enable-optimized REQUIRES_RTTI=1 I'm using a private version of POCL, which calls llvm with a certain set of options to compile a 'kernel.cl' file.
Two passes with the same argument (-barriers) attempted to be registered! UNREACHABLE executed at /home/meister/dec/pca/runtime/riscv/riscv-llvm/include/llvm/IR/LegacyPassNameParser.h:74! make: *\ [kernel.rv.S] Aborted (core dumped)
Looking at PassManagerBuilder.cpp, there are paths with which this module pass gets registered twice.