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.