summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll.Chris Lattner2005-06-301-19/+65
| | | | | | | | The optimization for locally used allocas was not safe for allocas that were read before they were written. This change disables that optimization in that case. llvm-svn: 22318
* Doh! Forgot to LLVMify the style.John Criswell2005-06-291-2/+0
| | | | llvm-svn: 22312
* Basic fix for PR#591; don't convert an fprintf() to an fwrite() if thereJohn Criswell2005-06-291-0/+9
| | | | | | | | | is a mismatch in their character type pointers (i.e. fprintf() prints an array of ubytes while fwrite() takes an array of sbytes). We can probably do better than this (such as casting the ubyte to an sbyte). llvm-svn: 22310
* add a debug typeChris Lattner2005-06-241-0/+1
| | | | llvm-svn: 22277
* prevent va_arg from being hoisted from a loopAndrew Lenharth2005-06-201-1/+1
| | | | llvm-svn: 22265
* prevent DCE of vaarg intrinsics. This should take care of most regressionsAndrew Lenharth2005-06-191-2/+0
| | | | llvm-svn: 22263
* core changes for varargsAndrew Lenharth2005-06-181-1/+1
| | | | llvm-svn: 22254
* Fix a problem with the strcmp optimization checking the wrong string andReid Spencer2005-06-181-13/+16
| | | | | | not casting to the correct type. llvm-svn: 22250
* Clean up some uninitialized variables and missing return statements thatReid Spencer2005-06-181-3/+3
| | | | | | GCC 4.0.0 compiler (sometimes incorrectly) warns about under release build. llvm-svn: 22249
* This is not true: (X != 13 | X < 15) -> X < 15Chris Lattner2005-06-171-2/+1
| | | | | | | It is actually always true. This fixes PR586 and Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll llvm-svn: 22236
* Don't crash when dealing with INTMIN. This fixes PR585 andChris Lattner2005-06-171-0/+2
| | | | | | Transforms/InstCombine/2005-06-16-RangeCrash.ll llvm-svn: 22234
* Don't crash on: X = phi (X, X).Chris Lattner2005-06-171-6/+9
| | | | | | This fixes PR584 and Transforms/SimplifyCFG/2005-06-16-PHICrash.ll llvm-svn: 22232
* avoid constructing out of range shift amounts.Chris Lattner2005-06-171-2/+4
| | | | llvm-svn: 22230
* Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.llChris Lattner2005-06-161-1/+1
| | | | llvm-svn: 22227
* Fix PR571, removing code that does just the WRONG thing :)Chris Lattner2005-06-161-27/+1
| | | | llvm-svn: 22225
* Fix a bug in my previous patch. Do not get the shift amount type (whichChris Lattner2005-06-161-1/+1
| | | | | | is always ubyte, get the type being shifted). This unbreaks espresso llvm-svn: 22224
* Fix PR575, patch provided by John Mellor-Crummey. Thanks!Chris Lattner2005-06-151-0/+1
| | | | llvm-svn: 22223
* Fix PR582. The rewriter can move casts around, which invalidated theChris Lattner2005-06-151-1/+11
| | | | | | BB iterator. This fixes Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll llvm-svn: 22221
* Do not promote globals only used by main to locals if there are constantexprsChris Lattner2005-06-151-3/+11
| | | | | | or other uses hanging off of them. llvm-svn: 22219
* Fix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.Chris Lattner2005-06-151-2/+16
| | | | | | Do not perform undefined out of range shifts. llvm-svn: 22217
* Put the hack back in that removes features, causes regressions to fail, butReid Spencer2005-06-151-0/+2
| | | | | | allows test programs to succeed. Actual fix for this is forthcoming. llvm-svn: 22213
* Unbreak several InstCombine regression checks introduced by a hack toReid Spencer2005-06-131-2/+0
| | | | | | fix the bzip2 test. A better hack is needed. llvm-svn: 22209
* Fix a 64-bit problem, passing (int)0 through ... instead of (void*)0Chris Lattner2005-06-091-4/+4
| | | | llvm-svn: 22206
* Fix a problem on 64-bit targets where we passed (int)0 through ... instead ofChris Lattner2005-06-091-7/+7
| | | | | | (void*)0. llvm-svn: 22205
* hack to fix bzip2 (bug 571)Andrew Lenharth2005-06-041-0/+2
| | | | llvm-svn: 22192
* Make the registration hash_map static. No other module needs it. Also,Reid Spencer2005-05-211-1/+5
| | | | | | document what its for a little better. llvm-svn: 22164
* Adjust the file comment to read a little easier.Reid Spencer2005-05-211-6/+7
| | | | llvm-svn: 22163
* Make sure ... arguments are casted to sbyte* where needed.Reid Spencer2005-05-211-13/+12
| | | | llvm-svn: 22162
* Add a "brief" comment for CastToCStrReid Spencer2005-05-211-0/+1
| | | | llvm-svn: 22161
* Fix mismatched type problem that crashed on cases like this:Chris Lattner2005-05-201-8/+17
| | | | | | | | sprintf(P, "%s", X); Where X is not an sbyte*. This fixes the bug JohnMC reported on llvm-bugs. llvm-svn: 22159
* Fix Transforms/SimplifyCFG/switch-simplify-crash.llChris Lattner2005-05-201-0/+7
| | | | llvm-svn: 22158
* teach the inliner about coldcc and noreturn functionsChris Lattner2005-05-181-0/+15
| | | | llvm-svn: 22113
* Don't look for __builtin_ffs, we'll never see it from llvm-gcc and there'sReid Spencer2005-05-151-14/+0
| | | | | | not reason to include it for other front ends. llvm-svn: 22070
* Provide this optimization as well:Reid Spencer2005-05-151-5/+45
| | | | | | ffs(x) -> (x == 0 ? 0 : 1+llvm.cttz(x)) llvm-svn: 22068
* Duh .. you actually have to #include Config/config.h before you can testReid Spencer2005-05-151-0/+1
| | | | | | for one of the values that it defines! llvm-svn: 22058
* Changes for ffs lib call simplification:Reid Spencer2005-05-141-3/+74
| | | | | | | | * Check for availability of ffsll call in configure script * Support ffs, ffsl, and ffsll conversion to constant value if the argument is constant. llvm-svn: 22027
* Preserve calling conv when hacking on callsChris Lattner2005-05-142-0/+6
| | | | llvm-svn: 22025
* preserve calling conventions when hacking on codeChris Lattner2005-05-142-1/+4
| | | | llvm-svn: 22024
* Make sure to preserve the calling convention when changing an invoke intoChris Lattner2005-05-141-0/+2
| | | | | | | a call. This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib on X86 with -enable-x86-fastcc. llvm-svn: 22023
* calling a function with the wrong CC is undefined, turn it into an unreachableChris Lattner2005-05-131-0/+14
| | | | | | | instruction. This is useful for catching optimizers that don't preserve calling conventions llvm-svn: 21928
* When lowering invokes to calls, amke sure to preserve the calling conv. ThisChris Lattner2005-05-131-7/+9
| | | | | | fixes Ptrdist/anagram with x86 llcbeta llvm-svn: 21925
* Prefer int 0 instead of long 0 for GEP arguments.Chris Lattner2005-05-131-3/+3
| | | | llvm-svn: 21924
* Fix Reassociate/shifttest.llChris Lattner2005-05-101-6/+7
| | | | llvm-svn: 21839
* If a function contains no allocas, all of the calls in it are triviallyChris Lattner2005-05-091-3/+45
| | | | | | suitable for tail calls. llvm-svn: 21836
* implement and.ll:test33Chris Lattner2005-05-091-2/+18
| | | | llvm-svn: 21809
* Preserve calling conventions when doing IPOChris Lattner2005-05-093-5/+13
| | | | llvm-svn: 21798
* wrap long lines, preserve calling conventions when cloning functions andChris Lattner2005-05-092-6/+14
| | | | | | turning calls into invokes llvm-svn: 21797
* Convert non-address taken functions with C calling conventions to fastcc.Chris Lattner2005-05-081-1/+41
| | | | llvm-svn: 21791
* Implement Reassociate/mul-neg-add.llChris Lattner2005-05-081-0/+12
| | | | llvm-svn: 21788
* Bail out earlierChris Lattner2005-05-081-4/+4
| | | | llvm-svn: 21786
OpenPOWER on IntegriCloud