ffmpeg already passes -O3 by default as part of OPTIMIZED_CFLAGS option, so only CPUTYPE?=native in make.conf was something new. Assertion failed: (isLoopInvariant(Operands[i], L) && "SCEVAddRecExpr operand is not loop-invariant!"), function getAddRecExpr, file /usr/src/contrib/llvm/lib/Analysis/ScalarEvolution.cpp, line 2963. cc: error: unable to execute command: Abort trap cc: error: clang frontend command failed due to signal (use -v to see invocation) FreeBSD clang version 4.0.0 (branches/release_40 293443) (based on LLVM 4.0.0) Target: i386-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin
Created attachment 179517 [details] libavfilter/vf_waveform.c (preprocessed, compressed)
Created attachment 179518 [details] command line args (for clang 4.0) Alternatively, one can do the following: $ cd /usr/ports/multimedia/ffmpeg $ make configure $ cd $(make -V WRKSRC) $ cc -m32 -O3 -march=haswell -I. -c libavfilter/vf_waveform.c
Reproduced with llvm trunk r293557. I submitted an upstream bug report here: https://llvm.org/bugs/show_bug.cgi?id=31847
If I understand this right https://bugs.llvm.org/show_bug.cgi?id=31847 it seems done, and could be closed.
Agree, I can't reproduce the crash on either FreeBSD 11.1 or via devel/llvm40 using either the attached sample or building the port on i386 with CPUTYPE set.