Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -1/+1 |
| | | | | llvm-svn: 135375 | ||||
* | Remove some support for ReturnInsts with multiple operands, and for | Jay Foad | 2011-04-04 | 1 | -1/+1 |
| | | | | | | | returning a scalar value in a function whose return type is a single- element structure or array. llvm-svn: 128810 | ||||
* | Get rid of static constructors for pass registration. Instead, every pass ↵ | Owen Anderson | 2010-10-19 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820 | ||||
* | Now with fewer extraneous semicolons! | Owen Anderson | 2010-10-07 | 1 | -1/+1 |
| | | | | llvm-svn: 115996 | ||||
* | Reapply r110396, with fixes to appease the Linux buildbot gods. | Owen Anderson | 2010-08-06 | 1 | -1/+1 |
| | | | | llvm-svn: 110460 | ||||
* | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 1 | -1/+1 |
| | | | | llvm-svn: 110410 | ||||
* | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 1 | -1/+1 |
| | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | ||||
* | simplify by using CallSite constructors; virtually eliminates CallSite::get ↵ | Gabor Greif | 2010-07-28 | 1 | -2/+2 |
| | | | | | | from the tree llvm-svn: 109687 | ||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 1 | -2/+2 |
| | | | | llvm-svn: 109045 | ||||
* | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -3/+4 |
| | | | | llvm-svn: 108145 | ||||
* | Remove unused LLVMContext. | Nick Lewycky | 2009-11-23 | 1 | -5/+2 |
| | | | | llvm-svn: 89642 | ||||
* | teach ipsccp and ipconstprop that a blockaddress doesn't 'take the address' ↵ | Chris Lattner | 2009-11-01 | 1 | -0/+3 |
| | | | | | | | | | of a function in a way that should prevent ip constprop. This allows clang/test/CodeGen/indirect-goto.c to pass with the new indirect goto lowering. llvm-svn: 85709 | ||||
* | Remove includes of Support/Compiler.h that are no longer needed after the | Nick Lewycky | 2009-10-25 | 1 | -1/+0 |
| | | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043 | ||||
* | Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. | Nick Lewycky | 2009-10-25 | 1 | -1/+1 |
| | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042 | ||||
* | Constant propagating byval pointer is safe if function is readonly. | Torok Edwin | 2009-09-24 | 1 | -2/+2 |
| | | | | llvm-svn: 82700 | ||||
* | Don't constant propagate byval pointers, since they are not really pointers, but | Torok Edwin | 2009-09-24 | 1 | -1/+2 |
| | | | | | | | rather structs passed by value. This fixes PR5038. llvm-svn: 82689 | ||||
* | Push LLVMContexts through the IntegerType APIs. | Owen Anderson | 2009-08-13 | 1 | -1/+1 |
| | | | | llvm-svn: 78948 | ||||
* | Move more code back to 2.5 APIs. | Owen Anderson | 2009-07-30 | 1 | -3/+3 |
| | | | | llvm-svn: 77635 | ||||
* | Get rid of the Pass+Context magic. | Owen Anderson | 2009-07-22 | 1 | -5/+5 |
| | | | | llvm-svn: 76702 | ||||
* | Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a ↵ | Owen Anderson | 2009-07-16 | 1 | -0/+2 |
| | | | | | | | | number of issues in our current context-passing stuff, which is also fixed here llvm-svn: 76089 | ||||
* | Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's ↵ | Owen Anderson | 2009-07-06 | 1 | -1/+1 |
| | | | | | | through the ValueTracking API. llvm-svn: 74873 | ||||
* | More LLVMContext-ification. | Owen Anderson | 2009-07-06 | 1 | -3/+4 |
| | | | | llvm-svn: 74811 | ||||
* | Use cast<> instead of dyn_cast<> for things that are known to be | Jay Foad | 2009-06-06 | 1 | -5/+1 |
| | | | | | | Instructions. llvm-svn: 73002 | ||||
* | introduce a useful abstraction to find out if a Use is in the call position ↵ | Gabor Greif | 2009-01-22 | 1 | -3/+4 |
| | | | | | | of an instruction llvm-svn: 62788 | ||||
* | Add the private linkage. | Rafael Espindola | 2009-01-15 | 1 | -1/+1 |
| | | | | llvm-svn: 62279 | ||||
* | 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 |