- Feb 21, 2007
-
-
Reid Spencer authored
Fix toString to correctly return "0" for zero valued APInts over 128 bits. llvm-svn: 34459
-
Reid Spencer authored
functions more. llvm-svn: 34458
-
- Feb 20, 2007
-
-
Evan Cheng authored
llvm-svn: 34457
-
Dan Gohman authored
llvm-svn: 34456
-
Reid Spencer authored
Attempt #3 for getting a portable INFINITY value. llvm-svn: 34454
-
Reid Spencer authored
constants (avoids warnings). llvm-svn: 34452
-
Reid Spencer authored
1. Ensure pVal is set to 0 in each constructor. 2. Fix roundToDouble to make correct calculations and not read beyond the end of allocated memory. 3. Implement Knuth's "classical algorithm" for division from scratch and eliminate buffer overflows and uninitialized mememory reads. Document it properly too. 4. Implement a wrapper function for KnuthDiv which handles the 64-bit to 32-bit conversion and back. It also implement short division for the n == 1 case that Knuth's algorithm can't handle. 5. Simplify the logic of udiv and urem a little, make them exit early, and have them use the "divide" wrapper function to perform the division or remainder operation. 6. Move the toString function to the end of the file, closer to where the division functions are located. Note: division is still broken for some > 64 bit values, but at least it doesn't crash any more. llvm-svn: 34449
-
Chris Lattner authored
and is more memory efficient. llvm-svn: 34446
-
Chris Lattner authored
heavy-weight ValueMap class. This reduces mem usage bc reading kc++ by 29K, even though it only creates 2955 constant ints! llvm-svn: 34445
-
Chris Lattner authored
llvm-svn: 34444
-
Chris Lattner authored
llvm-svn: 34443
-
Chris Lattner authored
llvm-svn: 34441
-
Chris Lattner authored
llvm-svn: 34440
-
Chris Lattner authored
llvm-svn: 34439
-
Chris Lattner authored
llvm-svn: 34436
-
Evan Cheng authored
llvm-svn: 34435
-
Evan Cheng authored
llvm-svn: 34434
-
Reid Spencer authored
uses them. llvm-svn: 34432
-
- Feb 19, 2007
-
-
Reid Spencer authored
rules alignment is to pick the alignment that corresponds to the smallest specified alignment that is larger than the bit width of the type or the largest specified integer alignment if none are larger than the bitwidth of the type. For the byte size, the size returned is the next larger multiple of the alignment for that type (using the above rule). This patch also changes bit widths from "short" to "uint32_t" to ensure there are enough bits to specify any bit width that LLVM can handle (currently 2^23); 16-bits isn't enough. llvm-svn: 34431
-
Evan Cheng authored
llvm-svn: 34428
-
Chris Lattner authored
llvm-svn: 34425
-
Chris Lattner authored
llvm-svn: 34424
-
Evan Cheng authored
llvm-svn: 34423
-
Reid Spencer authored
llvm-svn: 34422
-
Chris Lattner authored
llvm-svn: 34419
-
Chris Lattner authored
llvm-svn: 34417
-
Reid Spencer authored
Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
-
- Feb 18, 2007
-
-
Reid Spencer authored
2. Implement toString for power-of-2 radix without using divide and always printing full words. This allows hex/binary to look at the bit respresentation of the APInt as well as avoid bugs in divide. llvm-svn: 34396
-
Chris Lattner authored
llvm-svn: 34395
-
Chris Lattner authored
llvm-svn: 34394
-
Reid Spencer authored
2. Teach slt about signedness. 3. Teach roundToDouble to properly sign extend. llvm-svn: 34391
-
Reid Spencer authored
2. Consolidate memory allocation into just two inline functions. 3. Convert "unsigned" to uint32_t to gaurantee its size. 4. Eliminate magic constants and replace with symbolic equivalent. 5. Improve code documentation slightly. 6. Simplify the logical operator code because bitwidths must be the same. 7. Fix indentation per coding standards. 8. Use exit-early style to reduce indentation in several functions. llvm-svn: 34389
-
Reid Spencer authored
Fix line breaks and 80 cols violation. Simplify operator^= since bitwidths must be the same. llvm-svn: 34388
-
Reid Spencer authored
Fix bugs in countLeadingZeros and countTrailingZeros. llvm-svn: 34386
-
Chris Lattner authored
compile-time regression in LLC. llvm-svn: 34385
-
- Feb 17, 2007
-
-
Reid Spencer authored
llvm-svn: 34384
-
Evan Cheng authored
- When coalescing a copy MI, if its destination is "dead", propagate the property to the source MI's destination if there are no intervening uses. - Detect dead function live-in's and remove them. llvm-svn: 34383
-
Evan Cheng authored
llvm-svn: 34382
-
Evan Cheng authored
llvm-svn: 34381
-
Evan Cheng authored
llvm-svn: 34380
-