freebsd-dev/lib/clang
Dimitry Andric 94ba333f9c 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/D57641

Pull 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/D57735

These should fix a problem in clang 7.0 where it would sometimes emit
long double floating point instructions in a slightly wrong order,
leading to failures in our libm tests.  In particular, the cbrt_test
test case 'cbrtl_powl' and the trig_test test case 'reduction'.

Also bump __FreeBSD_cc_version, to be able to detect this in our test
suite.

Reported by:    lwhsu
PR:		234040
Upstream PR:	https://bugs.llvm.org/show_bug.cgi?id=40206
MFC after:	1 week
2019-02-08 18:24:53 +00:00
..
headers Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branch 2018-11-04 15:46:30 +00:00
include Update clang, llvm, lld, lldb, compiler-rt and libc++ version number to 2018-12-15 14:08:41 +00:00
libclang Update build glue for upstream r338536 import. 2018-08-02 19:32:32 +00:00
liblldb Update build glue to make WITH_LLDB work. 2018-08-02 16:08:16 +00:00
libllvm Merge ^/head r340235 through r340367. 2018-11-12 16:41:41 +00:00
libllvmminimal Make llvm-tblgen and clang-tblgen build. 2018-07-31 18:25:33 +00:00
clang.build.mk Completely revamp the way llvm, clang and lldb are built. 2016-08-26 22:44:22 +00:00
clang.pre.mk Add forgotten {llvm,clang}.pre.mk files. 2016-08-26 22:56:23 +00:00
freebsd_cc_version.h Pull in r352607 from upstream llvm trunk (by Craig Topper): 2019-02-08 18:24:53 +00:00
lldb.pre.mk Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined. 2016-08-27 10:00:33 +00:00
llvm.build.mk Comment -DNDEBUG in head after r339436 when head was switched 2018-10-21 15:54:38 +00:00
llvm.pre.mk Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build. 2016-08-27 09:29:39 +00:00
Makefile Completely revamp the way llvm, clang and lldb are built. 2016-08-26 22:44:22 +00:00
Makefile.inc Improve the coverage of debug symbols for MK_DEBUG_FILES. 2017-08-23 23:30:25 +00:00