| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 79592
|
|
|
|
|
|
| |
SmallString::c_str.
llvm-svn: 79456
|
|
|
|
|
|
| |
- Patch by Erick Tryzelaar, with some edits (and a bug fix) from me.
llvm-svn: 78885
|
|
|
|
| |
llvm-svn: 78825
|
|
|
|
|
|
|
|
| |
when !isSingleWord() but getActiveBits() is small,
we were using the pointer value instead of the low
word of the integer value.
llvm-svn: 78821
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75451
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
in APIntTest.cpp.
llvm-svn: 74550
|
|
|
|
| |
llvm-svn: 74515
|
|
|
|
|
|
|
| |
This will allow it to be used in unittests that use gtest's
EXPECT_EQ.
llvm-svn: 74494
|
|
|
|
| |
llvm-svn: 72235
|
|
|
|
| |
llvm-svn: 71738
|
|
|
|
|
|
| |
class.
llvm-svn: 70488
|
|
|
|
|
|
| |
patch by Jeff Yasskin!
llvm-svn: 70058
|
|
|
|
|
|
|
| |
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.
llvm-svn: 68227
|
|
|
|
| |
llvm-svn: 67302
|
|
|
|
|
|
|
|
|
|
|
|
| |
large for the testsuite) took over six minutes to compile on my Mac.
The patched LLVM-GCC compiles that testcase in three seconds (GCC
takes less than one second). This hash function is more complex
(about 35 instructions on x86) than what Chris wanted, but I expect it
will be well-behaved with arbitrary inputs.
Thank you to everyone who responded to my previous request for advice.
llvm-svn: 66962
|
|
|
|
|
|
|
|
|
| |
causing assertion failures in getSExtValue().
Fix it by making highWordBits actually contain what its name says,
and add some more unit-tests for APInt.
This fixes PR3419.
llvm-svn: 63107
|
|
|
|
|
|
| |
compatibility with cygwin. Patch by Jay Foad!
llvm-svn: 62695
|
|
|
|
| |
llvm-svn: 62512
|
|
|
|
| |
llvm-svn: 57384
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263
|
|
|
|
|
|
|
| |
and the slow-path cases out of line. This speeds up instcombine
a bit in real world cases. Patch contributed by m-s.
llvm-svn: 55063
|
|
|
|
| |
llvm-svn: 55053
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
count.
llvm-svn: 53810
|
|
|
|
|
|
|
|
| |
multiplicative inverse of a given number. Modify udivrem to allow input and
output pairs of arguments to overlap. Patch is based on the work by Chandler
Carruth.
llvm-svn: 52638
|
|
|
|
| |
llvm-svn: 52602
|
|
|
|
|
|
|
|
|
| |
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.
test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll
llvm-svn: 51999
|
|
|
|
| |
llvm-svn: 50590
|
|
|
|
| |
llvm-svn: 49496
|
|
|
|
|
|
|
| |
marked read-write. Use const so that they can be allocated in a
read-only segment.
llvm-svn: 48800
|
|
|
|
| |
llvm-svn: 48421
|
|
|
|
| |
llvm-svn: 48035
|
|
|
|
|
|
| |
instead of uint32_t for the shift/rotate count operand type.
llvm-svn: 47741
|
|
|
|
|
|
|
| |
profile of the APSInt object. This caused unexpected Profile collisions where
none should have occurred.
llvm-svn: 47338
|
|
|
|
|
|
| |
being consistent with the rest of the APInt implementation.
llvm-svn: 47138
|
|
|
|
| |
llvm-svn: 47086
|
|
|
|
| |
llvm-svn: 46188
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45342
|
|
|
|
|
|
| |
Support libraries separately into their own module.
llvm-svn: 44852
|
|
|
|
| |
llvm-svn: 44296
|
|
|
|
|
|
| |
instead of returning some random large number.
llvm-svn: 44294
|
|
|
|
| |
llvm-svn: 42909
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
arbitrary range of bits embedded in the middle of another bignum.
This kind of operation is desirable in many cases of software
floating point, e.g. converting bignum integers to floating point
numbers of fixed precision (you want to extract the precision most
significant bits).
Elsewhere, add an assertion, and exit the shift functions early if
the shift count is zero.
llvm-svn: 42745
|
|
|
|
| |
llvm-svn: 42670
|
|
|
|
|
|
|
|
| |
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
|