| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | If a PHI node has a single implicit_def source, replace it with an ↵ | Evan Cheng | 2008-04-11 | 1 | -5/+19 | |
| | | | | | | | implicit_def instead of a copy. llvm-svn: 49543 | |||||
| * | Use of implicit_def is not part of live interval. Create empty intervals for ↵ | Evan Cheng | 2008-04-11 | 3 | -12/+53 | |
| | | | | | | | the uses when the live interval is being spilled. llvm-svn: 49542 | |||||
| * | detabify | Gabor Greif | 2008-04-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 49524 | |||||
| * | Fix PR2213 by simultaneously making GVN more aggressive with the return values | Owen Anderson | 2008-04-11 | 1 | -29/+20 | |
| | | | | | | | of calls and less aggressive with non-readnone calls. llvm-svn: 49516 | |||||
| * | Remove implicit_def instructions that become dead as result of coalescing. | Evan Cheng | 2008-04-10 | 1 | -19/+37 | |
| | | | | | llvm-svn: 49513 | |||||
| * | Allow registers defined by implicit_def to be clobbered. | Evan Cheng | 2008-04-10 | 1 | -6/+15 | |
| | | | | | llvm-svn: 49512 | |||||
| * | Fix a typo in a comment. | Dan Gohman | 2008-04-10 | 1 | -1/+1 | |
| | | | | | llvm-svn: 49504 | |||||
| * | Fix for PR2190. Memdep's non-local caching was checking dirtied blocks in the | Owen Anderson | 2008-04-10 | 1 | -2/+4 | |
| | | | | | | | wrong order. llvm-svn: 49499 | |||||
| * | Make several symbols static. | Dan Gohman | 2008-04-10 | 4 | -40/+40 | |
| | | | | | llvm-svn: 49496 | |||||
| * | Teach InstCombine's ComputeMaskedBits to handle pointer expressions | Dan Gohman | 2008-04-10 | 1 | -140/+299 | |
| | | | | | | | | | | | | | | | | in addition to integer expressions. Rewrite GetOrEnforceKnownAlignment as a ComputeMaskedBits problem, moving all of its special alignment knowledge to ComputeMaskedBits as low-zero-bits knowledge. Also, teach ComputeMaskedBits a few basic things about Mul and PHI instructions. This improves ComputeMaskedBits-based simplifications in a few cases, but more noticeably it significantly improves instcombine's alignment detection for loads, stores, and memory intrinsics. llvm-svn: 49492 | |||||
| * | A copy instruction may use a register multiple times on some targets. Change ↵ | Evan Cheng | 2008-04-10 | 1 | -2/+6 | |
| | | | | | | | them all. llvm-svn: 49491 | |||||
| * | Add comment. | Evan Cheng | 2008-04-10 | 1 | -0/+2 | |
| | | | | | llvm-svn: 49469 | |||||
| * | add a note, this is actually not too bad to implement. | Chris Lattner | 2008-04-10 | 1 | -1/+7 | |
| | | | | | llvm-svn: 49466 | |||||
| * | move the x86-32 part of PR2108 here. | Chris Lattner | 2008-04-10 | 1 | -0/+48 | |
| | | | | | llvm-svn: 49465 | |||||
| * | Fix the x86-64 side of PR2108 by adding a v2f64 version of | Chris Lattner | 2008-04-10 | 1 | -0/+10 | |
| | | | | | | | | | MOVZQI2PQIrr. This would be better handled as a dag combine (with the goal of eliminating the bitconvert) but I don't know how to do that safely. Thoughts welcome. llvm-svn: 49463 | |||||
| * | Teach branch folding pass about implicit_def instructions. Unfortunately we ↵ | Evan Cheng | 2008-04-10 | 1 | -1/+56 | |
| | | | | | | | can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. llvm-svn: 49461 | |||||
| * | Disable an xform we've had for a long time, pow(x,0.5) -> sqrt. | Chris Lattner | 2008-04-10 | 1 | -0/+8 | |
| | | | | | | | This is not safe for all inputs. llvm-svn: 49458 | |||||
| * | - More aggressively coalescing away copies whose source is defined by an ↵ | Evan Cheng | 2008-04-09 | 3 | -76/+297 | |
| | | | | | | | | | implicit_def. - Added insert_subreg coalescing support. llvm-svn: 49448 | |||||
| * | Make isVectorClearMaskLegal's operand list const. | Dan Gohman | 2008-04-09 | 2 | -4/+5 | |
| | | | | | llvm-svn: 49446 | |||||
| * | Add XMM1 as a second return value register for f32 and f64 on x86-64. This | Dan Gohman | 2008-04-09 | 1 | -4/+4 | |
| | | | | | | | | is needed for the x86-64-ABI handling of structs that contain floating-point members that are returned by value. llvm-svn: 49441 | |||||
| * | Add DX as a second return value register for i16 on x86. | Dan Gohman | 2008-04-09 | 1 | -1/+1 | |
| | | | | | llvm-svn: 49440 | |||||
| * | Generalize getUnaryFloatFunction to handle any FP unary function, automatically | Chris Lattner | 2008-04-09 | 1 | -17/+33 | |
| | | | | | | | figuring out the suffix to use. implement pow(2,x) -> exp2(x). llvm-svn: 49437 | |||||
| * | use the new ConstantFP::get method to make this work with | Chris Lattner | 2008-04-09 | 1 | -11/+4 | |
| | | | | | | | long double and simplify the code. llvm-svn: 49435 | |||||
| * | Be conservative if getresult operand is neither call nor invoke. | Devang Patel | 2008-04-09 | 1 | -2/+3 | |
| | | | | | llvm-svn: 49430 | |||||
| * | Factor a bunch of functionality related to memcpy and memset transforms out of | Owen Anderson | 2008-04-09 | 2 | -620/+769 | |
| | | | | | | | GVN and into its own pass. llvm-svn: 49419 | |||||
| * | Remove accidentally duplicated code. | Owen Anderson | 2008-04-09 | 1 | -4/+0 | |
| | | | | | llvm-svn: 49418 | |||||
| * | add a simplified accessor for creating an fp constant of a | Chris Lattner | 2008-04-09 | 1 | -13/+25 | |
| | | | | | | | particular value but variable type. llvm-svn: 49416 | |||||
| * | Missed a hasInterval check. | Evan Cheng | 2008-04-09 | 1 | -0/+2 | |
| | | | | | llvm-svn: 49415 | |||||
| * | add a version of ConstantFP::get that doesn't take a redundant Type* value, | Chris Lattner | 2008-04-09 | 1 | -21/+22 | |
| | | | | | | | start migrating code over to use it. llvm-svn: 49413 | |||||
| * | many cleanups to the pow optimizer. Allow it to handle powf, | Chris Lattner | 2008-04-09 | 1 | -34/+50 | |
| | | | | | | | add support for pow(x, 2.0) -> x*x. llvm-svn: 49411 | |||||
| * | Rename -disable-required-unwind-tables to unwind-tables-optional. | Dale Johannesen | 2008-04-08 | 1 | -2/+2 | |
| | | | | | llvm-svn: 49389 | |||||
| * | Convenience method for setting the nounwind | Duncan Sands | 2008-04-08 | 1 | -0/+9 | |
| | | | | | | | attribute for a function. llvm-svn: 49373 | |||||
| * | Fix insert point handling for multiple return values. | Devang Patel | 2008-04-08 | 1 | -4/+12 | |
| | | | | | llvm-svn: 49367 | |||||
| * | Handle the situation in 2008-01-25-EmptyFunction.ll | Dale Johannesen | 2008-04-08 | 1 | -10/+11 | |
| | | | | | | | correctly when unwind info is being generated. llvm-svn: 49366 | |||||
| * | Implement new llc flag -disable-required-unwind-tables. | Dale Johannesen | 2008-04-08 | 4 | -5/+19 | |
| | | | | | | | Corresponds to -fno-unwind-tables (usually default in gcc). llvm-svn: 49361 | |||||
| * | Make getDirnameSep a static method (not part of Path's interface). | Ted Kremenek | 2008-04-07 | 3 | -3/+7 | |
| | | | | | llvm-svn: 49354 | |||||
| * | Added method Path::getDirname(). | Ted Kremenek | 2008-04-07 | 3 | -2/+45 | |
| | | | | | llvm-svn: 49352 | |||||
| * | Rename MemOperand to MachineMemOperand. This was suggested by | Dan Gohman | 2008-04-07 | 5 | -16/+17 | |
| | | | | | | | | review feedback from Chris quite a while ago. No functionality change. llvm-svn: 49348 | |||||
| * | Add operator= implementations to SparseBitVector, allowing it to be used in ↵ | Owen Anderson | 2008-04-07 | 1 | -16/+8 | |
| | | | | | | | | | | GVN. This results in both time and memory savings for GVN. For example, one testcase went from 10.5s to 6s with this patch. llvm-svn: 49345 | |||||
| * | Fix PR 2169. | Daniel Berlin | 2008-04-07 | 1 | -0/+3 | |
| | | | | | llvm-svn: 49339 | |||||
| * | Use Intrinsic::getDeclaration in more places. | Duncan Sands | 2008-04-07 | 2 | -22/+9 | |
| | | | | | llvm-svn: 49338 | |||||
| * | The "stacksave is not nounwind problem" no longer | Duncan Sands | 2008-04-07 | 1 | -8/+3 | |
| | | | | | | | | | | needs to be fixed here - a previous commit made sure that intrinsics always get the right attributes. So remove no-longer needed code, and while there use Intrinsic::getDeclaration rather than getOrInsertFunction. llvm-svn: 49337 | |||||
| * | Use Intrinsic::getDeclaration to get hold of | Duncan Sands | 2008-04-07 | 1 | -7/+8 | |
| | | | | | | | | intrinsics. Fix up the argument type (should be i8*, was an array*). llvm-svn: 49336 | |||||
| * | Make sure that intrinsics automagically get the | Duncan Sands | 2008-04-07 | 2 | -3/+9 | |
| | | | | | | | | right parameter attributes no matter how they are obtained. llvm-svn: 49335 | |||||
| * | Re-commit of the r48822, where the infinite looping problem discovered | Roman Levenstein | 2008-04-07 | 9 | -117/+131 | |
| | | | | | | | by Dan Gohman is fixed. llvm-svn: 49330 | |||||
| * | Make GVN more memory efficient, particularly on code that contains a large ↵ | Owen Anderson | 2008-04-07 | 1 | -1/+15 | |
| | | | | | | | | | number of allocations, which GVN can't optimize anyways. llvm-svn: 49329 | |||||
| * | Mark calls to llvm.stacksave, llvm.stackrestore as | Dale Johannesen | 2008-04-07 | 1 | -1/+4 | |
| | | | | | | | | | nounwind. When such calls are inlined into something else that is invoked, they were getting changed to invokes, which is badness. llvm-svn: 49299 | |||||
| * | regenerate | Gabor Greif | 2008-04-06 | 3 | -4989/+3649 | |
| | | | | | llvm-svn: 49293 | |||||
| * | fix warnings with assertions disabled. | Chris Lattner | 2008-04-06 | 1 | -21/+6 | |
| | | | | | llvm-svn: 49285 | |||||
| * | Silence warning when no assertions. | Chris Lattner | 2008-04-06 | 1 | -1/+2 | |
| | | | | | llvm-svn: 49284 | |||||

