| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 89602
|
|
|
|
| |
llvm-svn: 89601
|
|
|
|
| |
llvm-svn: 89600
|
|
|
|
|
|
|
|
| |
The hasNoModRefInfoForCalls isn't worth it as a filter because
basicaa provides m/r info and everything chains to it, so remove
it.
llvm-svn: 89599
|
|
|
|
|
|
|
|
| |
if it is not ultimately captured. Teach BasicAliasAnalysis that a
local object address which does not escape and is never stored does
not alias with a value resulting from a load.
llvm-svn: 89398
|
|
|
|
|
|
| |
allocated until runtime (such as an alloca). Patch by Hans Wennborg!
llvm-svn: 88760
|
|
|
|
|
|
| |
GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me)
llvm-svn: 86582
|
|
|
|
|
|
| |
from various APIs, addressing PR5325.
llvm-svn: 86231
|
|
|
|
| |
llvm-svn: 85286
|
|
|
|
|
|
| |
to free()
llvm-svn: 85181
|
|
|
|
|
|
| |
aggressive on PHI instructions.
llvm-svn: 85158
|
|
|
|
|
|
| |
VISIBILITY_HIDDEN removal.
llvm-svn: 85043
|
|
|
|
|
|
|
| |
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
llvm-svn: 85042
|
|
|
|
|
|
| |
subclass of AllocationInst, so it no longer is necessary.
llvm-svn: 84969
|
|
|
|
| |
llvm-svn: 84373
|
|
|
|
|
|
| |
not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call.
llvm-svn: 84226
|
|
|
|
| |
llvm-svn: 84191
|
|
|
|
|
|
| |
improve alias results if constant, and the source pointer can't be modified.
llvm-svn: 84175
|
|
|
|
| |
llvm-svn: 84174
|
|
|
|
|
|
| |
only dereference the element they point to directly with no pointer arithmetic.
llvm-svn: 84159
|
|
|
|
| |
llvm-svn: 84080
|
|
|
|
|
|
|
|
| |
cannot alias the GEP. GEP pointer alias rule states this clearly:
A pointer value formed from a getelementptr instruction is associated with the
addresses associated with the first operand of the getelementptr.
llvm-svn: 84079
|
|
|
|
| |
llvm-svn: 84074
|
|
|
|
| |
llvm-svn: 84072
|
|
|
|
|
|
| |
value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.
llvm-svn: 84038
|
|
|
|
| |
llvm-svn: 84000
|
|
|
|
|
|
| |
modify through the pointer they're given.
llvm-svn: 83959
|
|
|
|
|
|
|
|
| |
as to MallocInst.
Reviewed by Eli Friedman.
llvm-svn: 82281
|
|
|
|
| |
llvm-svn: 80267
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
|
|
|
|
| |
change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
|
|
|
| |
llvm-svn: 77494
|
|
|
|
|
|
| |
getAnalysisIfAvailable<TargetData>().
llvm-svn: 77028
|
|
|
|
|
|
| |
thanks to contexts-on-types. More to come.
llvm-svn: 77011
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
|
|
|
|
|
|
|
|
| |
Getelementptrs that are defined to wrap are virtually useless to
optimization, and getelementptrs that are undefined on any kind
of overflow are too restrictive -- it's difficult to ensure that
all intermediate addresses are within bounds. I'm going to take
a different approach.
Remove a few optimizations that depended on this flag.
llvm-svn: 76437
|
|
|
|
|
|
|
|
| |
GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine
that create GEPs that may overflow clear the NoOverflow value. Among
other things, this partially addresses PR2831.
llvm-svn: 76252
|
|
|
|
|
|
|
|
| |
number of issues in
our current context-passing stuff, which is also fixed here
llvm-svn: 76089
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
| |
llvm-svn: 74878
|
|
|
|
|
|
| |
files.
llvm-svn: 74844
|
|
|
|
| |
llvm-svn: 73911
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
beyond their associated static array type.
I believe that this fixes a legitimate bug, because BasicAliasAnalysis
already has code to check for this condition that works for non-constant
indices, however it was missing the case of constant indices. With this
change, it checks for both.
This fixes PR4267, and miscompiles of SPEC 188.ammp and 464.h264.href.
llvm-svn: 72451
|
|
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
|
|
|
|
|
| |
intrinsics to any IntrWriteArgMem intrinsics.
llvm-svn: 64551
|
|
|
|
|
|
|
|
| |
couldn't ever be the return of call instruction. However, it's quite possible
that said local allocation is itself the return of a function call. That's
what malloc and calloc are for, actually.
llvm-svn: 64442
|
|
|
|
|
|
|
|
| |
AliasAnalysis and BasicAliasAnalysis. This involves some wider changes because it
folds away some never-used methods.
llvm-svn: 63900
|
|
|
|
|
|
|
|
| |
only dereference their arguments, and enhance
BasicAA to make use of this fact when computing ModRef info.
llvm-svn: 63718
|
|
|
|
|
|
|
|
| |
they are useful to analyses other than BasicAliasAnalysis.cpp. Include
the full comment for isIdentifiedObject in the header file. Thanks to
Chris for suggeseting this.
llvm-svn: 63589
|