| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
llvm-svn: 82355
 | 
| | 
| 
| 
| 
| 
|  | 
icc (#177, partial).  Patch by Erick Tryzelaar.
llvm-svn: 81106
 | 
| | 
| 
| 
|  | 
llvm-svn: 79875
 | 
| | 
| 
| 
|  | 
llvm-svn: 79602
 | 
| | 
| 
| 
| 
| 
|  | 
negative checks resemble each other.
llvm-svn: 79595
 | 
| | 
| 
| 
|  | 
llvm-svn: 79594
 | 
| | 
| 
| 
|  | 
llvm-svn: 79593
 | 
| | 
| 
| 
|  | 
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
 |