Open llvmbot opened 9 years ago
Ports.
Sorry. Should have been more explicit:
3.7: ports/devel/llvm37 3.5: ports/lang/clang35 3.6: ports/lang/clang36
Ports.
Hm, I just don't see it here. With r245248 from the release_37 branch (which corresponds more or less with rc2/rc3):
$ /usr/bin/time -l /share/dim/llvm/245248-rel37-freebsd11-i386-aconf-rel-1/bin/clang++ -fopenmp -fPIC -std=c++11 -pthread -O -I. -c PulseTable.cc 84.62 real 76.63 user 4.43 sys 913864 maximum resident set size 46416 average shared memory size 1818 average unshared data size 127 average unshared stack size 364986 page reclaims 658 page faults 0 swaps 3 block input operations 8 block output operations 698 messages sent 0 messages received 0 signals received 780 voluntary context switches 1191 involuntary context switches
Even the -fopenmp flag does not matter.
How exactly are you building your clang executables? Manually, or via ports?
3.7rc2 also has the problem. Still running after more than an hour:
root@Junker# time clang++37 -UNDEBUG -fopenmp -fPIC -std=c++11 -pthread -I/usr/local/include -I. -O -o bar.o -c PulseTable.cc -c -v clang version 3.7.0 (tags/RELEASE_370/rc2) Target: x86_64-unknown-freebsd10.2 Thread model: posix "/usr/local/llvm37/bin/clang-3.7" -cc1 -triple x86_64-unknown-freebsd10.2 -emit-obj -disable-free -main-file-name PulseTable.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -v -dwarf-column-info -coverage-file /root/bar.o -resource-dir /usr/local/llvm37/bin/../lib/clang/3.7.0 -U NDEBUG -I /usr/local/include -I . -internal-isystem /usr/include/c++/v1 -O2 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /root -ferror-limit 19 -fmessage-length 128 -fopenmp -fnoopenmp-use-tls -pthread -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o bar.o -x c++ PulseTable.cc clang -cc1 version 3.7.0 based upon LLVM 3.7.0 default target x86_64-unknown-freebsd10.2
/usr/local/include . /usr/include/c++/v1 /usr/local/llvm37/bin/../lib/clang/3.7.0/include /usr/include End of search list.
It works for me on FreeBSD 11; with trunk r242221:
$ /usr/bin/time -l clang++ -O2 -std=c++11 -I. -c PulseTable.cc 71.35 real 70.03 user 1.69 sys 897312 maximum resident set size 43525 average shared memory size 210 average unshared data size 127 average unshared stack size 361213 page reclaims 0 page faults 0 swaps 0 block input operations 3 block output operations 0 messages sent 0 messages received 0 signals received 7 voluntary context switches 1086 involuntary context switches
With trunk r245199 it does take a lot longer, though:
$ /usr/bin/time -l /share/dim/llvm/245199-trunk-freebsd11-i386-aconf-rel-1/bin/clang++ -O2 -std=c++11 -I. -c PulseTable.cc 189.45 real 188.07 user 1.67 sys 912552 maximum resident set size 46887 average shared memory size 1889 average unshared data size 127 average unshared stack size 361966 page reclaims 641 page faults 0 swaps 7 block input operations 3 block output operations 0 messages sent 0 messages received 0 signals received 656 voluntary context switches 2940 involuntary context switches
I haven't tried compiling on FreeBSD 11. I have FreBSD 11 r286926 in a virtual instance however clang++ on r286926 identifies itself as:
root@Head:~ # clang++ -fopenmp -v foo.cc FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525
In a follow-on Bugzilla note I wrote 3.6 works however my problem is 3.8 where I /require/ OpenMP (I also require FORTRAN (numpy) but GCC/clang seems to have issues with the many libraries GNURadio requires).
I haven't tried 3.7rc2 because I was looking for devel/clang and not devel/llvm, which is compiling now. :)
It looks like SROA is really slow on this.
It works for me on FreeBSD 11; with trunk r242221:
$ /usr/bin/time -l clang++ -O2 -std=c++11 -I. -c PulseTable.cc 71.35 real 70.03 user 1.69 sys 897312 maximum resident set size 43525 average shared memory size 210 average unshared data size 127 average unshared stack size 361213 page reclaims 0 page faults 0 swaps 0 block input operations 3 block output operations 0 messages sent 0 messages received 0 signals received 7 voluntary context switches 1086 involuntary context switches
With trunk r245199 it does take a lot longer, though:
$ /usr/bin/time -l /share/dim/llvm/245199-trunk-freebsd11-i386-aconf-rel-1/bin/clang++ -O2 -std=c++11 -I. -c PulseTable.cc 189.45 real 188.07 user 1.67 sys 912552 maximum resident set size 46887 average shared memory size 1889 average unshared data size 127 average unshared stack size 361966 page reclaims 641 page faults 0 swaps 7 block input operations 3 block output operations 0 messages sent 0 messages received 0 signals received 656 voluntary context switches 2940 involuntary context switches
I can confirm this file DOES compile under 3.4.1/FreeBSD (see "3.4.1" below). It takes roughly 8 minutes. The prior 3.8.0 case is still working after 123 minutes but appears appears to be related to optimization (see "3.8.0" below). Specifically, without -O the file compiles quickly under 3.8.0.
I have also run 3.5.2 and 3.6.2 but on a different host (Junker). Both optimization and no optimization compile (see "3.5.2" and "3.6.2" below for optimization cases).
3.4.1 WITH optimization:
root@mc# time clang++ -UNDEBUG -march=bdver1 -fopenmp -fPIC -std=c++11 -pthread -I/usr/local/include -I. -O -o foo.o PulseTable.cc -c -v FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 Target: x86_64-unknown-freebsd10.2 Thread model: posix Selected GCC installation: clang++: warning: argument unused during compilation: '-fopenmp' "/usr/bin/clang++" -cc1 -triple x86_64-unknown-freebsd10.2 -emit-obj -disable-free -disable-llvm-verifier -main-file-name PulseTable.cc -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu bdver1 -v -coverage-file /root/gr-adsb/lib/foo.o -resource-dir /usr/bin/../lib/clang/3.4.1 -U NDEBUG -I /usr/local/include -I . -internal-isystem /usr/include/c++/v1 -O2 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /root/gr-adsb/lib -ferror-limit 19 -fmessage-length 80 -pthread -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o foo.o -x c++ PulseTable.cc clang -cc1 version 3.4.1 based upon LLVM 3.4.1 default target x86_64-unknown-freebsd10.2 ignoring nonexistent directory "/usr/bin/../lib/clang/3.4.1/include"
/usr/local/include . /usr/include/c++/v1 /usr/include/clang/3.4.1 /usr/include End of search list. 419.077u 3.417s 7:02.50 99.9% 35210+609k 0+3io 0pf+0w
3.5.2 -- WITH optimization:
root@Junker# time clang++35 -UNDEBUG -march=bdver1 -fopenmp -fPIC -std=c++11 -pthread -I/usr/local/include -I. -O -o bar.o -c PulseTable.cc -c -v clang version 3.5.2 (tags/RELEASE_352/final) Target: x86_64-portbld-freebsd10.2 Thread model: posix "/usr/local/llvm35/bin/clang" -cc1 -triple x86_64-portbld-freebsd10.2 -emit-obj -disable-free -disable-llvm-verifier -main-file-name PulseTable.cc -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu bdver1 -target-linker-version 2.17.50 -v -dwarf-column-info -coverage-file /tmp/bar.o -resource-dir /usr/local/llvm35/bin/../lib/clang/3.5.2 -U NDEBUG -I /usr/local/include -I . -internal-isystem /usr/include/c++/v1 -O2 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 129 -pthread -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o bar.o -x c++ PulseTable.cc clang -cc1 version 3.5.2 based upon LLVM 3.5.2 default target x86_64-portbld-freebsd10.2
/usr/local/include . /usr/include/c++/v1 /usr/local/llvm35/bin/../lib/clang/3.5.2/include /usr/include End of search list. 104.472u 1.455s 1:45.98 99.9% 20644+1041k 0+4io 0pf+0w root@Junker#
3.6.2 -- WITH optimization:
root@Junker# time clang++36 -UNDEBUG -march=bdver1 -fopenmp -fPIC -std=c++11 -pthread -I/usr/local/include -I. -O -o bar.o -c PulseTable.cc -c -v clang version 3.6.2 (tags/RELEASE_362/final) Target: x86_64-portbld-freebsd10.2 Thread model: posix "/usr/local/llvm36/bin/clang" -cc1 -triple x86_64-portbld-freebsd10.2 -emit-obj -disable-free -disable-llvm-verifier -main-file-name PulseTable.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu bdver1 -target-linker-version 2.17.50 -v -dwarf-column-info -coverage-file /tmp/bar.o -resource-dir /usr/local/llvm36/bin/../lib/clang/3.6.2 -U NDEBUG -I /usr/local/include -I . -internal-isystem /usr/include/c++/v1 -O2 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 129 -pthread -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o bar.o -x c++ PulseTable.cc clang -cc1 version 3.6.2 based upon LLVM 3.6.2 default target x86_64-portbld-freebsd10.2
/usr/local/include . /usr/include/c++/v1 /usr/local/llvm36/bin/../lib/clang/3.6.2/include /usr/include End of search list. 151.564u 0.542s 2:32.21 99.9% 21765+1082k 0+3io 0pf+0w root@Junker#
3.8.0 -- NO optimization:
root@mc# time clang++-devel -UNDEBUG -march=bdver1 -fopenmp -fPIC -std=c++11 -pthread -I/usr/local/include -I. -o foobar.o PulseTable.cc -c -v clang version 3.8.0 Target: x86_64-unknown-freebsd10.2 Thread model: posix InstalledDir: /usr/local/llvm-devel/bin "/usr/local/llvm-devel/bin/clang-3.8" -cc1 -triple x86_64-unknown-freebsd10.2 -emit-obj -mrelax-all -disable-free -main-file-name PulseTable.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu bdver1 -v -dwarf-column-info -coverage-file /root/gr-adsb/lib/foobar.o -resource-dir /usr/local/llvm-devel/bin/../lib/clang/3.8.0 -U NDEBUG -I /usr/local/include -I . -internal-isystem /usr/include/c++/v1 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /root/gr-adsb/lib -ferror-limit 19 -fmessage-length 80 -fopenmp -fnoopenmp-use-tls -pthread -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o foobar.o -x c++ PulseTable.cc clang -cc1 version 3.8.0 based upon LLVM 3.8.0svn default target x86_64-unknown-freebsd10.2
/usr/local/include . /usr/include/c++/v1 /usr/local/llvm-devel/bin/../lib/clang/3.8.0/include /usr/include End of search list. 2.722u 0.110s 0:02.84 99.6% 116+287k 0+3io 0pf+0w
MC:
root@mc# uname -a FreeBSD mc 10.2-STABLE FreeBSD 10.2-STABLE #0 r286965: Thu Aug 20 11:49:26 PDT 2015 root@mc:/disk-2/obj/disk-1/src/sys/GENERIC amd64
Junker:
root@Junker# uname -a FreeBSD Junker 10.2-STABLE FreeBSD 10.2-STABLE #0 r286923: Wed Aug 19 12:06:04 PDT 2015 root@Junker:/usr/obj/usr/src/sys/GENERIC amd64
Extended Description
I have a file that doesn't seem to complete compilation under clang++/FreeBSD-10.2 -- certainly doesn't compiler against 3.8 but I've had trouble with earlier versions. The file does compile under g++ 4.8, 4.9, and 5.2 in the same environment. After twelve minutes, I ctl-C.
The compiler line:
The compiler identifies itself as:
There are two files. I attached the
.cc
but I can only add one attachment. The.h
content is:My system is: