[llvm-dev] Polybench llvm's IR -fopenmp

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Sun Jan 13 17:07:07 PST 2019

Detection and insertion of llvm.memcpy is done by the LoopIdiom
("-loop-idiom") pass. Currently, there is no way to disable this pass
in the pipeline other than using -O0, using opt to rebuild the pass
pipeline or editing the LLVM sources.


Am Sa., 12. Jan. 2019 um 10:23 Uhr schrieb Corda, S. via llvm-dev
<llvm-dev at lists.llvm.org>:
> Hi all,
> I'm trying to get the llvm's IR from the source code of Polybench (OMP) https://github.com/cavazos-lab/PolyBench-ACC/tree/master/OpenMP.
> I noticed a considerable difference between the IR generated using clang -emit-llvm -fopenmp and clang -emit-llvm:
> using the -fopenmp flag I get a simplified IR in which I read a single basic block where I can highlight a llvm.memcpy function
> without -fopenmp flag I get the expected IR in which I find a large number of basic blocks (e.g. for loop --> for.begin, for.end ...)
> Is there a way to avoid the insertion of llvm.memcpy when I'm using the -fopenmp flag?
> I've already tried -fno-builtin and -ffreestanding.
> Thanks,
> Best Regards,
> Stefano Corda
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list