Commit Graph

11 Commits

Author SHA1 Message Date
Owen Anderson df7a4f2515 Now with fewer extraneous semicolons!
llvm-svn: 115996
2010-10-07 22:25:06 +00:00
Dan Gohman 41f14cf3e9 Remove the experimental AliasAnalysis::getDependency interface, which
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
2010-09-14 21:25:10 +00:00
Dan Gohman 5442c71f2e Thread const correctness through a bunch of AliasAnalysis interfaces and
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
2010-08-03 21:48:53 +00:00
Owen Anderson ac4a1ede17 Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
llvm-svn: 109058
2010-07-21 23:07:00 +00:00
Dan Gohman e8c035df6f LibCallAliasAnalysis doesn't use TargetData.
llvm-svn: 77729
2009-07-31 20:56:29 +00:00
Chris Lattner 3816aa7ef7 Expose a public interface to this pass.
llvm-svn: 52029
2008-06-05 23:45:18 +00:00
Chris Lattner 0282d0247e Let libcall semantics decide whether it knows about functions
with definitions or not.

llvm-svn: 52028
2008-06-05 23:38:34 +00:00
Dan Gohman be8f77859b Fix a typo in a comment.
llvm-svn: 51718
2008-05-30 00:08:18 +00:00
Dan Gohman f52c8044ea Use static and anonymous namespaces consistently with other passes.
llvm-svn: 51156
2008-05-15 19:43:55 +00:00
Torok Edwin 42d46f2aa3 put LibCallAliasAnalysis into anonymous namespace to avoid
clashes on ::X

llvm-svn: 50912
2008-05-09 20:35:45 +00:00
Chris Lattner 621d33bbc0 Add a new LibCallAliasAnalysis pass, which is parameterized
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
2008-05-07 19:53:05 +00:00