| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
inlined" message.
llvm-svn: 60165
|
|
|
|
|
|
| |
first before trying to convert it to an integer.
llvm-svn: 60072
|
|
|
|
|
|
| |
if sematics of float does not allow arithmetics.
llvm-svn: 60042
|
|
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
|
|
|
|
|
|
| |
make it clearer what the function does. No functional
change.
llvm-svn: 57325
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 57224
|
|
|
|
|
|
|
|
| |
are Inexact. (These are not Inexact as defined
by IEEE754, but that seems like a reasonable way
to abstract what happens: information is lost.)
llvm-svn: 57218
|
|
|
|
|
|
| |
it is too aggressive.
llvm-svn: 57203
|
|
|
|
|
|
| |
Improve description of unsupported formats.
llvm-svn: 57185
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 54873
|
|
|
|
| |
llvm-svn: 54869
|
|
|
|
|
|
| |
to 64 bits.
llvm-svn: 51135
|
|
|
|
|
|
| |
conversion. Try 0x1.0000a4p+0f. Neil, please review.
llvm-svn: 51132
|
|
|
|
| |
llvm-svn: 50975
|
|
|
|
| |
llvm-svn: 50590
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 49983
|
|
|
|
| |
llvm-svn: 49496
|
|
|
|
| |
llvm-svn: 47738
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 46957
|
|
|
|
|
|
|
| |
exposed a bug in APFloat's long double->double conversion of
NaNs. Broke several things in the ieee part of gcc testsuite.
llvm-svn: 46617
|
|
|
|
|
|
| |
compiler warnings.
llvm-svn: 46509
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 44707
|
|
|
|
| |
llvm-svn: 44614
|
|
|
|
| |
llvm-svn: 44613
|
|
|
|
| |
llvm-svn: 44594
|
|
|
|
|
|
| |
PR 1804.
llvm-svn: 44201
|
|
|
|
|
|
| |
Restore an assertion that arithmetic can be performed on this format.
llvm-svn: 43638
|
|
|
|
| |
llvm-svn: 43627
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 43626
|
|
|
|
|
|
| |
Silenced VC++ warning.
llvm-svn: 43372
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42984
|
|
|
|
| |
llvm-svn: 42966
|
|
|
|
|
|
| |
so, and clean up the checks by putting them in an inline function.
llvm-svn: 42965
|
|
|
|
|
|
|
| |
memory for the significand once up-front. Also ignore insignificant
trailing zeroes; this saves unnecessary multiplications later.
llvm-svn: 42964
|
|
|
|
|
|
| |
one half-ulps. This prevents an infinite loop in rare cases.
llvm-svn: 42950
|
|
|
|
| |
llvm-svn: 42913
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42912
|
|
|
|
| |
llvm-svn: 42911
|
|
|
|
|
|
| |
it. Needed for dec->bin conversions.
llvm-svn: 42910
|
|
|
|
|
|
|
|
|
| |
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.
llvm-svn: 42865
|
|
|
|
| |
llvm-svn: 42746
|
|
|
|
| |
llvm-svn: 42735
|
|
|
|
|
|
|
| |
convertFromZeroExtendedInteger can be simplified as it doesn't need
to make a copy of the source bignum.
llvm-svn: 42734
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42733
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42732
|
|
|
|
| |
llvm-svn: 42729
|
|
|
|
| |
llvm-svn: 42690
|
|
|
|
| |
llvm-svn: 42687
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42669
|