Chris Lattner
496bd3fbf6
Use hidden visibility to make symbols in an anonymous namespace get
...
dropped. This shrinks libllvmgcc.dylib another 67K
llvm-svn: 28975
2006-06-28 23:17:24 +00:00
Reid Spencer
560366562b
For PR780:
...
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.
llvm-svn: 28715
2006-06-07 22:00:26 +00:00
Reid Spencer
2c6d390a60
Change from using a stub function to a stub variable for passing to the
...
IncludeFile hack to ensure linkage of analysis passes. This works around
some -pedantic warnings about assigning an object to a function.
llvm-svn: 28621
2006-06-01 07:02:51 +00:00
Chris Lattner
f53321422d
Use autogenerated mod/ref info for intrinsics.
...
llvm-svn: 26670
2006-03-09 22:31:29 +00:00
Chris Lattner
805838e63e
Fix a crash compiling Obsequi
...
llvm-svn: 26529
2006-03-04 21:48:01 +00:00
Chris Lattner
0d3abd353b
Be more conservative with our symbolic alias analysis. In particular,
...
don't assume that A[1][0] and A[0][i] can't alias. "i" might be out of
range, or even negative. This fixes a miscompilation of 188.ammp (which
does bad pointer tricks) with the new CFE.
Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll
llvm-svn: 26515
2006-03-04 02:06:34 +00:00
Nate Begeman
4750001146
Add bswap intrinsics as documented in the Language Reference
...
llvm-svn: 25309
2006-01-14 01:25:24 +00:00
Andrew Lenharth
177491a9a2
prevent cse of readcyclecounter
...
llvm-svn: 24303
2005-11-11 19:02:54 +00:00
Andrew Lenharth
dca2f13e76
continued readcyclecounter support
...
llvm-svn: 24300
2005-11-11 16:47:30 +00:00
Chris Lattner
f369fd383d
floor/ceil don't read/write memory. This allows gcse to eliminate 6 calls
...
in mesa.
llvm-svn: 23015
2005-08-24 16:58:56 +00:00
Andrew Lenharth
10f725f64b
Remove glibc specific functions, and mark a couple as C99
...
llvm-svn: 22384
2005-07-11 20:35:20 +00:00
Andrew Lenharth
8089fbc902
because on alpha:
...
# define errno (*__errno_location ())
*shakes head
llvm-svn: 22383
2005-07-11 17:41:12 +00:00
Chris Lattner
5a7f1642b7
By definition, 'tail' calls cannot access the stack frame of their caller.
...
Expose this as a simple form of mod/ref information. This implements
BasicAA/tailcall-modref.ll
llvm-svn: 21796
2005-05-08 23:58:12 +00:00
Chris Lattner
4f7bba1106
These intrinsics do not access memory
...
llvm-svn: 21718
2005-05-06 05:21:04 +00:00
Chris Lattner
234ffe2395
Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad
...
llvm-svn: 21627
2005-04-30 03:44:07 +00:00
Chris Lattner
fb0d0ea349
These functions can set errno!
...
llvm-svn: 21609
2005-04-28 21:52:31 +00:00
Misha Brukman
122d682689
Remove trailing whitespace
...
llvm-svn: 21416
2005-04-21 21:13:18 +00:00
Chris Lattner
30ac52c4b4
Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilation
...
that Alkis found with Java, thanks Alkis!
llvm-svn: 20531
2005-03-09 16:29:52 +00:00
Jeff Cohen
6c0db8d863
Add even more missing createXxxPass functions.
...
llvm-svn: 19402
2005-01-08 22:01:16 +00:00
Chris Lattner
6fe0ea70e2
Fix a bug in -no-aa that caused two DSGraph tests to XPASS.
...
llvm-svn: 18962
2004-12-15 17:13:24 +00:00
Chris Lattner
8139749984
Adjust to new alias analysis interfaces
...
llvm-svn: 18957
2004-12-15 07:22:13 +00:00
Alkis Evlogimenos
8547388d22
Add testcase and fix for yet another case where we query the size an
...
abstract type.
llvm-svn: 18678
2004-12-08 23:56:15 +00:00
Alkis Evlogimenos
b00f884344
Add testcase and fix for another case where we query the size an
...
abstract type.
llvm-svn: 18676
2004-12-08 23:42:11 +00:00
Reid Spencer
d0d846cd06
For PR387:\
...
Add getModRefInfo method to avoid overloaded virtuals
llvm-svn: 18601
2004-12-07 08:11:24 +00:00
Chris Lattner
e65724d6eb
Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
...
llvm-svn: 18308
2004-11-28 20:30:15 +00:00
Chris Lattner
aecb6daf08
The trick with globals actually works with allocas and malloc too
...
llvm-svn: 18262
2004-11-26 20:01:48 +00:00
Chris Lattner
e076e608d8
A store or load cannot alias a global if the accessed amount is larger then
...
the global.
This implements Regression/Analysis/BasicAA/global-size.ll
llvm-svn: 18261
2004-11-26 19:20:01 +00:00
Chris Lattner
bd02c10b87
Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.ll
...
by saying what we mean
llvm-svn: 17913
2004-11-17 17:39:39 +00:00
Chris Lattner
b3a86dc93f
Be more careful about looking for constants when we really want constantint's.
...
llvm-svn: 17029
2004-10-16 16:07:10 +00:00
Alkis Evlogimenos
0c50e0f211
Fixes to make LLVM compile with vc7.1.
...
Patch contributed by Paolo Invernizzi!
llvm-svn: 16152
2004-09-03 18:19:51 +00:00
Alkis Evlogimenos
fb27f702ca
Merge i*.h headers into Instructions.h as part of bug403.
...
llvm-svn: 15325
2004-07-29 12:17:34 +00:00
Chris Lattner
b2cf39d1a4
Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx
...
This also fixes the miscompilation of MallocBench/gs with dead store
elimination enabled.
llvm-svn: 15324
2004-07-29 07:56:39 +00:00
Chris Lattner
40bd881142
Make basicaa a bit more aggressive
...
llvm-svn: 15252
2004-07-27 02:18:52 +00:00
Chris Lattner
fe3fff9354
basic-aa can actually provide simple mod/ref info
...
llvm-svn: 15251
2004-07-27 02:13:55 +00:00
Chris Lattner
9cfa22fb48
This was implemented back in march
...
llvm-svn: 15250
2004-07-27 01:59:42 +00:00
Chris Lattner
36940c22f7
Do not ignore casts unless they are pointer-pointer casts. This caused us
...
to miscompile the SingleSource/Regression/C++/pointer_member.cpp program.
llvm-svn: 15062
2004-07-21 03:56:54 +00:00
Reid Spencer
b339652b44
bug 122:
...
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass
llvm-svn: 14942
2004-07-18 00:18:30 +00:00
Chris Lattner
fb6e1c2007
Simplify logic.
...
llvm-svn: 14825
2004-07-14 20:27:12 +00:00
Chris Lattner
9b19f34fe2
Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.
...
This is a regression from 1.2, though noone uses -no-aa anyway
llvm-svn: 14245
2004-06-19 08:05:58 +00:00
Chris Lattner
7c3600a50e
isnan is dead
...
llvm-svn: 14191
2004-06-15 21:52:58 +00:00
Chris Lattner
8dd2380de4
llvm.isnan doesn't access memory
...
llvm-svn: 14151
2004-06-11 06:17:13 +00:00
Chris Lattner
7ccc4c2ed9
Move the -no-aa AA implementation into this file since both of these
...
alias analysis implementations are special: they do not autoforward to a
chained implementation of alias analysis
llvm-svn: 13683
2004-05-23 21:15:12 +00:00
Chris Lattner
a688d42e8c
Hrm, operator new and new[] do not belong here. We should not CSE them! :)
...
llvm-svn: 12859
2004-04-12 05:16:42 +00:00
Chris Lattner
02a9e10e74
operator new & operator new[] do not kill any legal memory locations.
...
llvm-svn: 12833
2004-04-11 18:16:34 +00:00
Chris Lattner
aa1c0d5e76
Allow clients to be more efficient.
...
llvm-svn: 12831
2004-04-11 16:43:07 +00:00
Chris Lattner
474637518d
Add a couple of more functions that cannot access memory (the intrinsics) and
...
don't write to memory
llvm-svn: 12808
2004-04-10 06:55:27 +00:00
Chris Lattner
9236135e8f
Support getelementptr instructions which use uint's to index into structure
...
types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.
llvm-svn: 12653
2004-04-05 01:30:19 +00:00
Chris Lattner
c2eb0678d8
Add some missing functions. Make sure to handle calls together in case the
...
client has another VN implementation that can VN calls.
llvm-svn: 12427
2004-03-16 03:41:35 +00:00
Chris Lattner
cd227e5bdb
Fix a minor bug, implementing GCSE/call_pure_function.ll
...
Also, add some stuff I missed before.
llvm-svn: 12417
2004-03-15 04:18:28 +00:00
Chris Lattner
0ea40c6fac
Teach basicaa about some stdc functions.
...
llvm-svn: 12408
2004-03-15 03:36:49 +00:00
Chris Lattner
bb08e801d4
Fix a couple of minor problems. Because PHI nodes can use themselves, this
...
could cause infinite loops. Also, getUnderlyingObject can return null
llvm-svn: 12351
2004-03-12 23:12:55 +00:00
Chris Lattner
6bd3783ef8
Implement mod/ref analysis for a trivial case where locals don't escape.
...
This comes up when you have a local array on the stack and you never pass
the address of elements around.
llvm-svn: 12349
2004-03-12 22:39:00 +00:00
Chris Lattner
9bf85f216b
Expand on my note-to-self
...
llvm-svn: 12029
2004-03-01 02:44:44 +00:00
Chris Lattner
63b79422f3
Fix a soon-to-be-missing #include
...
llvm-svn: 11707
2004-02-22 06:26:17 +00:00
Chris Lattner
a497e3d6e1
Fix thinko
...
llvm-svn: 11027
2004-01-30 22:48:02 +00:00
Chris Lattner
8bcdaf9b5d
Implement the pointsToConstantMemory() method.
...
llvm-svn: 11022
2004-01-30 22:17:24 +00:00
Chris Lattner
a2612e417c
Eliminate use of ConstantHandling itf
...
llvm-svn: 10780
2004-01-12 17:57:32 +00:00
Chris Lattner
8caf13292a
Add a note
...
llvm-svn: 10617
2003-12-28 04:03:49 +00:00
Chris Lattner
f9c24d19cf
Factor out some duplicated code, implement the rest of the cases in
...
BasicAA/2003-12-11-ConstExprGEP.ll
llvm-svn: 10412
2003-12-11 23:20:16 +00:00
Chris Lattner
2185bd56cc
Fix PR86. This makes basicaa _SIGNIFICANLY_ more aggressive with getelementptr's
...
llvm-svn: 10410
2003-12-11 22:44:13 +00:00
Chris Lattner
a1ddf56288
Fix a glaring bug
...
llvm-svn: 10400
2003-12-11 06:06:28 +00:00
Chris Lattner
3245f523d9
Realize the gep P, <zeros> must aliases P.
...
This is a partial fix for PR 86
llvm-svn: 10399
2003-12-11 06:02:00 +00:00
Chris Lattner
99253d6580
With Brian's change to AA.h we can now clean out this uglyness
...
llvm-svn: 10398
2003-12-11 05:44:59 +00:00
Chris Lattner
96656a16ad
Fix file header
...
llvm-svn: 10219
2003-11-25 20:11:47 +00:00
Chris Lattner
259524df92
Use gep_type_begin/end instead of looking for ubytes
...
llvm-svn: 10217
2003-11-25 20:10:07 +00:00
Chris Lattner
8b644ddc5b
Finegrainify namespacification
...
llvm-svn: 10210
2003-11-25 18:33:40 +00:00
Brian Gaeke
d25f86d683
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
John Criswell
b402729b30
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
aaf3999fba
Fix bug: BasicAA/2003-09-19-LocalArgument.ll
...
llvm-svn: 8615
2003-09-20 03:08:47 +00:00
Misha Brukman
b9a4ddbfc5
Fixed spelling and grammar.
...
llvm-svn: 8478
2003-09-11 18:14:24 +00:00
Chris Lattner
b93ef28cef
Reuse the values if they are constants: this is important so that we index into the right structure field
...
This fixes bug: BasicAA/2003-07-03-BasicAACrash.ll
llvm-svn: 7093
2003-07-03 06:42:38 +00:00
Chris Lattner
5083d8846b
Implement handling of constantexprs for disambiguation. This implements
...
BasicAA/featuretest.ll:constexpr_test
llvm-svn: 6740
2003-06-17 15:25:37 +00:00
Chris Lattner
fe6eef643c
Be more robust in the face of undefined behavior.
...
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll
llvm-svn: 6538
2003-06-02 05:42:39 +00:00
Chris Lattner
777fdfc135
Fix Bug: BasicAA/2003-05-21-GEP-Problem.ll
...
llvm-svn: 6270
2003-05-21 20:23:26 +00:00
Chris Lattner
43e38979b5
Fix BasicAA/2003-04-25-GEPCrash.ll
...
llvm-svn: 5940
2003-04-25 18:03:06 +00:00
Chris Lattner
72a506d1f2
Fix bug: BasicAA/2003-04-22-GEPProblem.ll
...
llvm-svn: 5858
2003-04-22 22:00:27 +00:00
Chris Lattner
8080df315f
Remove unneccesary forward decl
...
llvm-svn: 5710
2003-03-06 16:37:29 +00:00
Chris Lattner
9d545c8aa3
Fix bug: BasicAA/2003-03-04-GEPCrash.ll
...
llvm-svn: 5695
2003-03-04 16:40:17 +00:00
Chris Lattner
a29ba21066
Fix a problem with negative indexes
...
llvm-svn: 5681
2003-03-02 23:43:34 +00:00
Chris Lattner
933b11a154
Fix bug: BasicAA/2003-02-26-AccessSizeTest.ll
...
llvm-svn: 5645
2003-02-26 21:57:23 +00:00
Chris Lattner
e923b037b7
Fix several bugs in basic-aa
...
llvm-svn: 5643
2003-02-26 21:28:49 +00:00
Chris Lattner
721f9fc770
Move BasicAA pass out to it's own header file
...
llvm-svn: 5640
2003-02-26 19:41:54 +00:00