#
79b09675 |
| 27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Revert "Revert "[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float.""
This reverts commit r185099.
Looks like bo
Revert "Revert "[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float.""
This reverts commit r185099.
Looks like both the ppc-64 and mips bots are still failing after I reverted this change.
Since:
1. The mips bot always performs a clean build, 2. The ppc64-bot failed again after a clean build (I asked the ppc-64 maintainers to clean the bot which they did... Thanks Will!),
I think it is safe to assume that this change was not the cause of the failures that said builders were seeing. Thus I am recomitting.
llvm-svn: 185111
show more ...
|
#
ccaf3321 |
| 27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Revert "[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float."
This reverts commit r185095. This is causing a FileC
Revert "[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float."
This reverts commit r185095. This is causing a FileCheck failure on the 3dnow intrinsics on at least the mips/ppc bots but not on the x86 bots.
Reverting while I figure out what is going on.
llvm-svn: 185099
show more ...
|
#
03255a16 |
| 27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float.
The category which an APFloat belongs to should be dependent
[APFloat] Removed APFloat constructor which initialized to either zero/NaN but allowed you to arbitrarily set the category of the float.
The category which an APFloat belongs to should be dependent on the actual value that the APFloat has, not be arbitrarily passed in by the user. This will prevent inconsistency bugs where the category and the actual value in APFloat differ.
I also fixed up all of the references to this constructor (which were only in LLVM).
llvm-svn: 185095
show more ...
|
#
8136c384 |
| 26-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Convert all references to fcNormal to references to isFiniteNonZero().
Currently inside APFloat fcNormal still implies the old definition of Normal (i.e. isFiniteNonZero) instead of the pr
[APFloat] Convert all references to fcNormal to references to isFiniteNonZero().
Currently inside APFloat fcNormal still implies the old definition of Normal (i.e. isFiniteNonZero) instead of the proper IEEE-754R definition that the external method isNormal() uses.
This patch prepares for the internal switch inside APFloat by converting all references that check if a category is fcNormal directly with an indirect call via isFiniteNonZero().
llvm-svn: 185036
show more ...
|
#
40e8a187 |
| 24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Added support for parsing float strings which contain {inf,-inf,NaN,-NaN}.
llvm-svn: 184713
|
#
c4facdf3 |
| 24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Added make{Zero,Inf} methods and implemented get{Zero,Inf} on top of them.
llvm-svn: 184712
|
#
f0e8cd1a |
| 24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Removed a assert from significandParts() which says that one can only access the significand of FiniteNonZero/NaN floats.
The method significandParts() is a helper method meant to ease acc
[APFloat] Removed a assert from significandParts() which says that one can only access the significand of FiniteNonZero/NaN floats.
The method significandParts() is a helper method meant to ease access to APFloat's significand by allowing the user to not need to be aware of whether or not the APFloat is using memory allocated in the instance itself or in an external array.
This assert says that one can only access the significand of FiniteNonZero/NaN floats. This makes it cumbersome and more importantly dangerous when one wishes to zero out the significand of a zero/infinity value since one will have to deal with the aforementioned quandary related to how the memory in APFloat is allocated.
llvm-svn: 184711
show more ...
|
#
9b877e18 |
| 24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Rename macro convolve => PackCategoriesIntoKey so that it is clear what APFloat is actually using said macro for.
In the context of APFloat, seeing a macro called convolve suggests that AP
[APFloat] Rename macro convolve => PackCategoriesIntoKey so that it is clear what APFloat is actually using said macro for.
In the context of APFloat, seeing a macro called convolve suggests that APFloat is using said value in some sort of convolution somewhere in the source code. This is misleading.
I also added a documentation comment to the macro.
llvm-svn: 184710
show more ...
|
#
9dc98338 |
| 24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Rename llvm::exponent_t => llvm::APFloat::ExponentType.
exponent_t is only used internally in APFloat and no exponent_t values are exposed via the APFloat API. In light of such conditions
[APFloat] Rename llvm::exponent_t => llvm::APFloat::ExponentType.
exponent_t is only used internally in APFloat and no exponent_t values are exposed via the APFloat API. In light of such conditions it does not make any sense to gum up the llvm namespace with said type. Plus it makes it clearer that exponent_t is associated with APFloat.
llvm-svn: 184686
show more ...
|
#
3cb77ab9 |
| 19-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero.
Turns out all the references were in llvm and not in clang.
llvm-svn: 184356
|
#
a7cc1243 |
| 19-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Fixed comment typo that causes the given comment to actually make sense.
llvm-svn: 184286
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
#
d0cf5b2d |
| 03-Jun-2013 |
Manuel Klimek <klimek@google.com> |
Introduce needsCleanup() for APFloat and APInt.
This is needed in clang so one can check if the object needs the destructor called after its memory was freed. This is useful when creating many APInt
Introduce needsCleanup() for APFloat and APInt.
This is needed in clang so one can check if the object needs the destructor called after its memory was freed. This is useful when creating many APInt/APFloat objects with placement new, where the overhead of tracking the pointers for cleanup is significant.
llvm-svn: 183100
show more ...
|
#
6bef24f3 |
| 01-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
APFloat: Use isDenormal instead of hand-rolled code to check for denormals.
llvm-svn: 183072
|
#
0c622ea8 |
| 30-May-2013 |
Michael Gottesman <mgottesman@apple.com> |
Implement IEEE-754R 2008 nextUp/nextDown functions in the guise of the function APFloat::next(bool nextDown).
rdar://13852078
llvm-svn: 182945
|
Revision tags: llvmorg-3.3.0-rc2 |
|
#
bbddbacd |
| 13-May-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Fix a bug that APFloat::fusedMultiplyAdd() mistakenly evaluate "14.5f * -14.5f + 225.0f" to 225.0f.
llvm-svn: 181715
|
Revision tags: llvmorg-3.3.0-rc1 |
|
#
be99cc3a |
| 20-Mar-2013 |
Hao Liu <Hao.Liu@arm.com> |
Fix AsmPrinter crashes with assertion. Bug 15318 in Bugzilla
llvm-svn: 177472
|
#
b361adbb |
| 25-Jan-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
APFloat: Make sure that we get a well-formed x87 NaN when converting from a smaller type.
Fixes PR15054.
llvm-svn: 173459
|
#
29178a34 |
| 22-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Make APFloat constructor require explicit semantics.
Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value.
Make APFloat constructor require explicit semantics.
Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate.
llvm-svn: 173138
show more ...
|
#
e1f76583 |
| 18-Jan-2013 |
Jordan Rose <jordan_rose@apple.com> |
Add llvm::hexDigitValue to convert single characters to hex.
This is duplicated in a couple places in the codebase. Adopt this in APFloat.
llvm-svn: 172851
|
#
226fea5b |
| 13-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove redundant 'llvm::' qualifications
llvm-svn: 172358
|
#
4fb504fe |
| 07-Jan-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Implement APFloat::isDenormal()
llvm-svn: 171764
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
ed0881b2 |
| 03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented.
Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =]
llvm-svn: 169131
show more ...
|
#
2b431d97 |
| 30-Nov-2012 |
Alexey Samsonov <samsonov@google.com> |
Fix a bug in APFloat.cpp: declare APFloat after fltSemantics it uses. APFloat::convert() takes the pointer to the fltSemantics variable, which is later accessed it in ~APFloat() desctructor. That is,
Fix a bug in APFloat.cpp: declare APFloat after fltSemantics it uses. APFloat::convert() takes the pointer to the fltSemantics variable, which is later accessed it in ~APFloat() desctructor. That is, semantics must still be alive at the moment we delete APFloat.
Found by experimental AddressSanitizer use-after-scope checker.
llvm-svn: 169047
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
08be41ad |
| 08-Nov-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the limitation to IEEE floating point types from the fdiv of pow2 -> fmul transform.
This is safe for x87 long doubles and ppc double doubles too.
llvm-svn: 167582
|
#
908c936f |
| 29-Oct-2012 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
APFloat cleanup: Remove now unused "arithmeticOK" logic.
llvm-svn: 166954
|