| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | silence a warning when assertions are disabled. | Chris Lattner | 2008-04-06 | 1 | -1/+1 | 
| | | | | | llvm-svn: 49283 | ||||
| * | fix a warning | Gabor Greif | 2008-04-06 | 1 | -1/+1 | 
| | | | | | llvm-svn: 49282 | ||||
| * | Prefer to expand mask for xor to -1, so we have a chance to turn it into a not. | Torok Edwin | 2008-04-06 | 1 | -4/+19 | 
| | | | | | | | | If it cannot be expanded, it will keep the old behaviour and try to shrink the constant. Part of enhancement for PR2191. llvm-svn: 49280 | ||||
| * | API changes for class Use size reduction, wave 1. | Gabor Greif | 2008-04-06 | 56 | -571/+621 | 
| | | | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277 | ||||
| * | disable this for now. | Chris Lattner | 2008-04-05 | 1 | -1/+1 | 
| | | | | | llvm-svn: 49248 | ||||
| * | 1. IMPLICIT_DEF can *re-define* any register. | Evan Cheng | 2008-04-05 | 1 | -2/+42 | 
| | | | | | | | | 2. Coalescer can now create an interesting situation where a register def can reaches itself without being killed. llvm-svn: 49246 | ||||
| * | Favors pshufd over shufps when shuffling elements from one vector. pshufd is ↵ | Evan Cheng | 2008-04-05 | 2 | -48/+52 | 
| | | | | | | | faster than shufps. llvm-svn: 49244 | ||||
| * | Make sure both PendingLoads and PendingExports are flushed | Dale Johannesen | 2008-04-04 | 1 | -1/+4 | 
| | | | | | | | | | | | before an invoke. Failure to do this causes references in the landing pad to variables that were not set. Fixes g++.dg/eh/delayslot1.C g++.dg/eh/fp-regs.C g++.old-deja/g++.brendan/eh1.C llvm-svn: 49243 | ||||
| * | strdup needs <cstring>. This fixes a build error with g++-4.3. | Torok Edwin | 2008-04-04 | 1 | -0/+1 | 
| | | | | | llvm-svn: 49218 | ||||
| * | Provide an initial cut at exposing JIT compiled symbols to performance | Chris Lattner | 2008-04-04 | 1 | -1/+139 | 
| | | | | | | | | tools. This is currently only enabled on the mac, but could easily be supported by other hosts that are interested. llvm-svn: 49207 | ||||
| * | Make ExecutionEngine::updateGlobalMapping return the old mapping. | Chris Lattner | 2008-04-04 | 1 | -5/+18 | 
| | | | | | llvm-svn: 49206 | ||||
| * | Undo PHI elimination copy placement patch. This causes coalescing ↵ | Evan Cheng | 2008-04-04 | 1 | -30/+1 | 
| | | | | | | | (performace) issues. llvm-svn: 49198 | ||||
| * | This is done. | Evan Cheng | 2008-04-04 | 1 | -4/+0 | 
| | | | | | llvm-svn: 49197 | ||||
| * | if some functions don't have debug info, we were outputing the same label at ↵ | Andrew Lenharth | 2008-04-03 | 1 | -2/+5 | 
| | | | | | | | the start of each of those functions. This makes assemblers unhappy llvm-svn: 49176 | ||||
| * | - Turn copies of implicit_def into implicit_def instructions. | Evan Cheng | 2008-04-03 | 2 | -6/+71 | 
| | | | | | | | - Be smarter about coalescing copies from implicit_def. llvm-svn: 49168 | ||||

