summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/LibCallAliasAnalysis.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-1/+1
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115996
* Remove the experimental AliasAnalysis::getDependency interface, whichDan Gohman2010-09-141-9/+9
| | | | | | | | | | | isn't a good level of abstraction for memdep. Instead, generalize AliasAnalysis::alias and related interfaces with a new Location class for describing a memory location. For now, this is the same Pointer and Size as before, plus an additional field for a TBAA tag. Also, introduce a fixed MD_tbaa metadata tag kind. llvm-svn: 113858
* Thread const correctness through a bunch of AliasAnalysis interfaces andDan Gohman2010-08-031-3/+4
| | | | | | | | | | | | 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
* Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with ↵Owen Anderson2010-07-211-5/+2
| | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058
* LibCallAliasAnalysis doesn't use TargetData.Dan Gohman2009-07-311-2/+0
| | | | llvm-svn: 77729
* Expose a public interface to this pass.Chris Lattner2008-06-051-40/+12
| | | | llvm-svn: 52029
* Let libcall semantics decide whether it knows about functions Chris Lattner2008-06-051-2/+2
| | | | | | with definitions or not. llvm-svn: 52028
* Fix a typo in a comment.Dan Gohman2008-05-301-1/+1
| | | | llvm-svn: 51718
* Use static and anonymous namespaces consistently with other passes.Dan Gohman2008-05-151-8/+8
| | | | llvm-svn: 51156
* put LibCallAliasAnalysis into anonymous namespace to avoidTorok Edwin2008-05-091-1/+1
| | | | | | clashes on ::X llvm-svn: 50912
* Add a new LibCallAliasAnalysis pass, which is parameterizedChris Lattner2008-05-071-0/+169
by an instance of LibCallInfo to provide mod/ref info of standard library functions. This is powerful enough to say that 'sqrt' is readonly except that it modifies errno, or that "printf doesn't store to memory unless the %n constraint is present" etc. llvm-svn: 50827
OpenPOWER on IntegriCloud