summaryrefslogtreecommitdiff
path: root/lib/Analysis/BasicAliasAnalysis.cpp
Commit message (Collapse)AuthorAge
* Use autogenerated mod/ref info for intrinsics.Chris Lattner2006-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26670 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash compiling ObsequiChris Lattner2006-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26529 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more conservative with our symbolic alias analysis. In particular,Chris Lattner2006-03-04
| | | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26515 91177308-0d34-0410-b5e6-96231b3b80d8
* Add bswap intrinsics as documented in the Language ReferenceNate Begeman2006-01-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309 91177308-0d34-0410-b5e6-96231b3b80d8
* prevent cse of readcyclecounterAndrew Lenharth2005-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24303 91177308-0d34-0410-b5e6-96231b3b80d8
* continued readcyclecounter supportAndrew Lenharth2005-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
* floor/ceil don't read/write memory. This allows gcse to eliminate 6 callsChris Lattner2005-08-24
| | | | | | | in mesa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23015 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove glibc specific functions, and mark a couple as C99Andrew Lenharth2005-07-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22384 91177308-0d34-0410-b5e6-96231b3b80d8
* because on alpha:Andrew Lenharth2005-07-11
| | | | | | | | | # define errno (*__errno_location ()) *shakes head git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22383 91177308-0d34-0410-b5e6-96231b3b80d8
* By definition, 'tail' calls cannot access the stack frame of their caller.Chris Lattner2005-05-08
| | | | | | | | Expose this as a simple form of mod/ref information. This implements BasicAA/tailcall-modref.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21796 91177308-0d34-0410-b5e6-96231b3b80d8
* These intrinsics do not access memoryChris Lattner2005-05-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21718 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm.sqrt intrinsic, patch contributed by Morten OfstadChris Lattner2005-04-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21627 91177308-0d34-0410-b5e6-96231b3b80d8
* These functions can set errno!Chris Lattner2005-04-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21609 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilationChris Lattner2005-03-09
| | | | | | | that Alkis found with Java, thanks Alkis! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20531 91177308-0d34-0410-b5e6-96231b3b80d8
* Add even more missing createXxxPass functions.Jeff Cohen2005-01-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in -no-aa that caused two DSGraph tests to XPASS.Chris Lattner2004-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18962 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new alias analysis interfacesChris Lattner2004-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18957 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase and fix for yet another case where we query the size anAlkis Evlogimenos2004-12-08
| | | | | | | abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18678 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase and fix for another case where we query the size anAlkis Evlogimenos2004-12-08
| | | | | | | abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18676 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-07
| | | | | | | Add getModRefInfo method to avoid overloaded virtuals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18601 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.llChris Lattner2004-11-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18308 91177308-0d34-0410-b5e6-96231b3b80d8
* The trick with globals actually works with allocas and malloc tooChris Lattner2004-11-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18262 91177308-0d34-0410-b5e6-96231b3b80d8
* A store or load cannot alias a global if the accessed amount is larger thenChris Lattner2004-11-26
| | | | | | | | | the global. This implements Regression/Analysis/BasicAA/global-size.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18261 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.llChris Lattner2004-11-17
| | | | | | | by saying what we mean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17913 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more careful about looking for constants when we really want constantint's.Chris Lattner2004-10-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17029 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-03
| | | | | | | Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge i*.h headers into Instructions.h as part of bug403.Alkis Evlogimenos2004-07-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llxChris Lattner2004-07-29
| | | | | | | | This also fixes the miscompilation of MallocBench/gs with dead store elimination enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15324 91177308-0d34-0410-b5e6-96231b3b80d8
* Make basicaa a bit more aggressiveChris Lattner2004-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15252 91177308-0d34-0410-b5e6-96231b3b80d8
* basic-aa can actually provide simple mod/ref infoChris Lattner2004-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15251 91177308-0d34-0410-b5e6-96231b3b80d8
* This was implemented back in marchChris Lattner2004-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15250 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not ignore casts unless they are pointer-pointer casts. This caused usChris Lattner2004-07-21
| | | | | | | to miscompile the SingleSource/Regression/C++/pointer_member.cpp program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15062 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 122:Reid Spencer2004-07-18
| | | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14942 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify logic.Chris Lattner2004-07-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14825 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.Chris Lattner2004-06-19
| | | | | | | This is a regression from 1.2, though noone uses -no-aa anyway git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14245 91177308-0d34-0410-b5e6-96231b3b80d8
* isnan is deadChris Lattner2004-06-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14191 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm.isnan doesn't access memoryChris Lattner2004-06-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14151 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the -no-aa AA implementation into this file since both of theseChris Lattner2004-05-23
| | | | | | | | alias analysis implementations are special: they do not autoforward to a chained implementation of alias analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13683 91177308-0d34-0410-b5e6-96231b3b80d8
* Hrm, operator new and new[] do not belong here. We should not CSE them! :)Chris Lattner2004-04-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12859 91177308-0d34-0410-b5e6-96231b3b80d8
* operator new & operator new[] do not kill any legal memory locations.Chris Lattner2004-04-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12833 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow clients to be more efficient.Chris Lattner2004-04-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12831 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a couple of more functions that cannot access memory (the intrinsics) andChris Lattner2004-04-10
| | | | | | | don't write to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8
* Support getelementptr instructions which use uint's to index into structureChris Lattner2004-04-05
| | | | | | | | types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some missing functions. Make sure to handle calls together in case theChris Lattner2004-03-16
| | | | | | | client has another VN implementation that can VN calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a minor bug, implementing GCSE/call_pure_function.llChris Lattner2004-03-15
| | | | | | | Also, add some stuff I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach basicaa about some stdc functions.Chris Lattner2004-03-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12408 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a couple of minor problems. Because PHI nodes can use themselves, thisChris Lattner2004-03-12
| | | | | | | could cause infinite loops. Also, getUnderlyingObject can return null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement mod/ref analysis for a trivial case where locals don't escape.Chris Lattner2004-03-12
| | | | | | | | This comes up when you have a local array on the stack and you never pass the address of elements around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand on my note-to-selfChris Lattner2004-03-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12029 91177308-0d34-0410-b5e6-96231b3b80d8