| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Useful for diagnostics and debugging.
llvm-svn: 42598
|
|
|
|
|
|
|
|
| |
it const.
Preparation for APFloat -> hexadecimal string conversion.
llvm-svn: 42576
|
|
|
|
| |
llvm-svn: 42483
|
|
|
|
| |
llvm-svn: 42373
|
|
|
|
|
|
| |
cases with undefined behavior.
llvm-svn: 42328
|
|
|
|
|
|
| |
of zero, infinity, and NaNs.
llvm-svn: 42298
|
|
|
|
| |
llvm-svn: 42220
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 42210
|
|
|
|
| |
llvm-svn: 42181
|
|
|
|
|
|
| |
are strict about such things.
llvm-svn: 41956
|
|
|
|
|
|
| |
(could break hash table in ConstantFP)
llvm-svn: 41874
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 41858
|
|
|
|
|
|
| |
native types to handle denormals correctly.
llvm-svn: 41726
|
|
|
|
| |
llvm-svn: 41665
|
|
|
|
|
|
|
| |
Use APFloat interfaces for more references, mostly
of ConstantFPSDNode.
llvm-svn: 41632
|
|
|
|
|
|
|
|
|
| |
Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
llvm-svn: 41587
|
|
|
|
|
|
| |
This means backing out the preceding change to Constants.cpp, alas.
llvm-svn: 41378
|
|
|
|
| |
llvm-svn: 41353
|