<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/include/complex, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-05-29T16:01:36+00:00</updated>
<entry>
<title>[NFC][libcxx] Remove trailing whitespace</title>
<updated>2019-05-29T16:01:36+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-05-29T16:01:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a2a1ec27d0e799725cdd41f8456deb9a49433e2d'/>
<id>urn:sha1:a2a1ec27d0e799725cdd41f8456deb9a49433e2d</id>
<content type='text'>
It's incredibly annoying when trying to create diffs

llvm-svn: 361981
</content>
</entry>
<entry>
<title>Update more file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T10:56:40+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T10:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=57b08b0944046a6a57ee9b7b479181f548a5b9b4'/>
<id>urn:sha1:57b08b0944046a6a57ee9b7b479181f548a5b9b4</id>
<content type='text'>
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351648
</content>
</entry>
<entry>
<title>Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955</title>
<updated>2018-09-12T19:41:40+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2018-09-12T19:41:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f56972e22489c92028e5147344ab8b31b0b4fed5'/>
<id>urn:sha1:f56972e22489c92028e5147344ab8b31b0b4fed5</id>
<content type='text'>
llvm-svn: 342073
</content>
</entry>
<entry>
<title>[libcxx] Improve accuracy of complex asinh and acosh</title>
<updated>2018-02-19T15:41:36+00:00</updated>
<author>
<name>Mikhail Maltsev</name>
<email>mikhail.maltsev@arm.com</email>
</author>
<published>2018-02-19T15:41:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=477b5f688c80064753827693c16d49957d3a3a95'/>
<id>urn:sha1:477b5f688c80064753827693c16d49957d3a3a95</id>
<content type='text'>
Summary:
Currently std::asinh and std::acosh use std::pow to compute x^2. This
results in a significant error when computing e.g. asinh(i) or
acosh(-1).

This patch expresses x^2 directly via x.real() and x.imag(), like it
is done in libstdc++/glibc, and adds tests that checks the accuracy.

Reviewers: EricWF, mclow.lists

Reviewed By: mclow.lists

Subscribers: christof, cfe-commits

Differential Revision: https://reviews.llvm.org/D41629

llvm-svn: 325510
</content>
</entry>
<entry>
<title>Implement LWG2870: Default value of parameter theta of polar should be dependent</title>
<updated>2018-01-31T21:42:39+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2018-01-31T21:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0551d83ed50d66f90badacdb070b1bde607a0b66'/>
<id>urn:sha1:0551d83ed50d66f90badacdb070b1bde607a0b66</id>
<content type='text'>
llvm-svn: 323918
</content>
</entry>
<entry>
<title>cmath: Support clang's -fdelayed-template-parsing</title>
<updated>2017-07-07T05:13:36+00:00</updated>
<author>
<name>Duncan P. N. Exon Smith</name>
<email>dexonsmith@apple.com</email>
</author>
<published>2017-07-07T05:13:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=66631a12b833ffffa643bb67042811fe163cebae'/>
<id>urn:sha1:66631a12b833ffffa643bb67042811fe163cebae</id>
<content type='text'>
r283051 added some functions to cmath (in namespace std) that have the
same name as functions in math.h (in the global namespace).  Clang's
limited support for `-fdelayed-template-parsing` chokes on this.  Rename
the ones in `cmath` and their uses in `complex` and the test.

rdar://problem/32848355

llvm-svn: 307357
</content>
</entry>
<entry>
<title>[NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS</title>
<updated>2017-01-04T23:56:00+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2017-01-04T23:56:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e2f2d1edef9fda1c7533850cdcbeccf8083a677a'/>
<id>urn:sha1:e2f2d1edef9fda1c7533850cdcbeccf8083a677a</id>
<content type='text'>
The name _LIBCPP_TYPE_VIS_ONLY is no longer accurate because both
_LIBCPP_TYPE_VIS and _LIBCPP_TYPE_VIS_ONLY expand to
__attribute__((__type_visibility__)) with Clang. The only remaining difference
is that _LIBCPP_TYPE_VIS_ONLY can be applied to templates whereas
_LIBCPP_TYPE_VIS cannot (due to dllimport/dllexport not being allowed on
templates).

This patch renames _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS.

llvm-svn: 291035
</content>
</entry>
<entry>
<title>Fix unused parameters and variables</title>
<updated>2016-12-23T23:37:52+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2016-12-23T23:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fd838227411f3ce1fa348f1d334266231bbcc84d'/>
<id>urn:sha1:fd838227411f3ce1fa348f1d334266231bbcc84d</id>
<content type='text'>
llvm-svn: 290459
</content>
</entry>
<entry>
<title>Use __builtin_isnan/isinf/isfinite in complex</title>
<updated>2016-10-01T20:38:31+00:00</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2016-10-01T20:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ae22f0b2423192c919ad3c17627a5d40cfcdc5dc'/>
<id>urn:sha1:ae22f0b2423192c919ad3c17627a5d40cfcdc5dc</id>
<content type='text'>
The libc-provided isnan/isinf/isfinite macro implementations are specifically
designed to function correctly, even in the presence of -ffast-math (or, more
specifically, -ffinite-math-only). As such, on most implementation, these
either always turn into external function calls (e.g. glibc) or are
specifically function calls when FINITE_MATH_ONLY is defined (e.g. Darwin).

Our implementation of complex arithmetic makes heavy use of isnan/isinf/isfinite
to deal with corner cases involving non-finite quantities. This was problematic
in two respects:

  1. On systems where these are always function calls (e.g. Linux/glibc), there was a
     performance penalty
  2. When compiling with -ffast-math, there was a significant performance
     penalty (in fact, on Darwin and systems with similar implementations, the code
     may in fact be slower than not using -ffast-math, because the inline
     definitions provided by libc become unavailable to prevent the checks from
     being optimized out).

Eliding these inf/nan checks in -ffast-math mode is consistent with what
happens with libstdc++, and in my experience, what users expect. This is
critical to getting high-performance code when using complex&lt;T&gt;. This change
replaces uses of those functions on basic floating-point types with calls to
__builtin_isnan/isinf/isfinite, which Clang will always expand inline. When
using -ffast-math (or -ffinite-math-only), the optimizer will remove the checks
as expected.

Differential Revision: https://reviews.llvm.org/D18639

llvm-svn: 283051
</content>
</entry>
<entry>
<title>Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled.  Reviewed as: https://reviews.llvm.org/D23855.</title>
<updated>2016-08-25T15:09:01+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2016-08-25T15:09:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d437fa5c8c1185af695b87cdd5ea83aa4a6e7382'/>
<id>urn:sha1:d437fa5c8c1185af695b87cdd5ea83aa4a6e7382</id>
<content type='text'>
llvm-svn: 279744
</content>
</entry>
</feed>
