Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Clean up some multiple-return-value code that is no longer | Dan Gohman | 2008-10-03 | 1 | -5/+1 | |
| | | | | | | applicable. llvm-svn: 57033 | |||||
* | remove redundant test (mayBeOverriden() includes hasLinkOnceLinkage) | Nuno Lopes | 2008-09-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 56786 | |||||
* | Rename isWeakForLinker to mayBeOverridden. Use it | Duncan Sands | 2008-09-29 | 1 | -1/+1 | |
| | | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782 | |||||
* | Tidy up several unbeseeming casts from pointer to intptr_t. | Dan Gohman | 2008-09-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 55779 | |||||
* | Enable first-class aggregates support. | Dan Gohman | 2008-07-23 | 1 | -3/+1 | |
| | | | | | | | | | | | | Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941 | |||||
* | Use a CallSite to find the nth argument of a call/invoke instruction instead of | Matthijs Kooijman | 2008-06-19 | 1 | -11/+11 | |
| | | | | | | | using getOperand() directly. This makes things work with invoke instructions as well. llvm-svn: 52489 | |||||
* | Reapply r52397 (make IPConstProp promote returned arguments), but fixed this | Matthijs Kooijman | 2008-06-18 | 1 | -3/+18 | |
| | | | | | | | | time. Sorry for the trouble! This time, also add a testcase, which I should have done in the first place... llvm-svn: 52455 | |||||
* | Reapply r52396, it was unrelated to the breakage (that was caused by r52397, my | Matthijs Kooijman | 2008-06-18 | 1 | -53/+76 | |
| | | | | | | commit after this). llvm-svn: 52453 | |||||
* | revert recent patch which is causing widespread breakage. | Chris Lattner | 2008-06-17 | 1 | -85/+53 | |
| | | | | llvm-svn: 52415 | |||||
* | Learn IPConstProp to propagate arguments that are directly returned. Strictly | Matthijs Kooijman | 2008-06-17 | 1 | -2/+11 | |
| | | | | | | | | speaking these are not constant values. However, when a function always returns one of its arguments, then from the point of view of each caller the return value is constant (or at least a known value) and can be replaced. llvm-svn: 52397 | |||||
* | Learn IPConstProp to look at individual return values and propagate them | Matthijs Kooijman | 2008-06-17 | 1 | -53/+76 | |
| | | | | | | | | | | | individually. Also learn IPConstProp how returning first class aggregates work, in addition to old style multiple return instructions. Modify the return-constants testscase to confirm this behaviour. llvm-svn: 52396 | |||||
* | Fix PR2411, where ip constant prop would propagate the | Chris Lattner | 2008-06-09 | 1 | -0/+5 | |
| | | | | | | result of a weak function. llvm-svn: 52137 | |||||
* | Clean up the use of static and anonymous namespaces. This turned up | Dan Gohman | 2008-05-13 | 1 | -2/+4 | |
| | | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017 | |||||
* | simplify code for propagation of constant arguments into | Chris Lattner | 2008-04-23 | 1 | -46/+49 | |
| | | | | | | callees. llvm-svn: 50142 | |||||
* | Fix a number of bugs in ipconstantprop, simplify the code, fit in 80 cols, | Chris Lattner | 2008-04-23 | 1 | -41/+39 | |
| | | | | | | fix read after free bug (PR2238). llvm-svn: 50141 | |||||
* | Incorporate feedback. | Devang Patel | 2008-03-20 | 1 | -24/+24 | |
| | | | | | | | | - Fix loop nest. - Use RetVals.size() - Check for null return value. llvm-svn: 48605 | |||||
* | Handle multiple ret values. | Devang Patel | 2008-03-11 | 1 | -21/+59 | |
| | | | | llvm-svn: 48254 | |||||
* | Make Transforms to be 4.3 warnings-clean | Anton Korobeynikov | 2008-02-20 | 1 | -1/+2 | |
| | | | | llvm-svn: 47371 | |||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 45418 | |||||
* | Fix typo in comment. | Nick Lewycky | 2007-05-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 36873 | |||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -2/+2 | |
| | | | | llvm-svn: 36662 | |||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -2/+2 | |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | |||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -0/+4 | |
| | | | | llvm-svn: 36632 | |||||
* | Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in | Reid Spencer | 2007-02-05 | 1 | -1/+2 | |
| | | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939 | |||||
* | For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid | Reid Spencer | 2007-01-30 | 1 | -1/+1 | |
| | | | | | | confusion with external linkage types. llvm-svn: 33663 | |||||
* | Eliminate static ctors due to Statistic objects | Chris Lattner | 2006-12-19 | 1 | -5/+4 | |
| | | | | llvm-svn: 32693 | |||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -2/+2 | |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | |||||
* | eliminate RegisterOpt. It does the same thing as RegisterPass. | Chris Lattner | 2006-08-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 29925 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -5/+5 | |
| | | | | llvm-svn: 21427 | |||||
* | This mega patch converts us from using Function::a{iterator|begin|end} to | Chris Lattner | 2005-03-15 | 1 | -4/+4 | |
| | | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597 | |||||
* | Only cound if we actually made a change. | Chris Lattner | 2004-12-11 | 1 | -3/+6 | |
| | | | | llvm-svn: 18800 | |||||
* | Remove note to self | Chris Lattner | 2004-11-14 | 1 | -4/+0 | |
| | | | | llvm-svn: 17734 | |||||
* | If a function always returns a constant, replace all calls sites with that | Chris Lattner | 2004-11-14 | 1 | -11/+80 | |
| | | | | | | | | | | | constant value. This makes the return value dead and allows for simplification in the caller. This implements IPConstantProp/return-constant.ll This triggers several dozen times throughout SPEC. llvm-svn: 17730 | |||||
* | Actually, leave the check in. This prevents us from counting dead arguments | Chris Lattner | 2004-11-11 | 1 | -1/+1 | |
| | | | | | | as IPCP opportunities. llvm-svn: 17680 | |||||
* | Fix bug: IPConstantProp/deadarg.ll | Chris Lattner | 2004-11-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 17679 | |||||
* | Make IP Constant prop more aggressive about handling self recursive calls. | Chris Lattner | 2004-11-10 | 1 | -2/+4 | |
| | | | | | | This implements IPConstantProp/recursion.ll llvm-svn: 17666 | |||||
* | Do not let dead constant expressions hanging off of functions prevent IPCP. | Chris Lattner | 2004-11-09 | 1 | -0/+3 | |
| | | | | | | | This allows to elimination of a bunch of global pool descriptor args from programs being pool allocated (and is also generally useful!) llvm-svn: 17657 | |||||
* | 'Pass' should now not be derived from by clients. Instead, they should derive | Chris Lattner | 2004-09-20 | 1 | -4/+4 | |
| | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. llvm-svn: 16436 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -1/+1 | |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | |||||
* | Avoid an unnecessary isa<Constant>. | Reid Spencer | 2004-07-18 | 1 | -3/+1 | |
| | | | | llvm-svn: 14963 | |||||
* | bug 122: | Reid Spencer | 2004-07-18 | 1 | -5/+1 | |
| | | | | | | - Minimize redundant isa<GlobalValue> usage llvm-svn: 14948 | |||||
* | Finegrainify namespacification | Chris Lattner | 2003-11-21 | 1 | -4/+3 | |
| | | | | llvm-svn: 10138 | |||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -0/+4 | |
| | | | | llvm-svn: 9903 | |||||
* | Propagating constants to arguments can make other arguments constant. For now | Chris Lattner | 2003-10-27 | 1 | -5/+15 | |
| | | | | | | do something dumb, and inefficient, but more complete. llvm-svn: 9542 | |||||
* | We might as well strip off any CPRs before propagation | Chris Lattner | 2003-10-23 | 1 | -1/+4 | |
| | | | | llvm-svn: 9437 | |||||
* | Check in initial version of ipcp | Chris Lattner | 2003-10-23 | 1 | -0/+110 | |
llvm-svn: 9423 |