aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/BasicAliasAnalysis.cpp
AgeCommit message (Collapse)Author
2006-06-28Use hidden visibility to make symbols in an anonymous namespace getChris Lattner
dropped. This shrinks libllvmgcc.dylib another 67K git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR780:Reid Spencer
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01Change from using a stub function to a stub variable for passing to theReid Spencer
IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09Use autogenerated mod/ref info for intrinsics.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26670 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-04Fix a crash compiling ObsequiChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26529 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-04Be more conservative with our symbolic alias analysis. In particular,Chris Lattner
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
2006-01-14Add bswap intrinsics as documented in the Language ReferenceNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11prevent cse of readcyclecounterAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24303 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11continued readcyclecounter supportAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24floor/ceil don't read/write memory. This allows gcse to eliminate 6 callsChris Lattner
in mesa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23015 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-11Remove glibc specific functions, and mark a couple as C99Andrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22384 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-11because on alpha:Andrew Lenharth
# define errno (*__errno_location ()) *shakes head git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22383 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-08By definition, 'tail' calls cannot access the stack frame of their caller.Chris Lattner
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
2005-05-06These intrinsics do not access memoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21718 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-30Add llvm.sqrt intrinsic, patch contributed by Morten OfstadChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21627 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-28These functions can set errno!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21609 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-09Fix Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll, a miscompilationChris Lattner
that Alkis found with Java, thanks Alkis! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20531 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08Add even more missing createXxxPass functions.Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15Fix a bug in -no-aa that caused two DSGraph tests to XPASS.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15Adjust to new alias analysis interfacesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08Add testcase and fix for yet another case where we query the size anAlkis Evlogimenos
abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08Add testcase and fix for another case where we query the size anAlkis Evlogimenos
abstract type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07For PR387:\Reid Spencer
Add getModRefInfo method to avoid overloaded virtuals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18601 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18308 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26The trick with globals actually works with allocas and malloc tooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18262 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26A store or load cannot alias a global if the accessed amount is larger thenChris Lattner
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
2004-11-17Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.llChris Lattner
by saying what we mean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16Be more careful about looking for constants when we really want constantint's.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17029 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos
Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29Merge i*.h headers into Instructions.h as part of bug403.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llxChris Lattner
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
2004-07-27Make basicaa a bit more aggressiveChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15252 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27basic-aa can actually provide simple mod/ref infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15251 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27This was implemented back in marchChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15250 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Do not ignore casts unless they are pointer-pointer casts. This caused usChris Lattner
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
2004-07-18bug 122:Reid Spencer
- 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
2004-07-14Simplify logic.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14825 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-19Fix a tiny bug in the -no-aa pass, in which it did not ever get a target data.Chris Lattner
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
2004-06-15isnan is deadChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11llvm.isnan doesn't access memoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14151 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23Move the -no-aa AA implementation into this file since both of theseChris Lattner
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
2004-04-12Hrm, operator new and new[] do not belong here. We should not CSE them! :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-11operator new & operator new[] do not kill any legal memory locations.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12833 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-11Allow clients to be more efficient.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12831 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-10Add a couple of more functions that cannot access memory (the intrinsics) andChris Lattner
don't write to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05Support getelementptr instructions which use uint's to index into structureChris Lattner
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
2004-03-16Add some missing functions. Make sure to handle calls together in case theChris Lattner
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
2004-03-15Fix a minor bug, implementing GCSE/call_pure_function.llChris Lattner
Also, add some stuff I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15Teach basicaa about some stdc functions.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12408 91177308-0d34-0410-b5e6-96231b3b80d8