cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/Support/APFloat.cpp
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/lib/Support/APFloat.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/Support/APFloat.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/Support/APFloat.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/Support/APFloat.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Support/APFloat.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Support/APFloat.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Support/APFloat.cpp
|
1053a0b9b4e0a4f459667c110f40f5314c30f2db |
|
30-Aug-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Change default # of digits for APFloat::toString This is a re-commit of r189442; I'll follow up with clang changes. The previous default was almost, but not quite enough digits to represent a floating-point value in a manner which preserves the representation when it's read back in. The larger default is much less confusing. I spent some time looking into printing exactly the right number of digits if a precision isn't specified, but it's kind of complicated, and I'm not really sure I understand what APFloat::toString is supposed to output for FormatPrecision != 0 (or maybe the current API specification is just silly, not sure which). I have a WIP patch if anyone is interested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
900617094505bba1fcf4d29c54901f48a0dacfa5 |
|
28-Aug-2013 |
Ted Kremenek <kremenek@apple.com> |
Revert r189442 "Change default # of digits for APFloat::toString" This is breaking numerous Clang tests on the buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
631bce51b962df5f4821dfd4f91599d3f7ba05f9 |
|
28-Aug-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Change default # of digits for APFloat::toString The previous default was almost, but not quite enough digits to represent a floating-point value in a manner which preserves the representation when it's read back in. The larger default is much less confusing. I spent some time looking into printing exactly the right number of digits if a precision isn't specified, but it's kind of complicated, and I'm not really sure I understand what APFloat::toString is supposed to output for FormatPrecision != 0 (or maybe the current API specification is just silly, not sure which). I have a WIP patch if anyone is interested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ca4d2e60ea36bd4f532ab5d52f5b4394a33be819 |
|
27-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Make all arithmetic operations with NaN produce positive NaNs. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
060d34b1cf9a1185b24db95925f23d9fbadce078 |
|
27-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Move setting fcNormal in zeroSignificand() to calling code. Zeroing the significand of a floating point number does not necessarily cause a floating point number to become finite non zero. For instance, if one has a NaN, zeroing the significand will cause it to become +/- infinity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
763c066dca324ac4b86e7f014fe580ae5ba29fa0 |
|
18-Jul-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Handle '.' correctly in hex float literal parsing. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f0d0a1681a96f8c896d2ce3b1415c5d567cf5bb1 |
|
16-Jul-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[APFloat] PR16573: Avoid losing mantissa bits in ppc_fp128 to double truncation When truncating to a format with fewer mantissa bits, APFloat::convert will perform a right shift of the mantissa by the difference of the precision of the two formats. Usually, this will result in just the mantissa bits needed for the target format. One special situation is if the input number is denormal. In this case, the right shift may discard significant bits. This is usually not a problem, since truncating a denormal usually results in zero (underflow) after normalization anyway, since the result format's exponent range is usually smaller than the target format's. However, there is one case where the latter property does not hold: when truncating from ppc_fp128 to double. In particular, truncating a ppc_fp128 whose first double of the pair is denormal should result in just that first double, not zero. The current code however performs an excessive right shift, resulting in lost result bits. This is then caught in the APFloat::normalize call performed by APFloat::convert and causes an assertion failure. This patch checks for the scenario of truncating a denormal, and attempts to (possibly partially) replace the initial mantissa right shift by decrementing the exponent, if doing so will still result in a valid *target format* exponent. Index: test/CodeGen/PowerPC/pr16573.ll =================================================================== --- test/CodeGen/PowerPC/pr16573.ll (revision 0) +++ test/CodeGen/PowerPC/pr16573.ll (revision 0) @@ -0,0 +1,11 @@ +; RUN: llc < %s | FileCheck %s + +target triple = "powerpc64-unknown-linux-gnu" + +define double @test() { + %1 = fptrunc ppc_fp128 0xM818F2887B9295809800000000032D000 to double + ret double %1 +} + +; CHECK: .quad -9111018957755033591 + Index: lib/Support/APFloat.cpp =================================================================== --- lib/Support/APFloat.cpp (revision 185817) +++ lib/Support/APFloat.cpp (working copy) @@ -1956,6 +1956,23 @@ X86SpecialNan = true; } + // If this is a truncation of a denormal number, and the target semantics + // has larger exponent range than the source semantics (this can happen + // when truncating from PowerPC double-double to double format), the + // right shift could lose result mantissa bits. Adjust exponent instead + // of performing excessive shift. + if (shift < 0 && isFiniteNonZero()) { + int exponentChange = significandMSB() + 1 - fromSemantics.precision; + if (exponent + exponentChange < toSemantics.minExponent) + exponentChange = toSemantics.minExponent - exponent; + if (exponentChange < shift) + exponentChange = shift; + if (exponentChange < 0) { + shift -= exponentChange; + exponent += exponentChange; + } + } + // If this is a truncation, perform the shift before we narrow the storage. if (shift < 0 && (isFiniteNonZero() || category==fcNaN)) lostFraction = shiftRight(significandParts(), oldPartCount, -shift); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c93bee09ac0ebfad4efd7a7d195ce586d9ad50ed |
|
02-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Swap an early out check so we do not dereference str.end(). Originally if D.firstSigDigit == str.end(), we will have already dereferenced D.firstSigDigit in the first predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b57770387ab262a0a23e77f094f599b6c955ba14 |
|
02-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Ensure that we can properly parse strings that do not have null terminators. rdar://14323230 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4dfc257a1ad58be07753bfb96377869cb5dcf8e7 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d6bd98d01c3db23f9a66b1f1b2d3e65eef65382e |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4da2ebeefb10390ad16238ae7a1038a987466225 |
|
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 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
41489dd295d3b2b3df9c13989552c45efc93b912 |
|
27-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 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(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
575694b6a7d49004acc93294bc88d0bc337e4d27 |
|
24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Added support for parsing float strings which contain {inf,-inf,NaN,-NaN}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
fdec0c7a7302702d08f1221609221018af8085ec |
|
24-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
[APFloat] Added make{Zero,Inf} methods and implemented get{Zero,Inf} on top of them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
fb25071a18ef24949f2f422c919b85340d6c6e2a |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c29f5dc29eff6f00e23eb24a6be2b27a558aee98 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
db045ab1532469551a56e5811e684920a6f7a10c |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
07969dc8aed62fcd5c5760b2ec331275479f4a80 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
15c6aa91477c1984455185854622ba4ee4829ab1 |
|
19-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Fixed comment typo that causes the given comment to actually make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
abff3aa8217049cffe6da77c91e510c66b8c2313 |
|
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/APFloat objects with placement new, where the overhead of tracking the pointers for cleanup is significant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
77e5c2a1791b4f0338820e377bd255858bde64d5 |
|
01-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
APFloat: Use isDenormal instead of hand-rolled code to check for denormals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
964722ca40f48c65605e459e3a732bb8783b92f6 |
|
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4b6b53b0cec4fcf4d570daed3be41d6147d05224 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b631a41177de3dabe6ce273e515a1501a4387054 |
|
20-Mar-2013 |
Hao Liu <Hao.Liu@arm.com> |
Fix AsmPrinter crashes with assertion. Bug 15318 in Bugzilla git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
bd7561ea29649625775ef814dded2856d91c4dcf |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
0a29cb045444c13160e90fe7942a9d7c720185ed |
|
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. This default value allowed bugs to creep in, where it was inappropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
8a53a8329f47f86757af17dbea2864aa95414615 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
96f498bd9f140a98321c478f517877c4767b94fa |
|
13-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove redundant 'llvm::' qualifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7aa1c321f00d29fdc84e9a03080853aa25dd06fc |
|
07-Jan-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Implement APFloat::isDenormal() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
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 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. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
999d8bc38e2d8fad5acd978517bc6ba3047fa201 |
|
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, semantics must still be alive at the moment we delete APFloat. Found by experimental AddressSanitizer use-after-scope checker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
6b370e615ca5b3ef17ed4fe4fa891fab1e2bdd9a |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
159c735f7b8c4ec441780abcfccbe66f14346543 |
|
29-Oct-2012 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
APFloat cleanup: Remove now unused "arithmeticOK" logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
fce241d76fa39347f852fa74363b61c5e42cc602 |
|
29-Oct-2012 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
APFloat cleanup: Remove now unused fields "sign2" and "exponent2". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
69c9c8c4cf57d49a0c64507082617f433372831d |
|
29-Oct-2012 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
Implement arithmetic on APFloat with PPCDoubleDouble semantics by treating it as if it were an IEEE floating-point type with 106-bit mantissa. This makes compile-time arithmetic on "long double" for PowerPC in clang (in particular parsing of floating point constants) work, and fixes all "long double" related failures in the test suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
3e7735fe1c9e8f1cbad1bac02fbb998017fd0cbb |
|
26-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
APFloat::roundToIntegral: Special values don't keep the exponent value up to date, don't rely on it. Add a couple of unit tests for special floats. Fixes 13929, found by MemorySanitizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b080e2fb1c8164c95e6f8d06754f0c7637eeae7b |
|
24-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix undefined behavior (signed integer overflow) when Clang parses a hexfloat with an enormous exponent. Caught by an existing unit test + -ftrapv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c82cc587a468d44e5cfabfa8f8a639667127845d |
|
15-Aug-2012 |
Owen Anderson <resistor@mac.com> |
Fix another roundToIntegral bug where very large values could become infinity. Problem and solution identified by Steve Canon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7c28978618cbbe472fe4415e56350a3461390658 |
|
15-Aug-2012 |
Owen Anderson <resistor@mac.com> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f7a5dfcb3b68b782543d25ba3151893111ff008f |
|
15-Aug-2012 |
Owen Anderson <resistor@mac.com> |
Fix a problem with APFloat::roundToIntegral where it would return incorrect results for negative inputs to trunc. Add unit tests to verify this behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d7a85b17bdbb4cb3c3551e533d7b01984ad28a2f |
|
14-Aug-2012 |
Owen Anderson <resistor@mac.com> |
Fix the construction of the magic constant for roundToIntegral to be 64-bit safe. Fixes c-torture/execute/990826-0.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7c626d30974c632ab500171ff185a24bcf2603bf |
|
14-Aug-2012 |
Owen Anderson <resistor@mac.com> |
Add a roundToIntegral method to APFloat, which can be parameterized over various rounding modes. Use this to implement SelectionDAG constant folding of FFLOOR, FCEIL, and FTRUNC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
9f14ed1c60a1f6e8ab434a85d2ba9d82bc125cf4 |
|
25-Jul-2012 |
David Blaikie <dblaikie@gmail.com> |
Don't add null characters to the end of the APFloat string buffer. Report/patch inspiration by Olaf Krzikalla. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ed7692a136a9bcf513b91b7b5eb33a1e2d83e7ee |
|
04-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Replace the hashing functions on APInt and APFloat with overloads of the new hash_value infrastructure, and replace their implementations using hash_combine. This removes a complete copy of Jenkin's lookup3 hash function (which is both significantly slower and lower quality than the one implemented in hash_combine) along with a somewhat scary xor-only hash function. Now that APInt and APFloat can be passed directly to hash_combine, simplify the rest of the LLVMContextImpl hashing to use the new infrastructure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
752b2f0d8815c65ed2ca3d8428e8060644562e24 |
|
19-Feb-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
APFloat::toString(): Fix overrun at scanning. FYI, clang/test/SemaTemplate/template-id-printing.cpp had been failing due to it on cygwin-clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
732f05c41f177a0bc4d47e93a5d02120f146cb4c |
|
10-Jan-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Add 'llvm_unreachable' to passify GCC's understanding of the constraints of several newly un-defaulted switches. This also helps optimizers (including LLVM's) recognize that every case is covered, and we should assume as much. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
2bd335470f8939782f3df7f6180282d3825d4f09 |
|
10-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unnecessary default cases in switches that cover all enum values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f9b1cd0c7f7ca7324eacc46db10438cd9dccb70f |
|
28-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add back a line I deleted by accident in r145141. Fixes uninitialized variable warnings and runtime failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4455142a95bb3d0f6e6cbb336d6558919cb59bb8 |
|
26-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix APFloat::convert so that it handles narrowing conversions correctly; it was returning incorrect values in rare cases, and incorrectly marking exact conversions as inexact in some more common cases. Fixes PR11406, and a missed optimization in test/CodeGen/X86/fp-stack-O0.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
90196fced249e2bfe693391022541b802a7b8aa7 |
|
12-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix APFloat::getSmallestNormalized so the shift doesn't depend on undefined behavior. Patch from Ahmed Charles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7247a5f20e1997e38cdfe3558afe8f10d547f2eb |
|
12-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix APFloat::getLargest so that it actually returns the correct value. Found by accident while reviewing a patch to nearby code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
9eb6b4d91b83448ec818089754c74bbdcf7dfd7a |
|
08-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix APInt::operator*= so that it computes the correct result for large integers where there is unsigned overflow. Fix APFloat::toString so that it doesn't depend on the incorrect behavior in common cases (and computes the correct result in some rare cases). Fixes PR11086. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
03dd4e8bd34de7b3cf4494043d2939a977134f32 |
|
03-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
1f6a329f79b3568d379142f921f59c4143ddaa14 |
|
12-Aug-2011 |
Duncan Sands <baldrick@free.fr> |
Silence a bunch (but not all) "variable written but not read" warnings when building with assertions disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
3ba292dbc2acee2d1052fb7ffe332e2164147b47 |
|
18-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity errors like the one corrected by r135261. Migrate all LLVM callers of the old constructor to the new one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e083805724196bd45a3612bf9373f503b5b8a7e0 |
|
15-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Explicitly cast the second argument to unsigned in order to select the desired overload. This is a bit of a hackish workaround to fix the compile after r135259. Let me know if there is a better approach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
3d42bfbbdd26ac56ccd706d4ebee984490c72ecc |
|
15-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Add an APFloat::convertToInt(APSInt) function that automatically manages the memory for the result. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
8398512f89623144c8bb45ce9deb4f74f76480fc |
|
30-Mar-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Avoid turning a floating point division with a constant power of two into a denormal multiplication. Some platforms may treat denormals as zero, on other platforms multiplication with a subnormal is slower than dividing by a normal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
2746000f4fa54e6ad00cf96910ea5772803624ed |
|
30-Mar-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add APFloat::getExactInverse. The idea is, that if an ieee 754 float is divided by a power of two, we can turn the division into a cheaper multiplication. This function sees if we can get an exact multiplicative inverse for a divisor and returns it if possible. This is the hard part of PR9587. I tested many inputs against llvm-gcc's frotend implementation of this optimization and didn't find any difference. However, floating point is the land of weird edge cases, so any review would be appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f09a8b533d8a28550e1a739c1ce8da167260c25f |
|
18-Mar-2011 |
Bill Wendling <isanbard@gmail.com> |
Initialize the only-used-with-PPC-double-double parts of the APFloat class. This makes valgrind stop complaining about uninitialized variables being read when it accesses a bitfield (category) that shares its bits with these variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
093399cbf3bcdb31d04b3bf5c5691fc88c25da48 |
|
17-Feb-2011 |
Nadav Rotem <nadav.rotem@intel.com> |
Enhance constant folding of bitcast operations on vectors of floats. Add getAllOnesValue of FP numbers to Constants and APFloat. Add more tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
584520e8e2c1f8cc04bc8dd4dc4ea6c390627317 |
|
23-Jan-2011 |
Ted Kremenek <kremenek@apple.com> |
Null initialize a few variables flagged by clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4bb46f43eb48a9c7211916f60ee606edcd4fb4a2 |
|
06-Jan-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed parsing of hex floats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
40f8f6264d5af2c38e797e0dc59827cd231e8ff7 |
|
07-Dec-2010 |
Jay Foad <jay.foad@gmail.com> |
PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e4d19c9eb22899c9a555395d446a9ceef3bea7eb |
|
28-Nov-2010 |
Jay Foad <jay.foad@gmail.com> |
PR5207: change APInt::doubleToBits() and APInt::floatToBits() to be static methods that return a new APInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b1508d18896f9b9de7738b8df3cace64a2b22955 |
|
19-Aug-2010 |
Dale Johannesen <dalej@apple.com> |
Do not assert when reading an exponent out of range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
38e59891ee4417a9be2f8146ce0ba3269e38ac21 |
|
15-Jul-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't pass StringRef by reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
16e02097d283159c240996185a8b20f4ea46ccfc |
|
24-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Fix minor style issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
0ddda3b8c6acc85761636ad46981395fdbe8daba |
|
06-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
make APFloat::toString be const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d44c6cc4776d38dcb91069a776904b307f634370 |
|
01-Mar-2010 |
John McCall <rjmccall@apple.com> |
Don't potentially read past the end of the fill data when making a NaN from an APInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
165e96bd25200ccabe4539aaf29a249b61074d11 |
|
28-Feb-2010 |
John McCall <rjmccall@apple.com> |
Properly clear all the extra bits in a significand when making a NaN from an APInt. Be certain to set the integer bit in an x87 extended-precision significand so that we don't accidentally make a pseudo-NaN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e12b73816b50bbe2cc54b8005d86c95413b4f465 |
|
28-Feb-2010 |
John McCall <rjmccall@apple.com> |
Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width payloads. APFloat's internal folding routines always make QNaNs now, instead of sometimes making QNaNs and sometimes SNaNs depending on the type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
8b3f3307a26c5911eef034db565aec22ed74f13b |
|
26-Feb-2010 |
John McCall <rjmccall@apple.com> |
Make APFloat's string-parsing routines a bit safer against very large exponents. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
6a09affdf62fccbd190ca6e9cac0cb065b5f2677 |
|
25-Dec-2009 |
John McCall <rjmccall@apple.com> |
Implement support for converting to string at "natural precision", and fix some major bugs in long-precision conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
003a09c68daa4934b3fe94ba03c7f50f8786310a |
|
24-Dec-2009 |
John McCall <rjmccall@apple.com> |
Substantially optimize APFloat::toString() by doing a single large divide to cut the significand down to the desired precision *before* entering the core divmod loop. Makes the overall algorithm logarithmic in the exponent. There's still a lot of room for improvement here, but this gets the performance back down to acceptable-for-diagnostics levels, even for long doubles. negligible, even on long doubles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
00e65de9d83f846af732e3ace3f48d43d67b13d1 |
|
24-Dec-2009 |
John McCall <rjmccall@apple.com> |
Add accessors for the largest-magnitude, smallest-magnitude, and smallest-normalized-magnitude values in a given FP semantics. Provide an APFloat-to-string conversion which I am quite ready to admit could be much more efficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c5a75523eff46fe3880b94ae0fd22a1e01c27f28 |
|
28-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
99ebfa5f6c6f24fdce4cdd3de1adbc4a282db337 |
|
27-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add new APFloat methods that return sign, exp, and mantissa of ieee float and double values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a223aed12625747ca9dbd4b1bb4c21494c61cf3e |
|
23-Oct-2009 |
Dale Johannesen <dalej@apple.com> |
Commit fixes for half precision I noted in review, so they don't get lost; I don't think the originator has write access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
cc4287a374a33fb03ef41b92f74783e31ef47650 |
|
16-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
Add half precision floating point support (float16) to APFloat, patch by Peter Johnson! (PR5195) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ad78500712a48b0b93ba0430d7e20fe8531014f8 |
|
24-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
wrap long lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d7bd78e36e1d3adfc90a4f95b2cc849d38af1b24 |
|
17-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
add a version of the APFloat constructor that initializes to 0.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4755e9955b62e2e422a16634045d106785e6e248 |
|
22-Aug-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7e844f128e0be77154aa08dbf2e828fcd4051604 |
|
22-Aug-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Implement APInt <-> APFloat conversion for IEEE 128-bit floats. This fixes PR2555 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c78b33bdc1953914b0bbbaa1a0475cc231b43991 |
|
21-Aug-2009 |
Erick Tryzelaar <idadesub@users.sourceforge.net> |
Add support for including '+' in APFloat strings, more asserts, and many new unit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
cdd93d8c35e1e983fd3a37f3de2ebc154731f20d |
|
20-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix two APFloat bugs in converting hexadecimal constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f8bc801c6cbaa1a7d34d779266755a86c97f5650 |
|
18-Aug-2009 |
Erick Tryzelaar <idadesub@users.sourceforge.net> |
Fix an uninitialized value warning in APFloat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a15d890c34b5e3a6373c410ebc58453f2d52f43b |
|
17-Aug-2009 |
Erick Tryzelaar <idadesub@users.sourceforge.net> |
Modify APFloat to take a StringRef instead of a c string. This also adds unit tests to APFloat that mainly tests the string handling of APFloat, but not much else of it's api. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c23197a26f34f559ea9797de51e187087c039c42 |
|
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c5ca713b8073d9fe95b258d0c01328d020df3357 |
|
30-May-2009 |
Mike Stump <mrs@apple.com> |
Add support for letting the client choose different flavors of NaNs. Testcase to be added in clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f3dc0c048a807d1de4b8738af92f5aaeb34786d4 |
|
14-May-2009 |
Mike Stump <mrs@apple.com> |
Fix whitespacing (space after switch). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
1b25cb2416c46a6cebf2a6c52235e9fe46a10d11 |
|
23-Mar-2009 |
Dale Johannesen <dalej@apple.com> |
Fix internal representation of fp80 to be the same as a normal i80 {low64, high16} rather than its own {high64, low16}. A depressing number of places know about this; I think I got them all. Bitcode readers and writers convert back to the old form to avoid breaking compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ee167a729ebf150950025ecec66ba8b3386ebfe9 |
|
13-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
just initialize the first element, we don't need to set the rest to zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
807926a9453f6acbef5c3749bfb7edcc9c3932cb |
|
13-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
Eliminate a 9640 byte static mutable initialized data item by moving it to the stack. This shrinks all llvm tools by 9k, and improves reentrancy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e213f3f97241788825900a62f3fe1535ae96a1d7 |
|
13-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
static functions don't need an anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
aff9c270de8de7d1a0bc138d391bc67136bad58e |
|
14-Feb-2009 |
Cedric Venet <cedric.venet@laposte.net> |
Unbreak the build on win32. Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
541ed9fd02ea48d2739f4a9dd681ba2d5da26886 |
|
21-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Do not use host floating point types when emitting ASCII IR; loading and storing these can change the bits of NaNs on some hosts. Remove or add warnings at a few other places using host floating point; this is a bad thing to do in general. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ed6af24e146a5d358115123f0d2be694c1fa3a84 |
|
21-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Make special cases (0 inf nan) work for frem. Besides APFloat, this involved removing code from two places that thought they knew the result of frem(0., x) but were wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
24b66a83ca8c80417ad7523c35ece709a7e6599c |
|
20-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Add an IEEE remainder function, which is not fully implemented yet and not used. This is mainly to clarify that APFloat::mod implements C fmod, not remainder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
1f54f58e64314601de1a082383e84162b287cab9 |
|
19-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
compile-time fmod was done incorrectly. PR 3316. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b7c0d94465feaf09281ca8088f2872583a0c7d84 |
|
27-Nov-2008 |
Bill Wendling <isanbard@gmail.com> |
Get rid of bogus "control may reach end of non-void function ‘...’ being inlined" message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
794a7dbce030f93315b1305f83a374232f09bba5 |
|
26-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
Revert r60042. IndVarSimplify should check if APFloat is PPCDoubleDouble first before trying to convert it to an integer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
88f2d6c167a575e5d9c62ecb211ff4d825b09ed3 |
|
25-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
convertToSignExtendedInteger should return opInvalidOp instead of asserting if sematics of float does not allow arithmetics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
23a98551ab65eeb8fe5019df8b7db4891582a4bd |
|
10-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Add a "loses information" return value to APFloat::convert and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7111b02c734c992b8c97d9918118768026dad79e |
|
09-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Rename APFloat::convertToAPInt to bitcastToAPInt to make it clearer what the function does. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e4a424590675cf32b729420665626774b01b114d |
|
07-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Mark negative-zero-to-int conversion as Inexact, since -0.0 can't be represented as an int. This prevents llvm from reducing -0.0 to a load-and-convert of int 0. Fixes ieee.exp/mzero[2356].c in gcc testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
2df5eec2ff25cbb7e5fd4848e667fb9f854d3339 |
|
07-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Be more precise about which conversions of NaNs are Inexact. (These are not Inexact as defined by IEEE754, but that seems like a reasonable way to abstract what happens: information is lost.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
65609f2efa17916f77083a10a9a5239ff2fa1899 |
|
06-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Temporarily revert functionality change from my previous patch; it is too aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d3d8ce3aba85b40999eddbec3956f5b9534a36ff |
|
06-Oct-2008 |
Dale Johannesen <dalej@apple.com> |
Mark shortening NaN conversions as Inexact. PR 2856. Improve description of unsupported formats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
fad86b003a839cef40ec8ce8408322f4913368ca |
|
17-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
Rework the routines that convert AP[S]Int into a string. Now, instead of returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
9f17eb0b79717d479e462f0284442adbeae903ef |
|
17-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
remove a dead APInt ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
386f3e9d50507ecbfb01436dee85cb41ac2df530 |
|
15-May-2008 |
Dale Johannesen <dalej@apple.com> |
Don't assume underlying APInt type is limited to 64 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
6a33cc12ebf43b569ceea591c53edd3d507ad535 |
|
15-May-2008 |
Dale Johannesen <dalej@apple.com> |
Remove undefined behavior in hex string->APFloat conversion. Try 0x1.0000a4p+0f. Neil, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7c2e4f2fc5a2fdcf4e933a03dd2e89154c946401 |
|
12-May-2008 |
Dan Gohman <gohman@apple.com> |
Make firstEightPowers const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
48e8c80e1791adb7a07b8fd6e27edcdfbb756950 |
|
02-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Suppress -Wshorten-64-to-32 warnings for 64-bit hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
79f82f9fd5dd5bceaf2a3b1c0426b3e7f40b6474 |
|
20-Apr-2008 |
Dale Johannesen <dalej@apple.com> |
Check that APFloat::convert is not trying to target ppc long double, which doesn't work. This may break some stuff temporarily, but I want to avoid the propagation of code that assumes this works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
3bd659ba20c235caabb0df6f93888d898197afb0 |
|
10-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Make several symbols static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
93c276e1c92da03ce9805fd3f3814b5e9b8cd57c |
|
29-Feb-2008 |
Dan Gohman <gohman@apple.com> |
Add a method to APFloat to convert directly from APInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
1f801fa5ada9cb40fb97ae755c282e91af54a1bc |
|
11-Feb-2008 |
Ted Kremenek <kremenek@apple.com> |
Added "Profile" method to APFloat for use with FoldingSet. Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary objects to a profile via dispatch to FoldingSetTrait<T>::Profile(). Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their functionality is now replaced using the above mentioned member template. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b63fa050b75b1aefbd6b0dac23ca789fac29128b |
|
31-Jan-2008 |
Dale Johannesen <dalej@apple.com> |
Chris' change to print an approximation to long doubles exposed a bug in APFloat's long double->double conversion of NaNs. Broke several things in the ieee part of gcc testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b10abe1e8c19f60191dd7afa50f8c623e2b8f041 |
|
29-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Remove top-level const qualifiers from casts, avoiding associated compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
36d26c201f39c63ca440b74e5b317ae0039c0414 |
|
08-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
proper #include order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
cc2335968f3bcc39a12308390ea33ab0eab90744 |
|
05-Dec-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Prior commit updated wrong if, apologies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a89e45f7544bff22b09de7ac7a8c000701bffae4 |
|
05-Dec-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Handle zero correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
db1e30272c06daba86c896e56a7d225a15c93b98 |
|
05-Dec-2007 |
Dale Johannesen <dalej@apple.com> |
Handle 0 correctly in string->APFloat conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d0763b91594982752db9f3eabbb2ea40867ca88a |
|
17-Nov-2007 |
Dale Johannesen <dalej@apple.com> |
Fix denormal check in float->APInt conversion. PR 1804. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e3d936ac9ce56acfeb058f573e6c6ce0682ed781 |
|
02-Nov-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Remove some unnecessary C-style statics. Restore an assertion that arithmetic can be performed on this format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
43a4b28e94598ea8accd7a97f8e1b5902731f340 |
|
01-Nov-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Add back line whose removal somehow crept into prior patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ee7ae384f5d6067f1ca6d475b8630fe91ff2f6b6 |
|
01-Nov-2007 |
Neil Booth <neil@daikokuya.co.uk> |
When converting to integer, do bit manipulations in the destination memory rather than in a copy of the APFloat. This avoids problems when the destination is wider than our significand and is cleaner. Also provide deterministic values in all cases where conversion fails, namely zero for NaNs and the minimal or maximal value respectively for underflow or overflow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
8df77a9e0fbe32bd519ac2fd16ba28298a110a69 |
|
26-Oct-2007 |
Hartmut Kaiser <hartmut.kaiser@gmail.com> |
Clarified operator precedence. Silenced VC++ warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
686700e32561c7be9e620b9b86134467c2456128 |
|
15-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Fast-track obviously over-large and over-small exponents during decimal-> integer conversion. In some such cases this makes us one or two orders of magnitude faster than NetBSD's libc. Glibc seems to have a similar fast path. Also, tighten up some upper bounds to save a bit of memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e5e0194583c9d95cae685da139531624e050d39e |
|
14-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Consolidate logic for creating NaNs. Silence compiler warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
caf19d79e5cd41229d85bd514b86a1423b9a0f14 |
|
14-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Whether arithmetic is supported is a property of the semantics. Make it so, and clean up the checks by putting them in an inline function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
1870f29c6c7db1230aedd44a93a8a2d9339c7dd5 |
|
14-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Separate out parsing of decimal number. Use this to only allocate memory for the significand once up-front. Also ignore insignificant trailing zeroes; this saves unnecessary multiplications later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d1a23d573d5408be1cf52358fe03df0bfa07e16e |
|
13-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
If the power of 5 is exact, and the reciprocal exact, the error is zero not one half-ulps. This prevents an infinite loop in rare cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
6ac7016eb1a2f58612e291a91e50f3e22df44d74 |
|
12-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Remove duplicate comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
96c7471b39dc77d4f29658212e5a72e575b23c39 |
|
12-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Implement correctly-rounded decimal->binary conversion, i.e. conversion from user input strings. Such conversions are more intricate and subtle than they may appear; it is unlikely I have got it completely right first time. I would appreciate being informed of any bugs and incorrect roundings you might discover. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
5b8e0c5fd32fb3c4b6b13df99d4acab64d4e56c1 |
|
12-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Remove a field that was never used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7a951ca5480698c97bcf1561d3d564e5bd9199f8 |
|
12-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
If we're trying to be arbitrary precision, unsigned char clearly won't cut it. Needed for dec->bin conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a471c2ecda37cd1bae0d94e832f002caa7b63216 |
|
11-Oct-2007 |
Dale Johannesen <dalej@apple.com> |
Next PPC long double bits. First cut at constants. No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
5477f8593db785bbe84a4fe923b1e5645ff15f6a |
|
08-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Use APInt::tcExtract. It's cleaner, and works :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f16c595252de363e0e1f6895a5a626bc30017053 |
|
07-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Add back convertFromSignExtendedInteger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
7a7bc0f7248881cff466e964c4409c9c7da9da85 |
|
07-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Now that convertFromUnsignedParts has a sane, constant interface, convertFromZeroExtendedInteger can be simplified as it doesn't need to make a copy of the source bignum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
643ce59495702ef29573b725d7431638be1c136a |
|
07-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Reimplement convertFromUnsignedInteger so it is passed a const bignum. It used to modify its argument in-place. This interface is saner and the implementation more efficient. It will be needed for decimal->binary conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ccf596a53e16ea221a9bf8b3874a7d6afa71f1f4 |
|
07-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
convertFromInteger, as originally written, expected sign-extended input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
33d4c92e78a32a8e07ab3ebc1487b07304875ddd |
|
07-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
combineLostFractions does not need to be a member function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
92f7e8d92581e031beeee3dc6c170f5c2cc7ea18 |
|
06-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Cleaner, more general exponent output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a11ef82207cd7ab8a2d39c946bf6dc34636f2904 |
|
06-Oct-2007 |
Chris Lattner <sabre@nondot.org> |
silence warnings in no-assert build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
978661d05301a9bcd1222c048affef679da5ac43 |
|
06-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Generalize tcFullMultiply so that the operands can be of differing part widths. Also, return the number of parts actually required to hold the result's value. Remove an over-cautious condition from rounding of float->hex conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a30b0ee959b53e83ed3697ee0b704a493829dc04 |
|
04-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Add APFloat -> hexadecimal string conversion, as per %a and %A in C99. Useful for diagnostics and debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b7dea4cb368c7b2e825e6d58b249693736a32e21 |
|
03-Oct-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Tweak RoundAwayFromZero the bit number below which is truncated, and make it const. Preparation for APFloat -> hexadecimal string conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
cce23a4c3585d9d7df538bbc71151624a18f40cd |
|
30-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Simplify and fix signed int -> FP conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
4f88170be09496d5e934c601a83d37941ec9037a |
|
26-Sep-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Whitespace and compiler warning cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
0edc47ad7b3fb5ad5f9dcd4139f3074dd11ff457 |
|
26-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Make APFloat->int conversions deterministic even in cases with undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
902ff94aff34acb2b11f4651f4a4006cb788301a |
|
25-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Fix long double<->shorter FP type conversions of zero, infinity, and NaNs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
c8db43ddaf1c1f484ea08dff6fb61e5fa18352bc |
|
22-Sep-2007 |
Neil Booth <neil@daikokuya.co.uk> |
Handle storage complications of float->float conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
910993e8dc49a25d9da3b53de4a82568c14e91cc |
|
22-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Change APFloat::convertFromInteger to take the incoming bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
a72a5a095d0161f9258e75f38436698e9d75b879 |
|
21-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Fix PR 1688. See comments there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
cb648f90a26eb05ae8d508d500ca12881df50824 |
|
14-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Remove spurious consts. This fixes warnings with compilers that are strict about such things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
257500db0437b6089f46ccf58bcdf04ad8dae9d9 |
|
12-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Compensate for partCount change in Bogus definition (could break hash table in ConstantFP) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
3f6eb7419de437436265831fce92f62498556e08 |
|
11-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Add APInt interfaces to APFloat (allows directly access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
58c2e4c5fdf8f9b275037e8b8d7fd64d56719fe6 |
|
05-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Fix mod so it actually works. Fix conversions to native types to handle denormals correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
e15c2db9935eee66a8008f1bd09882aff2ed3aae |
|
01-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Oops, should be part of 41664; won't work very well without this piece. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
eaf089430e7681fcddc3465c3b33b9645273ab02 |
|
31-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Enhance APFloat to retain bits of NaNs (fixes oggenc). Use APFloat interfaces for more references, mostly of ConstantFPSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
f04afdbb48568ef09f11fd10ac03426101f2dbf8 |
|
30-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Change LegalFPImmediates to use APFloat. Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
12595d7b165bf460b18f4ddd395dd29e6e6e68bc |
|
25-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual. This means backing out the preceding change to Constants.cpp, alas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
d3b51fd17024569cc53ae02b9a4f80857930e08b |
|
24-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Revised per review feedback from previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
ada530b4f552da1d122be0c6dbc936e689fc16fd |
|
24-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
silence some warnings in an optimized build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
343e770983dcf53a1ea2dfca4e04d28ebc41138a |
|
24-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Change internal representation of ConstantFP to use APFloat. Interface to rest of the compiler unchanged, as yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|
b39cdde41d3c91d1fd48a038e63b78122607bb10 |
|
21-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
initial checkin of Neil's APFloat work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/APFloat.cpp
|