Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Support TBAA attachments on calls. This is somewhat experimental. | Dan Gohman | 2010-10-25 | 1 | -0/+36 |
| | | | | llvm-svn: 117317 | ||||
* | Fix chaining in TBAA's pointsToConstantMemory. | Dan Gohman | 2010-10-25 | 1 | -1/+1 |
| | | | | llvm-svn: 117314 | ||||
* | Only read one bit for testing for a readonly type, leaving the other | Dan Gohman | 2010-10-25 | 1 | -2/+1 |
| | | | | | | bits open for future uses. llvm-svn: 117301 | ||||
* | Add a comment. | Dan Gohman | 2010-10-25 | 1 | -1/+3 |
| | | | | llvm-svn: 117288 | ||||
* | Update comments; BasicAA is no longer necessarily the end of the chain. | Dan Gohman | 2010-10-25 | 1 | -3/+3 |
| | | | | llvm-svn: 117268 | ||||
* | Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass. | Dan Gohman | 2010-10-25 | 1 | -6/+3 |
| | | | | llvm-svn: 117266 | ||||
* | Make some symbols static, move classes into anonymous namespaces. | Benjamin Kramer | 2010-10-22 | 1 | -1/+1 |
| | | | | llvm-svn: 117111 | ||||
* | Add some more documentation. | Dan Gohman | 2010-10-21 | 1 | -15/+21 |
| | | | | llvm-svn: 117070 | ||||
* | Explain what "constant" means here. | Dan Gohman | 2010-10-21 | 1 | -1/+3 |
| | | | | llvm-svn: 117053 | ||||
* | Update comments. | Dan Gohman | 2010-10-21 | 1 | -3/+23 |
| | | | | llvm-svn: 117048 | ||||
* | Memdep says that an instruction clobbers itself | Dan Gohman | 2010-10-20 | 1 | -1/+4 |
| | | | | | | when it means there is no specific clobber instruction. llvm-svn: 116960 | ||||
* | Factor out the main aliasing check into a separate function. | Dan Gohman | 2010-10-20 | 1 | -24/+39 |
| | | | | llvm-svn: 116958 | ||||
* | Fix comments; the type graph is currently a tree, not a DAG. | Dan Gohman | 2010-10-20 | 1 | -3/+3 |
| | | | | llvm-svn: 116954 | ||||
* | Add RegionPass support. | Tobias Grosser | 2010-10-20 | 2 | -0/+277 |
| | | | | | | | A RegionPass is executed like a LoopPass but on the regions detected by the RegionInfo pass instead of the loops detected by the LoopInfo pass. llvm-svn: 116905 | ||||
* | Fix CMake build | Douglas Gregor | 2010-10-20 | 1 | -0/+1 |
| | | | | llvm-svn: 116903 | ||||
* | Move NoAA out of BasicAliasAnalysis.cpp into its own file, now that | Dan Gohman | 2010-10-19 | 3 | -87/+92 |
| | | | | | | | it doesn't have a special relationship with BasicAliasAnalysis anymore. llvm-svn: 116876 | ||||
* | Reapply r116831 and r116839, converting AliasAnalysis to use | Dan Gohman | 2010-10-19 | 6 | -41/+43 |
| | | | | | | uint64_t, plus fixes for places I missed before. llvm-svn: 116875 | ||||
* | Revert r116831 and r116839, which are breaking selfhost builds. | Dan Gohman | 2010-10-19 | 5 | -42/+40 |
| | | | | llvm-svn: 116858 | ||||
* | Change AliasAnalysis and its clients to use uint64_t instead of unsigned | Dan Gohman | 2010-10-19 | 5 | -40/+42 |
| | | | | | | for representing object sizes, for consistency with other parts of LLVM. llvm-svn: 116831 | ||||
* | Get rid of static constructors for pass registration. Instead, every pass ↵ | Owen Anderson | 2010-10-19 | 27 | -36/+111 |
| | | | | | | | | | | | | | | | | | 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 | ||||
* | Consistently use AliasAnalysis::UnknownSize instead of hardcoding ~0u. | Dan Gohman | 2010-10-19 | 3 | -20/+29 |
| | | | | llvm-svn: 116815 | ||||
* | Make the representation of AliasSets explicitly differentiate | Dan Gohman | 2010-10-18 | 1 | -2/+2 |
| | | | | | | | between "not known yet" and "known no tbaa info" so that it can merge them properly. llvm-svn: 116767 | ||||
* | Don't pass the raw invalid pointer used to represent conflicting | Dan Gohman | 2010-10-18 | 1 | -3/+5 |
| | | | | | | TBAA information to AliasAnalysis. llvm-svn: 116751 | ||||
* | Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM. | Dan Gohman | 2010-10-18 | 1 | -24/+49 |
| | | | | llvm-svn: 116743 | ||||
* | Fix BasicAA to pass TBAAInfo through to the chained analysis. | Dan Gohman | 2010-10-18 | 1 | -26/+47 |
| | | | | llvm-svn: 116730 | ||||
* | Make TypeBasedAliasAnalysis default to doing nothing, with a command-line | Dan Gohman | 2010-10-18 | 1 | -0/+10 |
| | | | | | | option to enable it. llvm-svn: 116722 | ||||
* | Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory. | Dan Gohman | 2010-10-18 | 1 | -1/+4 |
| | | | | llvm-svn: 116721 | ||||
* | Make BasicAliasAnalysis a normal AliasAnalysis implementation which | Dan Gohman | 2010-10-18 | 1 | -11/+25 |
| | | | | | | | | | | | | does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias. Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. llvm-svn: 116720 | ||||
* | Eliminate some calls to Value::getNameStr. | Benjamin Kramer | 2010-10-16 | 1 | -1/+1 |
| | | | | llvm-svn: 116670 | ||||
* | Tolerate a null parent pointer. | Dan Gohman | 2010-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 116533 | ||||
* | add uadd_ov/usub_ov to apint, consolidate constant folding | Chris Lattner | 2010-10-14 | 1 | -32/+28 |
| | | | | | | | | | logic to use the new APInt methods. Among other things this implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold which comes from "clang -ftrapv", originally brought to my attention from PR8221. llvm-svn: 116457 | ||||
* | Analysis groups need to initialize their default implementations. | Owen Anderson | 2010-10-13 | 3 | -3/+3 |
| | | | | llvm-svn: 116441 | ||||
* | Add Region::isTopLevelRegion(). | Tobias Grosser | 2010-10-13 | 1 | -3/+3 |
| | | | | llvm-svn: 116402 | ||||
* | RegionInfo: Fix trivial error that slipped in last minute. | Tobias Grosser | 2010-10-13 | 1 | -1/+1 |
| | | | | llvm-svn: 116400 | ||||
* | RegionInfo: Update RegionInfo after a BB was split. | Tobias Grosser | 2010-10-13 | 1 | -0/+13 |
| | | | | llvm-svn: 116398 | ||||
* | RegioInfo: Add getExpandedRegion(). | Tobias Grosser | 2010-10-13 | 1 | -0/+32 |
| | | | | | | | getExpandedRegion() enables us to create non canonical regions. Those regions can be used to define the largerst region, that fullfills a certain property. llvm-svn: 116397 | ||||
* | RegionInfo: Allow to update exit and entry of a region. | Tobias Grosser | 2010-10-13 | 1 | -0/+9 |
| | | | | llvm-svn: 116396 | ||||
* | RegionInfo: Enhance addSubregion. | Tobias Grosser | 2010-10-13 | 1 | -4/+29 |
| | | | | llvm-svn: 116395 | ||||
* | RegionInfo: Allow to set the parent region of a basic block. | Tobias Grosser | 2010-10-13 | 1 | -1/+4 |
| | | | | llvm-svn: 116394 | ||||
* | RegionInfo: Free the RegionNodes in cache. | Tobias Grosser | 2010-10-13 | 1 | -0/+5 |
| | | | | | | Contributed by: ether llvm-svn: 116380 | ||||
* | Begin adding static dependence information to passes, which will allow us to | Owen Anderson | 2010-10-12 | 16 | -17/+75 |
| | | | | | | | | | perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334 | ||||
* | Support AA chaining. | Dan Gohman | 2010-10-11 | 1 | -6/+9 |
| | | | | llvm-svn: 116264 | ||||
* | Now using a variant of the existing inlining heuristics to decide whether to ↵ | Kenneth Uildriks | 2010-10-09 | 1 | -0/+70 |
| | | | | | | create a given specialization of a function in PartialSpecialization. If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization. llvm-svn: 116158 | ||||
* | Start separating out code metrics into code size metrics and code ↵ | Kenneth Uildriks | 2010-10-08 | 1 | -10/+53 |
| | | | | | | performance metrics. Partial Specialization will apply the former to function specializations, and the latter to all callsites that can use a specialization, in order to decide whether to create a specialization llvm-svn: 116057 | ||||
* | Now with fewer extraneous semicolons! | Owen Anderson | 2010-10-07 | 34 | -51/+52 |
| | | | | llvm-svn: 115996 | ||||
* | Add an implementation of the initialization routine for IPA. | Owen Anderson | 2010-10-07 | 1 | -0/+29 |
| | | | | llvm-svn: 115947 | ||||
* | Add initialization routines for Analysis and IPA. | Owen Anderson | 2010-10-07 | 2 | -0/+57 |
| | | | | llvm-svn: 115946 | ||||
* | Fix a warning when building with clang++. | Owen Anderson | 2010-10-07 | 1 | -2/+3 |
| | | | | llvm-svn: 115924 | ||||
* | Move the pass initialization helper functions into the llvm namespace, and add | Owen Anderson | 2010-10-07 | 2 | -10/+11 |
| | | | | | | | a header declaring them all. This is also where we will declare per-library pass-set initializer functions down the road. llvm-svn: 115900 | ||||
* | Appease the clang self-host buildbot by providing a correct instantiation. | Owen Anderson | 2010-10-06 | 1 | -3/+3 |
| | | | | llvm-svn: 115857 |