- 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
-
Reid Spencer authored
llvm-svn: 34448
-
Chris Lattner authored
llvm-svn: 34447
-
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: 34442
-
Chris Lattner authored
llvm-svn: 34441
-
Chris Lattner authored
llvm-svn: 34440
-
Chris Lattner authored
llvm-svn: 34439
-
Chris Lattner authored
llvm-svn: 34438
-
Chris Lattner authored
llvm-svn: 34437
-
Chris Lattner authored
llvm-svn: 34436
-
Evan Cheng authored
llvm-svn: 34435
-
Evan Cheng authored
llvm-svn: 34434
-
Reid Spencer authored
and rules used by LLVM to construct the target's layout rules. llvm-svn: 34433
-
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: 34429
-
Evan Cheng authored
llvm-svn: 34428
-
Evan Cheng authored
llvm-svn: 34427
-
Chris Lattner authored
llvm-svn: 34426
-
Chris Lattner authored
llvm-svn: 34425
-
Chris Lattner authored
llvm-svn: 34424
-
Evan Cheng authored
llvm-svn: 34423
-
Reid Spencer authored
llvm-svn: 34422
-
Bill Wendling authored
llvm-svn: 34421
-
Reid Spencer authored
llvm-svn: 34420
-
Chris Lattner authored
llvm-svn: 34419
-
Chris Lattner authored
llvm-svn: 34418
-
Chris Lattner authored
llvm-svn: 34417
-
Chris Lattner authored
llvm-svn: 34416
-
Chris Lattner authored
this offers no performance advantage. llvm-svn: 34415
-