| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 35690
|
|
|
|
| |
llvm-svn: 35666
|
|
|
|
| |
llvm-svn: 35644
|
|
|
|
|
|
| |
initialized this way, they do not do a malloc to allocate their buckets.
llvm-svn: 35642
|
|
|
|
| |
llvm-svn: 35632
|
|
|
|
| |
llvm-svn: 35534
|
|
|
|
|
|
|
|
| |
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.
llvm-svn: 35476
|
|
|
|
|
|
| |
Updates for change in interface of getFileStatus method of sys::Path class.
llvm-svn: 35458
|
|
|
|
|
|
| |
some test cases for bitwidth > 64.
llvm-svn: 35232
|
|
|
|
|
|
| |
Get pos/neg infinity the correct way.
llvm-svn: 35223
|
|
|
|
| |
llvm-svn: 35189
|
|
|
|
|
|
| |
constructor. This helps to fix test/Assembler/2007-03-19-NegValue.ll
llvm-svn: 35180
|
|
|
|
| |
llvm-svn: 35068
|
|
|
|
| |
llvm-svn: 35065
|
|
|
|
| |
llvm-svn: 35056
|
|
|
|
| |
llvm-svn: 34917
|
|
|
|
| |
llvm-svn: 34852
|
|
|
|
|
|
|
|
|
| |
this to a NOTE: because pari/gp results start to get rounded incorrectly
after 192 bits of precision. APInt and pari/gp never differ by more than
1, but APInt is more accurate because it does not lose precision after 192
bits as does pari/gp.
llvm-svn: 34834
|
|
|
|
| |
llvm-svn: 34833
|
|
|
|
| |
llvm-svn: 34828
|
|
|
|
|
|
| |
but not on X86 becuase shift by word size is "undefined".
llvm-svn: 34825
|
|
|
|
| |
llvm-svn: 34818
|
|
|
|
| |
llvm-svn: 34791
|
|
|
|
| |
llvm-svn: 34789
|
|
|
|
|
|
|
|
| |
are not needed as the results are the same with or without it.
Patch by Nicholas Lewycky.
llvm-svn: 34782
|
|
|
|
|
|
| |
Thanks for the idea Chris.
llvm-svn: 34779
|
|
|
|
| |
llvm-svn: 34775
|
|
|
|
|
|
| |
interface not depend on Type or ICmpInst.
llvm-svn: 34761
|
|
|
|
|
|
| |
can be chained together with other operations.
llvm-svn: 34743
|
|
|
|
|
|
| |
instead of honoring the client's requested bit width.
llvm-svn: 34712
|
|
|
|
| |
llvm-svn: 34705
|
|
|
|
|
|
|
| |
the bit width of negative numbers by computing the minimum bit width for a
negative value. E.g. 0x1800000000000000 could be just 0x8000000000000000
llvm-svn: 34695
|
|
|
|
|
|
|
|
|
|
| |
1. Add unsigned and signed versions of methods so a "bool" argument doesn't
need to be passed in.
2. Make the various getMin/getMax functions all be inline since they are
so simple.
3. Simplify sdiv and srem code.
llvm-svn: 34680
|
|
|
|
| |
llvm-svn: 34678
|
|
|
|
|
|
|
| |
2. Change RoundDoubleToAPInt to take a bit width parameter. Use that
parameter to limit the bit width of the result.
llvm-svn: 34673
|
|
|
|
| |
llvm-svn: 34662
|
|
|
|
| |
llvm-svn: 34648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2. Rewrite operator=(const APInt& RHS) to allow the RHS to be a different
bit width than the LHS. This makes it possible to use APInt as the key
of a DenseMap, as needed for the IntConstants map in Constants.cpp
3. Fix operator=(uint64_t) to clear unused bits in case the client assigns
a value that has more bits than the APInt allows.
4. Assert that bit widths are equal in operator==
5. Revise getHashValue() to put the bit width in the low order six bits.
This should help to make i1 0, i2 0, ... i64 0 all distinct in the
IntConstants DenseMap.
llvm-svn: 34646
|
|
|
|
|
|
| |
Fix toString use of getValue to use getZExtValue()
llvm-svn: 34642
|
|
|
|
| |
llvm-svn: 34634
|
|
|
|
| |
llvm-svn: 34632
|
|
|
|
|
|
|
|
|
|
| |
2. Fix countTrailingZeros to use a faster algorithm.
3. Simplify sext() slightly by using isNegative().
4. Implement ashr using word-at-a-time logic instead of bit-at-a-time
5. Rename locals named isNegative so they don't clash with method name.
6. Fix fromString to compute negated value correctly.
llvm-svn: 34629
|
|
|
|
|
|
| |
This makes it much more efficient.
llvm-svn: 34618
|
|
|
|
| |
llvm-svn: 34617
|
|
|
|
|
|
|
| |
2. Implement the trunc, sext, and zext operations.
3. Improve fromString to accept negative values as input.
llvm-svn: 34616
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2. Move comments for methods to .h file, delete them in .cpp file.
3. All places that were doing manual clear of high order bits now call the
clearUnusedBits() method in order to not depend on undefined behavior
of the >> operator when the number of bits shifted equals the word size.
4. Reduced # of loc by using the new result of clearUnusedBits() method.
5. Simplified logic (decreased indentation) in a few places.
6. Added code comments to larger functions that needed them.
7. Added FIXME notes about weak implementations of things (e.g. bit-by-bit
shift right is sub-optimal).
llvm-svn: 34603
|
|
|
|
| |
llvm-svn: 34581
|
|
|
|
| |
llvm-svn: 34571
|
|
|
|
|
|
| |
Handle the single word cases for shiftAmt == BitWidth.
llvm-svn: 34569
|
|
|
|
| |
llvm-svn: 34565
|