summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
* Fix MemoryBuffer breakage correctly.Jeff Cohen2007-04-291-1/+1
| | | | llvm-svn: 36561
* Unbreak build.Jeff Cohen2007-04-291-1/+2
| | | | llvm-svn: 36559
* Add a new memorybuffer class, to unify all the file reading code in the systemChris Lattner2007-04-291-0/+239
| | | | llvm-svn: 36553
* Using APInt more efficiently.Zhou Sheng2007-04-261-5/+3
| | | | llvm-svn: 36475
* Fix PR1329.Jeff Cohen2007-04-141-0/+28
| | | | llvm-svn: 36016
* We want the number of bits needed, not the power of 2.Reid Spencer2007-04-141-1/+1
| | | | llvm-svn: 35977
* Implement a getBitsNeeded method to determine how many bits are needed toReid Spencer2007-04-131-0/+37
| | | | | | represent a string in binary form by an APInt. llvm-svn: 35968
* Make the apint construction more effective.Zhou Sheng2007-04-131-3/+3
| | | | llvm-svn: 35960
* improve the patch for PR1318 to also support grouped options with customChris Lattner2007-04-121-7/+12
| | | | | | | | | handlers (like the pass list). My previous fix only supported *new* command line options, not additions to old ones. This fixes test/Feature/load_module.ll llvm-svn: 35935
* Fix PR1318 by reacting appropriately to a mutating option list.Chris Lattner2007-04-111-0/+14
| | | | llvm-svn: 35905
* Fix an approximate calculation in an assertion not to give false negatives.Reid Spencer2007-04-111-1/+1
| | | | llvm-svn: 35901
* For PR1291:Reid Spencer2007-04-071-2/+2
| | | | | | | Change uses of sys::Path class to sys::PathWithStatus in those places where the file status information is needed. llvm-svn: 35743
* Add signExtend to ConstantRange, to complement zeroExtend and truncate.Nick Lewycky2007-04-071-0/+17
| | | | llvm-svn: 35733
* Fix a bug in my earlier commit which exposed positional options backwards.Chris Lattner2007-04-071-3/+9
| | | | | | This fixes llvm-ar. llvm-svn: 35727
* rearchitect the registration mechanism used by the command line option stuff.Chris Lattner2007-04-061-65/+84
| | | | | | | | | | This dramatically reduce the amount of memory allocated by the commandline stuff at static init time, changing it to build local data structures when ParseCommandLineOptions is called. In a dummy empty program that links some llvm libraries, this reduces the number of malloc'd bytes from 4864 to 3360 on entry to main. Most of that memory is now allocated by non-commandline related stuff. llvm-svn: 35701
* remove the dead removeArgument method, rename Options to OptionsMap.Chris Lattner2007-04-051-61/+30
| | | | llvm-svn: 35690
* stringmap memory managed with malloc nowChris Lattner2007-04-041-1/+1
| | | | llvm-svn: 35666
* use calloc instead of new/memset, it is more efficientChris Lattner2007-04-041-4/+2
| | | | llvm-svn: 35644
* Extend StringMap to support being initialized as completely empty. WhenChris Lattner2007-04-041-2/+22
| | | | | | initialized this way, they do not do a malloc to allocate their buckets. llvm-svn: 35642
* greatly reduce hte default size of stringmap.Chris Lattner2007-04-031-1/+1
| | | | llvm-svn: 35632
* Implement union of wrapped sets.Nick Lewycky2007-04-011-7/+65
| | | | llvm-svn: 35534
* For PR789:Reid Spencer2007-03-291-5/+6
| | | | | | | | 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
* For PR789:Reid Spencer2007-03-291-2/+2
| | | | | | Updates for change in interface of getFileStatus method of sys::Path class. llvm-svn: 35458
* Fix a bug in getAllOnesValue() which brokeZhou Sheng2007-03-211-1/+1
| | | | | | some test cases for bitwidth > 64. llvm-svn: 35232
* Fix (and simplify) 48-bit byte swap.Jeff Cohen2007-03-201-9/+8
| | | | | | Get pos/neg infinity the correct way. llvm-svn: 35223
* Fix coding standards violation.Reid Spencer2007-03-191-1/+1
| | | | llvm-svn: 35189
* Implement extension of sign bits for negative values in the uint64_tReid Spencer2007-03-191-1/+5
| | | | | | constructor. This helps to fix test/Assembler/2007-03-19-NegValue.ll llvm-svn: 35180
* Revert the last patch as it violates the conditions of sext/zext.Reid Spencer2007-03-121-4/+0
| | | | llvm-svn: 35068
* For APInt::z/sext(width), if width == BitWidth, just return *this.Zhou Sheng2007-03-121-0/+4
| | | | llvm-svn: 35065
* Add getter methods for the extremes of a ConstantRange.Nick Lewycky2007-03-101-0/+64
| | | | llvm-svn: 35056
* Unbreak VC++ build.Jeff Cohen2007-03-051-1/+9
| | | | llvm-svn: 34917
* Fix ashr for bitwidths > 64. This is now validated up to 1024 bits.Reid Spencer2007-03-021-33/+49
| | | | llvm-svn: 34852
* Use a better algorithm for rounding sqrt results. Change the FIXME aboutReid Spencer2007-03-021-8/+12
| | | | | | | | | 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
* Implement unionWith.Nick Lewycky2007-03-021-2/+11
| | | | llvm-svn: 34833
* Add a FIXMEReid Spencer2007-03-021-0/+3
| | | | llvm-svn: 34828
* Fix a problem where shifting by 64-bits leads to incorrect results on PPCReid Spencer2007-03-021-1/+4
| | | | | | but not on X86 becuase shift by word size is "undefined". llvm-svn: 34825
* Combine two lines that can be.Reid Spencer2007-03-011-2/+1
| | | | llvm-svn: 34818
* Make the static table of results in sqrt const.Reid Spencer2007-03-011-1/+1
| | | | llvm-svn: 34791
* Add methods for bit width modification: sextOrTrunc, zextOrTrunc.Reid Spencer2007-03-011-0/+16
| | | | llvm-svn: 34789
* Remove the "isSigned" parameters from ConstantRange. It turns out theyReid Spencer2007-03-011-37/+23
| | | | | | | | are not needed as the results are the same with or without it. Patch by Nicholas Lewycky. llvm-svn: 34782
* Use a real table in sqrt to shorten and quicken the code.Reid Spencer2007-03-011-14/+10
| | | | | | Thanks for the idea Chris. llvm-svn: 34779
* Add a square root function.Reid Spencer2007-03-011-6/+87
| | | | llvm-svn: 34775
* Move ConstantRange class to lib/Support from lib/Analysis and make itsReid Spencer2007-02-281-0/+259
| | | | | | interface not depend on Type or ICmpInst. llvm-svn: 34761
* Make the trunc/sext/zext methods return APInt& so that these operationsReid Spencer2007-02-281-7/+8
| | | | | | can be chained together with other operations. llvm-svn: 34743
* Fix a bug in RoundDoubleToAPInt where it would force the size to 64 bitsReid Spencer2007-02-281-1/+1
| | | | | | instead of honoring the client's requested bit width. llvm-svn: 34712
* Join two lines that can be joined.Reid Spencer2007-02-271-2/+1
| | | | llvm-svn: 34705
* Implement countLeadingOnes() and getMinSignedBits(). This helps to minimizeReid Spencer2007-02-271-1/+34
| | | | | | | 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
* Improve APInt interface:Reid Spencer2007-02-271-34/+1
| | | | | | | | | | 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
* Conform to single person attribution in file comment.Reid Spencer2007-02-271-3/+2
| | | | llvm-svn: 34678
* 1. Fix three serious bugs in the comparison code.Reid Spencer2007-02-271-18/+22
| | | | | | | 2. Change RoundDoubleToAPInt to take a bit width parameter. Use that parameter to limit the bit width of the result. llvm-svn: 34673
OpenPOWER on IntegriCloud