summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Finally get this patch right :)Reid Spencer2007-03-021-5/+5
| | | | | | Replace expensive getZExtValue() == 0 calls with isZero() calls. llvm-svn: 34861
* Dang, I've done that twice now! Undo previous commit.Reid Spencer2007-03-021-12/+11
| | | | llvm-svn: 34860
* Use more efficient test for one value in a ConstantInt.Reid Spencer2007-03-022-13/+14
| | | | llvm-svn: 34859
* Guard against huge loop trip counts in an APInt safe way.Reid Spencer2007-03-021-2/+7
| | | | llvm-svn: 34858
* X86-64 VACOPY needs custom expansion. va_list is a struct { i32, i32, i8*, ↵Evan Cheng2007-03-022-3/+34
| | | | | | i8* }. llvm-svn: 34857
* Make sure debug code is not evaluated in non-debug case.Reid Spencer2007-03-021-2/+3
| | | | llvm-svn: 34856
* 1. Sort switch cases using APInt safe comparison.Reid Spencer2007-03-021-2/+2
| | | | | | 2. Make sure debug output of APInt values is safe for all bit widths. llvm-svn: 34855
* Use APInt safe isOne() method on ConstantInt instead of getZExtValue()==1Reid Spencer2007-03-021-1/+1
| | | | llvm-svn: 34854
* Make sorting of ConstantInt be APInt clean through use of ult function.Reid Spencer2007-03-021-1/+1
| | | | llvm-svn: 34853
* Fix ashr for bitwidths > 64. This is now validated up to 1024 bits.Reid Spencer2007-03-021-33/+49
| | | | llvm-svn: 34852
* Simplify thingsAnton Korobeynikov2007-03-021-8/+2
| | | | llvm-svn: 34849
* Fix a significant algorithm problem with the instcombine worklist. removingChris Lattner2007-03-021-54/+70
| | | | | | | | | | a value from the worklist required scanning the entire worklist to remove all entries. We now use a combination map+vector to prevent duplicates from happening and prevent the scan. This speeds up instcombine on a large file from the llvm-gcc bootstrap from 189.7s to 4.84s in a debug build and from 5.04s to 1.37s in a release build. llvm-svn: 34848
* minor cleanupChris Lattner2007-03-021-6/+2
| | | | llvm-svn: 34846
* Mark dead def as unused.Evan Cheng2007-03-021-2/+6
| | | | llvm-svn: 34844
* Dead live-in detection bug.Evan Cheng2007-03-021-2/+2
| | | | llvm-svn: 34843
* - Keep track all def and uses of stack slot available in register.Evan Cheng2007-03-021-28/+51
| | | | | | - Available value use may be deleted (e.g. noop move). llvm-svn: 34841
* Invalidate last use of a reused register if the use is a deleted noop copy.Evan Cheng2007-03-021-0/+1
| | | | llvm-svn: 34839
* argument lowering should copy from the vreg shadows of live-in argumentsChris Lattner2007-03-021-7/+7
| | | | | | passed in registers, not directly from the pregs themselves. llvm-svn: 34838
* add a noteChris Lattner2007-03-021-0/+22
| | | | llvm-svn: 34837
* 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
* switch the inliner from being recursive to being iterative.Chris Lattner2007-03-021-6/+14
| | | | llvm-svn: 34832
* Fix an unequal bitwidth issue.Reid Spencer2007-03-021-3/+6
| | | | llvm-svn: 34831
* 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
* eliminate unnecessary reset of SP in epilog on darwinDale Johannesen2007-03-021-1/+1
| | | | llvm-svn: 34824
* Reverse a premature commital.Reid Spencer2007-03-021-21/+17
| | | | llvm-svn: 34822
* Prefer non-virtual calls to ConstantInt::isZero over virtual calls toReid Spencer2007-03-029-42/+46
| | | | | | Constant::isNullValue() in situations where it is possible. llvm-svn: 34821
* Combine two lines that can be.Reid Spencer2007-03-011-2/+1
| | | | llvm-svn: 34818
* Make it possible to create an SCEVUnknown from an APInt as well as an int.Reid Spencer2007-03-011-0/+4
| | | | llvm-svn: 34816
* Although probably not necessary, guard against a potential assertion byReid Spencer2007-03-011-1/+1
| | | | | | using isNullValue() instead of getZExtValue() == 0. llvm-svn: 34815
* Use isUnitValue() instead of getZExtValue() == 1 which will prevent anReid Spencer2007-03-011-1/+1
| | | | | | assert if the ConstantInt's value is large. llvm-svn: 34814
* Use APInt conversion to string so the result is correct regardless of theReid Spencer2007-03-011-1/+1
| | | | | | bit width of the ConstantInt being converted. llvm-svn: 34810
* Use the APInt versions of the bit-wise conversions of float/double to intReid Spencer2007-03-011-8/+10
| | | | | | | | and back. While this is not strictly necessary, it does pave the way for future changes in casting. It should now be possible to improve vector casting to deal with un-equal fp/int sizes. llvm-svn: 34808
* Use modern variable name. ConstantUnsignedInt is long since dead. NoReid Spencer2007-03-011-2/+2
| | | | | | functional change with this patch. llvm-svn: 34806
* Emit eh filter info.Jim Laskey2007-03-011-18/+66
| | | | llvm-svn: 34805
* Collect eh filter info.Jim Laskey2007-03-011-12/+19
| | | | llvm-svn: 34804
* Use a simpler constructor for ConstantInt.Reid Spencer2007-03-011-1/+1
| | | | llvm-svn: 34803
* Lower eh filter intrinsic.Jim Laskey2007-03-012-1/+5
| | | | llvm-svn: 34802
* Wrap a long line.Reid Spencer2007-03-011-1/+2
| | | | llvm-svn: 34799
* Avoid a potential assert out if the loop increment is > 64 bits.Reid Spencer2007-03-011-1/+1
| | | | llvm-svn: 34798
* Regenerate.Reid Spencer2007-03-012-170/+156
| | | | llvm-svn: 34797
* The 64-bit constructor for ConstantInt changes from int64_t to uint64_t.Reid Spencer2007-03-011-1/+1
| | | | | | | This caused a warning for construction with -1. Avoid the warning by using -1ULL instead. llvm-svn: 34796
* Construct ConstantInt with simpler constructor.Reid Spencer2007-03-011-4/+4
| | | | llvm-svn: 34795
* Use a simpler constructor when constructing ConstantInt. Also, replaceReid Spencer2007-03-011-16/+9
| | | | | | | verbose code to sext/trunc or zext/trunc and APInt with new methods on that class. llvm-svn: 34794
* Use a simpler constructor when constructing ConstantInst.Reid Spencer2007-03-011-20/+19
| | | | llvm-svn: 34793
* Drop the ConstantInt(const Type&, const APInt&) constructor. It isReid Spencer2007-03-011-14/+9
| | | | | | redundant and more verbose than the ConstantInt(const APInt&) constructor. llvm-svn: 34792
* Make the static table of results in sqrt const.Reid Spencer2007-03-011-1/+1
| | | | llvm-svn: 34791
* Fix last night's 445.gobmk breakage which was caused by comparison ofReid Spencer2007-03-011-0/+1
| | | | | | APInt's of unequal bitwidth. llvm-svn: 34790
* Add methods for bit width modification: sextOrTrunc, zextOrTrunc.Reid Spencer2007-03-011-0/+16
| | | | llvm-svn: 34789
OpenPOWER on IntegriCloud