- Aug 21, 2013
-
-
David Blaikie authored
llvm-svn: 188933
-
- Jul 27, 2013
-
-
Michael Gottesman authored
IEEE-754R 1.4 Exclusions states that IEEE-754R does not specify the interpretation of the sign of NaNs. In order to remove an irrelevant variable that most floating point implementations do not use, standardize add, sub, mul, div, mod so that operating anything with NaN always yields a positive NaN. In a later commit I am going to update the APIs for creating NaNs so that one can not even create a negative NaN. llvm-svn: 187314
-
Rafael Espindola authored
This reverts commit r187248. It broke many bots. llvm-svn: 187254
-
- Jul 26, 2013
-
-
Bill Schmidt authored
Both GCC and LLVM will implicitly define __ppc__ and __powerpc__ for all PowerPC targets, whether 32- or 64-bit. They will both implicitly define __ppc64__ and __powerpc64__ for 64-bit PowerPC targets, and not for 32-bit targets. We cannot be sure that all other possible compilers used to compile Clang/LLVM define both __ppc__ and __powerpc__, for example, so it is best to check for both when relying on either inside the Clang/LLVM code base. This patch makes sure we always check for both variants. In addition, it fixes one unnecessary check in lib/Target/PowerPC/PPCJITInfo.cpp. (At least one of __ppc__ and __powerpc__ should always be defined when compiling for a PowerPC target, no matter which compiler is used, so testing for them is unnecessary.) There are some places in the compiler that check for other variants, like __POWERPC__ and _POWER, and I have left those in place. There is no need to add them elsewhere. This seems to be in Apple-specific code, and I won't take a chance on breaking it. There is no intended change in behavior; thus, no test cases are added. llvm-svn: 187248
-
- Jul 18, 2013
-
-
Eli Friedman authored
There were a couple of different loops that were not handling '.' correctly in APFloat::convertFromHexadecimalString; these mistakes could lead to assertion failures and incorrect rounding for overlong hex float literals. Fixes PR16643. llvm-svn: 186539
-
- Jul 11, 2013
-
-
Benjamin Kramer authored
llvm-svn: 186123
-
- Jul 02, 2013
-
-
Michael Gottesman authored
rdar://14323230 llvm-svn: 185397
-
- Jun 27, 2013
-
-
Michael Gottesman authored
[APFloat] Added unittest for APFloat.divide that checks special cases, result categories, and result statuses. llvm-svn: 185050
-
Michael Gottesman authored
llvm-svn: 185045
-
Michael Gottesman authored
[APFloat] Added unittest for APFloat.multiply that checks special cases, result categories, and result status. llvm-svn: 185044
-
Michael Gottesman authored
[APFloat] Added unittest for APFloat.subtract that checks special cases, result categories, and result status. llvm-svn: 185043
-
- Jun 26, 2013
-
-
Michael Gottesman authored
llvm-svn: 184974
-
- Jun 24, 2013
-
-
Michael Gottesman authored
llvm-svn: 184715
-
Michael Gottesman authored
[APFloat] Added a large unittest for APFloat.add that checks that special values are computed correctly. llvm-svn: 184714
-
- Jun 20, 2013
-
-
Michael Gottesman authored
The old isNormal is already functionally replaced by the method isFiniteNonZero in r184350 and all references to said method were replaced in LLVM/clang in r184356/134366. llvm-svn: 184449
-
Michael Gottesman authored
llvm-svn: 184447
-
- Jun 19, 2013
-
-
Michael Gottesman authored
I forgot to to do this in r184356. The only references were in APFloatTest.cpp. llvm-svn: 184366
-
Michael Gottesman authored
This is the first patch in a series of patches to rename isNormal => isFiniteNonZero and isIEEENormal => isNormal. In order to prevent careless errors on my part the overall plan is: 1. Add the isFiniteNonZero predicate with tests. I can do this in a method independent of isNormal. (This step is this patch). 2. Convert all references to isNormal with isFiniteNonZero. My plan is to comment out isNormal locally and continually convert isNormal references => isFiniteNonZero until llvm/clang compiles. 3. Remove old isNormal and rename isIEEENormal to isNormal. 4. Look through all of said references from patch 2 and see if we can simplify them by using the new isNormal. llvm-svn: 184350
-
- Jun 07, 2013
-
-
Benjamin Kramer authored
llvm-svn: 183525
-
Benjamin Kramer authored
llvm-svn: 183521
-
- Jun 04, 2013
-
-
Michael Gottesman authored
Specifically the following work was done: 1. If the operation was not implemented, I implemented it. 2. If the operation was already implemented, I just moved its location in the APFloat header into the IEEE-754R 5.7.2 section. If the name was incorrect, I put in a comment giving the true IEEE-754R name. Also unittests have been added for all of the functions which did not already have a unittest. llvm-svn: 183179
-
- Jun 02, 2013
-
-
Benjamin Kramer authored
llvm-svn: 183081
-
- May 31, 2013
-
-
Michael Gottesman authored
llvm-svn: 183028
-
- May 30, 2013
-
-
Michael Gottesman authored
Implement IEEE-754R 2008 nextUp/nextDown functions in the guise of the function APFloat::next(bool nextDown). rdar://13852078 llvm-svn: 182945
-
Michael Gottesman authored
llvm-svn: 182897
-
Michael Gottesman authored
Added code to the unittest for APFloat::getSmallest to double check that we consider the result to be denormal. I additionally changed certain checks to use EXPECT_FALSE instead of a boolean complement with EXPECT_TRUE. llvm-svn: 182896
-
Michael Gottesman authored
llvm-svn: 182894
-
- May 28, 2013
-
-
Michael Gottesman authored
[APInt] Implement tcDecrement as a counterpart to tcIncrement. This is for use in APFloat IEEE-754R 2008 nextUp/nextDown function. rdar://13852078 llvm-svn: 182801
-
- May 13, 2013
-
-
Shuxin Yang authored
llvm-svn: 181715
-
- Mar 29, 2013
-
-
Jean-Luc Duprat authored
This time tested on both OSX and Linux. llvm-svn: 178377
-
Rafael Espindola authored
This reverts commit 617330909f0c26a3f2ab8601a029b9bdca48aa61. It broke the bots: /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:150: PushPopTest /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:118: Failure Value of: v[i].getValue() Actual: 0 Expected: value Which is: 2 llvm-svn: 178334
-
Jean-Luc Duprat authored
being power-of-two sized. llvm-svn: 178332
-
- Feb 21, 2013
-
-
David Blaikie authored
llvm-svn: 175730
-
David Blaikie authored
Code review feedback for r175580 by Jordan Rose. llvm-svn: 175729
-
- Feb 20, 2013
-
-
Benjamin Kramer authored
llvm-svn: 175621
-
David Blaikie authored
Code review feedback on r175580 from Jordan Rose. llvm-svn: 175595
-
David Blaikie authored
This generalizes Optional to require less from the T type by using aligned storage for backing & placement new/deleting the T into it when necessary. Also includes unit tests. llvm-svn: 175580
-
- Feb 19, 2013
-
-
Douglas Gregor authored
llvm-svn: 175538
-
- Feb 07, 2013
-
-
Meador Inge authored
PR15138 was opened because of a segfault in the Bitcode writer. The actual issue ended up being a bug in APInt where calls to APInt::getActiveWords returns a bogus value when the APInt value is 0. This patch fixes the problem by ensuring that getActiveWords returns 1 for 0 valued APInts. llvm-svn: 174641
-
- Jan 31, 2013
-
-
Michael Gottesman authored
As a bonus I put in some extra checks to make sure that we are identifying the machine word of various Mac OS X/iOS targets appropriately. llvm-svn: 173994
-