Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix uninitialized variable warning. | Nick Lewycky | 2010-08-06 | 1 | -2/+2 |
| | | | | | | | | Also move 'default' case next to a real case to help compiler optimize in non-Debug builds. No functionality change. llvm-svn: 110435 | ||||
* | Work in progress, cleaning up MergeFuncs. | Nick Lewycky | 2010-08-06 | 1 | -180/+40 |
| | | | | | | | | Further clean up the comparison function by removing overly generalized "domains". Remove all understanding of ELF aliases and simplify folding code and comments. llvm-svn: 110434 | ||||
* | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 64 | -84/+84 |
| | | | | llvm-svn: 110410 | ||||
* | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 64 | -84/+84 |
| | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | ||||
* | Give JumpThreading+LVI a long-form cl::opt so that it's easier to toggle the ↵ | Owen Anderson | 2010-08-05 | 1 | -1/+4 |
| | | | | | | default. llvm-svn: 110384 | ||||
* | Experiments show that we can safely increase our unrolling threshold without ↵ | Owen Anderson | 2010-08-04 | 1 | -1/+1 |
| | | | | | | | | unduly impacting code size, particularly since unrolling is not enabled at -Os. llvm-svn: 110233 | ||||
* | Fix whitespace. | Dan Gohman | 2010-08-04 | 1 | -1/+1 |
| | | | | llvm-svn: 110223 | ||||
* | Fix a comment. | Dan Gohman | 2010-08-04 | 1 | -1/+1 |
| | | | | llvm-svn: 110181 | ||||
* | Thread const correctness through a bunch of AliasAnalysis interfaces and | Dan Gohman | 2010-08-03 | 1 | -1/+1 |
| | | | | | | | | | | | | eliminate several const_casts. Make CallSite implicitly convertible to ImmutableCallSite. Rename the getModRefBehavior for intrinsic IDs to getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite, which happens to be implicitly convertible to bool. llvm-svn: 110155 | ||||
* | Make instcombine set explicit alignments on load or store | Dan Gohman | 2010-08-03 | 1 | -6/+14 |
| | | | | | | | instructions with alignment 0, so that subsequent passes don't need to bother checking the TargetData ABI size manually. llvm-svn: 110128 | ||||
* | Add an atomic lowering pass | Peter Collingbourne | 2010-08-03 | 2 | -0/+161 |
| | | | | llvm-svn: 110113 | ||||
* | Use unary + instead of a separate local variable for working | Dan Gohman | 2010-08-03 | 1 | -2/+1 |
| | | | | | | around std::min vs static const friction. llvm-svn: 110112 | ||||
* | Re-apply the infamous r108614, with a fix pointed out by Dirk Steinke. | Owen Anderson | 2010-08-02 | 1 | -5/+38 |
| | | | | llvm-svn: 110036 | ||||
* | Prefix `next' iterator operation with `llvm::'. | Oscar Fuentes | 2010-08-02 | 2 | -4/+4 |
| | | | | | | | | Fixes potential ambiguity problems on VS 2010. Patch by nobled! llvm-svn: 110029 | ||||
* | Fix a -Wreorder warning. | Daniel Dunbar | 2010-08-02 | 1 | -1/+1 |
| | | | | llvm-svn: 110022 | ||||
* | Work in progress. | Nick Lewycky | 2010-08-02 | 1 | -129/+164 |
| | | | | | | | | Start cleaning up MergeFunctions to look more like the rest of LLVM. The primary change here is to move the methods responsible for comparison into the new FunctionComparator object. Some comments added. There's more to do. llvm-svn: 110021 | ||||
* | Speculatively revert r108614, "Another attempt at getting the clang self-host to | Daniel Dunbar | 2010-07-31 | 1 | -32/+0 |
| | | | | | | | like my instcombine patch.", in an attempt to fix Clang i386 bootstrap. - Also PR7719. llvm-svn: 109953 | ||||
* | The BlockExtractorPass() constructor was not reading the BlockFile and that was | Rafael Espindola | 2010-07-31 | 1 | -5/+3 |
| | | | | | | | | | | | | | | exactly what bugpoint expected it to do. There was also only one user of BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and make BlockExtractorPass read BlockFile. This fixes bugpoint's block extraction. Nick, please review. llvm-svn: 109936 | ||||
* | Move MaximumAlignment to be a member of the Value class. | Dan Gohman | 2010-07-30 | 1 | -1/+2 |
| | | | | llvm-svn: 109891 | ||||
* | Add missing newline to debug statement. | Nick Lewycky | 2010-07-30 | 1 | -1/+1 |
| | | | | llvm-svn: 109886 | ||||
* | PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnull | Eli Friedman | 2010-07-29 | 1 | -1/+1 |
| | | | | | | if CExpr is a ConstantInt. llvm-svn: 109773 | ||||
* | simplify by using CallSite constructors; virtually eliminates CallSite::get ↵ | Gabor Greif | 2010-07-28 | 8 | -24/+24 |
| | | | | | | from the tree llvm-svn: 109687 | ||||
* | Define a maximum supported alignment value for load, store, and | Dan Gohman | 2010-07-28 | 1 | -1/+5 |
| | | | | | | | | | alloca instructions (constrained by their internal encoding), and add error checking for it. Fix an instcombine bug which generated huge alignment values (null is infinitely aligned). This fixes undefined behavior noticed by John Regehr. llvm-svn: 109643 | ||||
* | When user code intentionally dereferences null, the alignment of the | Dan Gohman | 2010-07-28 | 1 | -2/+7 |
| | | | | | | | dereference is theoretically infinite. Put a cap on the computed alignment to avoid overflow, noticed by John Regehr. llvm-svn: 109596 | ||||
* | simplify | Gabor Greif | 2010-07-28 | 1 | -2/+2 |
| | | | | llvm-svn: 109589 | ||||
* | use Value* constructor of CallSite to create potentially improper site, and ↵ | Gabor Greif | 2010-07-28 | 1 | -2/+1 |
| | | | | | | test that llvm-svn: 109581 | ||||
* | recommit simplification (r109502, backed out r109509); seems to innocent | Gabor Greif | 2010-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 109510 | ||||
* | back out this too to restore the bots | Gabor Greif | 2010-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 109509 | ||||
* | simplify: CallSite::get --> CallSite constructor | Gabor Greif | 2010-07-27 | 1 | -4/+4 |
| | | | | llvm-svn: 109506 | ||||
* | simplify | Gabor Greif | 2010-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 109502 | ||||
* | Add an initial implementation of LazyValueInfo updating for JumpThreading. ↵ | Owen Anderson | 2010-07-26 | 1 | -0/+3 |
| | | | | | | Disabled for now. llvm-svn: 109424 | ||||
* | Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus | Dan Gohman | 2010-07-26 | 4 | -19/+12 |
| | | | | | | | | | | | | | | dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier pass in StandardPasses.h to ensure that it gets scheduled at the right time. Declare that loop unrolling preserves ScalarEvolution, and shuffle some getAnalysisUsages. This eliminates one LoopSimplify and one LCCSA run in the standard compile opts sequence. llvm-svn: 109413 | ||||
* | Preserve ScalarEvolution in the loop unroller. | Dan Gohman | 2010-07-26 | 1 | -0/+6 |
| | | | | llvm-svn: 109412 | ||||
* | Use DominatorTree::properlyDominates instead of dominates with an | Dan Gohman | 2010-07-26 | 1 | -1/+1 |
| | | | | | | explicit inequality check. llvm-svn: 109401 | ||||
* | A block dominates itself, by definition. | Dan Gohman | 2010-07-26 | 1 | -1/+1 |
| | | | | llvm-svn: 109400 | ||||
* | Revert this because we can't clone cyclic MDNodes which are creating during a | Nick Lewycky | 2010-07-24 | 1 | -3/+4 |
| | | | | | | build of llvm-gcc. llvm-svn: 109355 | ||||
* | Whether function-local or not, a MDNode may reference a Function in which case | Nick Lewycky | 2010-07-24 | 1 | -4/+3 |
| | | | | | | | it needs to be mapped to refer to the function in the new module, not the old one. Fixes PR7700. llvm-svn: 109353 | ||||
* | Speculatively revert 109117 | Devang Patel | 2010-07-22 | 1 | -27/+6 |
| | | | | llvm-svn: 109132 | ||||
* | keep in 80 cols | Gabor Greif | 2010-07-22 | 1 | -3/+4 |
| | | | | llvm-svn: 109122 | ||||
* | Map MDNode correctly. | Devang Patel | 2010-07-22 | 1 | -6/+27 |
| | | | | | | A non function local MDNode can have an operand which is cloned by MapValue(). llvm-svn: 109117 | ||||
* | mass elimination of reliance on automatic iterator dereferencing | Gabor Greif | 2010-07-22 | 8 | -10/+10 |
| | | | | llvm-svn: 109103 | ||||
* | simplify | Gabor Greif | 2010-07-22 | 1 | -3/+2 |
| | | | | llvm-svn: 109101 | ||||
* | do not access arguments via low-level interface, do not multiply dereference ↵ | Gabor Greif | 2010-07-22 | 1 | -17/+19 |
| | | | | | | use_iterators llvm-svn: 109100 | ||||
* | pass dereferenced iterator to dyn_cast | Gabor Greif | 2010-07-22 | 1 | -1/+1 |
| | | | | llvm-svn: 109099 | ||||
* | pass dereferenced iterator to dyn_cast | Gabor Greif | 2010-07-22 | 1 | -1/+1 |
| | | | | llvm-svn: 109098 | ||||
* | undo 80 column trespassing I caused | Gabor Greif | 2010-07-22 | 5 | -22/+30 |
| | | | | llvm-svn: 109092 | ||||
* | Make NamedMDNode not be a subclass of Value, and simplify the interface | Dan Gohman | 2010-07-21 | 1 | -4/+2 |
| | | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061 | ||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 54 | -108/+119 |
| | | | | llvm-svn: 109045 | ||||
* | Make this code a little more readable. | Dan Gohman | 2010-07-20 | 1 | -2/+4 |
| | | | | llvm-svn: 108968 | ||||
* | Use DebugLocs instead of MDNodes. | Dan Gohman | 2010-07-20 | 1 | -32/+27 |
| | | | | llvm-svn: 108967 |