| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
chaining and simplify FunctionAttrs' GetModRefBehavior logic.
llvm-svn: 118660
|
| |
|
|
| |
llvm-svn: 118623
|
| |
|
|
| |
llvm-svn: 118621
|
| |
|
|
| |
llvm-svn: 118618
|
| |
|
|
| |
llvm-svn: 118516
|
| |
|
|
|
|
|
| |
pointsToConstantMemory code to guard against possible
compile time slowdowns.
llvm-svn: 118440
|
| |
|
|
| |
llvm-svn: 118416
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to optionally look for constant or local (alloca) memory.
Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select
and Phi nodes, and to support looking for local memory.
Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that
AliasAnalysis knows all the tricks that it knew.
llvm-svn: 118412
|
| |
|
|
|
|
|
| |
getModRefBehavior now, since it now understands intrinsics as well
as normal functions.
llvm-svn: 118411
|
| |
|
|
|
|
| |
to analyze intrinsic functions.
llvm-svn: 118409
|
| |
|
|
|
|
|
| |
of a select instruction, the same as already exists for integer
comparisons.
llvm-svn: 118379
|
| |
|
|
|
|
|
|
| |
of a select instruction, see if doing the compare with the
true and false values of the select gives the same result.
If so, that can be used as the value of the comparison.
llvm-svn: 118378
|
| |
|
|
| |
llvm-svn: 118257
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
emit debuggging information entries in LLVM IR.
To create debugging information for a pointer, using DIBUilder front-end just needs
DBuilder.CreatePointerType(Ty, Size);
instead of
DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_pointer_type,
TheCU, "", getOrCreateMainFile(),
0, Size, 0, 0, 0, OCTy);
llvm-svn: 118248
|
| |
|
|
| |
llvm-svn: 118054
|
| |
|
|
|
|
|
| |
they may have ValuesAtScopes map entries referencing their outer loops.
This fixes a user-after-free reported in PR8471.
llvm-svn: 117698
|
| |
|
|
|
|
| |
from constant memory don't alias any stores.
llvm-svn: 117636
|
| |
|
|
| |
llvm-svn: 117317
|
| |
|
|
| |
llvm-svn: 117314
|
| |
|
|
|
|
| |
bits open for future uses.
llvm-svn: 117301
|
| |
|
|
| |
llvm-svn: 117288
|
| |
|
|
| |
llvm-svn: 117268
|
| |
|
|
| |
llvm-svn: 117266
|
| |
|
|
| |
llvm-svn: 117111
|
| |
|
|
| |
llvm-svn: 117070
|
| |
|
|
| |
llvm-svn: 117053
|
| |
|
|
| |
llvm-svn: 117048
|
| |
|
|
|
|
| |
when it means there is no specific clobber instruction.
llvm-svn: 116960
|
| |
|
|
| |
llvm-svn: 116958
|
| |
|
|
| |
llvm-svn: 116954
|
| |
|
|
|
|
|
| |
A RegionPass is executed like a LoopPass but on the regions detected by the
RegionInfo pass instead of the loops detected by the LoopInfo pass.
llvm-svn: 116905
|
| |
|
|
| |
llvm-svn: 116903
|
| |
|
|
|
|
|
| |
it doesn't have a special relationship with BasicAliasAnalysis
anymore.
llvm-svn: 116876
|
| |
|
|
|
|
| |
uint64_t, plus fixes for places I missed before.
llvm-svn: 116875
|
| |
|
|
| |
llvm-svn: 116858
|
| |
|
|
|
|
| |
for representing object sizes, for consistency with other parts of LLVM.
llvm-svn: 116831
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
llvm-svn: 116820
|
| |
|
|
| |
llvm-svn: 116815
|
| |
|
|
|
|
|
| |
between "not known yet" and "known no tbaa info" so that it
can merge them properly.
llvm-svn: 116767
|
| |
|
|
|
|
| |
TBAA information to AliasAnalysis.
llvm-svn: 116751
|
| |
|
|
| |
llvm-svn: 116743
|
| |
|
|
| |
llvm-svn: 116730
|
| |
|
|
|
|
| |
option to enable it.
llvm-svn: 116722
|
| |
|
|
| |
llvm-svn: 116721
|
| |
|
|
|
|
|
|
|
|
|
|
| |
does normal initialization and normal chaining. Change the default
AliasAnalysis implementation to NoAlias.
Update StandardCompileOpts.h and friends to explicitly request
BasicAliasAnalysis.
Update tests to explicitly request -basicaa.
llvm-svn: 116720
|
| |
|
|
| |
llvm-svn: 116670
|
| |
|
|
| |
llvm-svn: 116533
|
| |
|
|
|
|
|
|
|
| |
logic to use the new APInt methods. Among other things this
implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold
which comes from "clang -ftrapv", originally brought to my attention from PR8221.
llvm-svn: 116457
|
| |
|
|
| |
llvm-svn: 116441
|
| |
|
|
| |
llvm-svn: 116402
|