| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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").
llvm-svn: 75640
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 75379
|
|
|
|
|
|
|
|
| |
Testcase to be
added in clang.
llvm-svn: 72606
|
|
|
|
| |
llvm-svn: 71738
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 67562
|
|
|
|
| |
llvm-svn: 66850
|
|
|
|
|
|
| |
to the stack. This shrinks all llvm tools by 9k, and improves reentrancy.
llvm-svn: 66847
|
|
|
|
| |
llvm-svn: 66845
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 64554
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 62712
|
|
|
|
|
|
|
|
| |
Besides APFloat, this involved removing code
from two places that thought they knew the
result of frem(0., x) but were wrong.
llvm-svn: 62645
|
|
|
|
|
|
|
|
| |
fully implemented yet and not used. This is
mainly to clarify that APFloat::mod implements
C fmod, not remainder.
llvm-svn: 62593
|
|
|
|
| |
llvm-svn: 62528
|
|
|
|
|
|
| |
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
|