Merge clang 7.0.1 and several follow-up changesMFC r341825:Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ tothe upstream release_70 branch r348686 (effectively, 7.0.1 rc3).
Merge clang 7.0.1 and several follow-up changesMFC r341825:Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ tothe upstream release_70 branch r348686 (effectively, 7.0.1 rc3). Therelease will follow very soon, but no more functional changes areexpected.Release notes for llvm, clang and lld 7.0.0 are available here:<http://releases.llvm.org/7.0.0/docs/ReleaseNotes.html><http://releases.llvm.org/7.0.0/tools/clang/docs/ReleaseNotes.html><http://releases.llvm.org/7.0.0/tools/lld/docs/ReleaseNotes.html>PR: 230240, 230355Relnotes: yesMFC r342123:Update clang, llvm, lld, lldb, compiler-rt and libc++ version number to7.0.1 release r349250. There were no functional changes since the 7.0.1rc3 import.PR: 230240, 230355Relnotes: yesr343429 | emaste | 2019-01-25 15:46:13 +0100 (Fri, 25 Jan 2019) | 16 linesclang: default to DWARF 4 as of FreeBSD 13FreeBSD previously defaulted to DWARF 2 because several tools (gdb,ctfconvert, etc.) did not support later versions. These have eitherbeen fixed or are deprecated.Note that gdb 6 still exists but has been moved out of $PATH into/usr/libexec and is intended only for use by crashinfo(8). The kernelbuild sets the DWARF version explicitly via -gdwarf2, so this shouldhave no effect there.PR: 234887 [exp-run]Reviewed by: markjSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D17930MFC r343916:Pull in r352607 from upstream llvm trunk (by Craig Topper): [X86] Add FPSW as a Def on some FP instructions that were missing it.Pull in r353141 from upstream llvm trunk (by Craig Topper): [X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them. Summary: We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly. This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57641Pull in r353489 from upstream llvm trunk (by Craig Topper): [X86] Add FPCW as a register and start using it as an implicit use on floating point instructions. Summary: FPCW contains the rounding mode control which we manipulate to implement fp to integer conversion by changing the roudning mode, storing the value to the stack, and then changing the rounding mode back. Because we didn't model FPCW and its dependency chain, other instructions could be scheduled into the middle of the sequence. This patch introduces the register and adds it as an implciit def of FLDCW and implicit use of the FP binary arithmetic instructions and store instructions. There are more instructions that need to be updated, but this is a good start. I believe this fixes at least the reduced test case from PR40529. Reviewers: RKSimon, spatel, rnk, efriedma, andrew.w.kaylor Subscribers: dim, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57735These should fix a problem in clang 7.0 where it would sometimes emitlong double floating point instructions in a slightly wrong order,leading to failures in our libm tests. In particular, the cbrt_testtest case 'cbrtl_powl' and the trig_test test case 'reduction'.Also bump __FreeBSD_cc_version, to be able to detect this in our testsuite.Reported by: lwhsuPR: 234040Upstream PR: https://bugs.llvm.org/show_bug.cgi?id=40206MFC r344056:Pull in r339734 from upstream llvm trunk (by Eli Friedman): [ARM] Make PerformSHLSimplify add nodes to the DAG worklist correctly. Intentionally excluding nodes from the DAGCombine worklist is likely to lead to weird optimizations and infinite loops, so it's generally a bad idea. To avoid the infinite loops, fix DAGCombine to use the isDesirableToCommuteWithShift target hook before performing the transforms in question, and implement the target hook in the ARM backend disable the transforms in question. Fixes https://bugs.llvm.org/show_bug.cgi?id=38530 . (I don't have a reduced testcase for that bug. But we should have sufficient test coverage for PerformSHLSimplify given that we're not playing weird tricks with the worklist. I can try to bugpoint it if necessary, though.) Differential Revision: https://reviews.llvm.org/D50667This should fix a possible hang when compiling sys/dev/nxge/if_nxge.c(which exists now only in the stable/11 branch) for arm.
show more ...
Merge llvm trunk r321414 to contrib/llvm.
Merge llvm trunk r321017 to contrib/llvm.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r308421, and updatebuild glue.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306956, and updatebuild glue.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and updatebuild glue.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305145, and updatebuild glue.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and updatebuild glue.
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r303571, and updatebuild glue.
Merge llvm trunk r300422 and resolve conflicts.
Update llvm to trunk r290819 and resolve conflicts.
Update llvm to release_39 branch r276489, and resolve conflicts.