| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 114588
|
|
|
|
| |
llvm-svn: 114444
|
|
|
|
| |
llvm-svn: 114439
|
|
|
|
| |
llvm-svn: 114219
|
|
|
|
| |
llvm-svn: 114196
|
|
|
|
|
|
|
| |
so that it detects errors on platforms where libm doesn't set errno.
It's still subject to host libm details though.
llvm-svn: 114148
|
|
|
|
|
|
| |
because it was using Twine.h's declaration of operator<<(const Twine &).
llvm-svn: 114141
|
|
|
|
| |
llvm-svn: 114128
|
|
|
|
| |
llvm-svn: 114126
|
|
|
|
| |
llvm-svn: 114121
|
|
|
|
|
|
|
|
|
| |
Instruction by itself. Now that CorrelatedValuePropagation is
more careful not to call SimplifyInstructionsInBlock() on an unreachable block, the issue has been fixed at a higher level. Add
a big warning to SimplifyInstructionsInBlock() to hopefully prevent this in the future.
llvm-svn: 114117
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConstantExpr's, for LVI to end up trying to merge
a Constant into a ConstantRange. Handle this conservatively for now, rather than asserting. The testcase is
more complex that I would like, but the manifestation of the problem is sensitive to iteration orders and the state of the
LVI cache, and I have not been able to reproduce it with manually constructed or simplified cases.
Fixes PR8162.
llvm-svn: 114103
|
|
|
|
|
|
|
|
| |
simplification to try
to replace an instruction with itself. Add a predicate to the simplifier to prevent this case.
llvm-svn: 114097
|
|
|
|
|
|
| |
targets.
llvm-svn: 114015
|
|
|
|
| |
llvm-svn: 113892
|
|
|
|
|
|
|
|
|
|
|
| |
isn't a good level of abstraction for memdep. Instead, generalize
AliasAnalysis::alias and related interfaces with a new Location
class for describing a memory location. For now, this is the same
Pointer and Size as before, plus an additional field for a TBAA tag.
Also, introduce a fixed MD_tbaa metadata tag kind.
llvm-svn: 113858
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r113632
Conflicts:
cmake/modules/AddLLVM.cmake
llvm-svn: 113819
|
|
|
|
|
|
| |
Reassociate does this but it doesn't catch all cases (e.g. if the operands are i1).
llvm-svn: 113651
|
|
|
|
| |
llvm-svn: 113632
|
|
|
|
|
|
|
|
|
|
|
| |
with calls, is
not unrolling loops that contain calls that would be better off getting inlined. This mostly
comes up when an interleaved devirtualization pass has devirtualized a call which the inliner
will inline on a future pass. Thus, rather than blocking all loops containing calls, add
a metric for "inline candidate calls" and block loops containing those instead.
llvm-svn: 113535
|
|
|
|
| |
llvm-svn: 113521
|
|
|
|
|
|
|
|
|
|
|
| |
and into CodeMetrics. They
don't use any InlineCostAnalyzer state, and are useful for other clients who don't necessarily want to use
all of InlineCostAnalyzer's logic, some of which is fairly inlining-specific.
No intended functionality change.
llvm-svn: 113499
|
|
|
|
|
|
|
|
| |
AliasAnalysis, and some code for implementing the new query on top of
existing implementations by making standard alias and getModRefInfo
queries.
llvm-svn: 113329
|
|
|
|
|
|
|
|
| |
#include clutter
and exposing internal details.
llvm-svn: 113252
|
|
|
|
|
|
| |
teach LazyValueInfo to use them.
llvm-svn: 113196
|
|
|
|
| |
llvm-svn: 113144
|
|
|
|
| |
llvm-svn: 113135
|
|
|
|
|
|
|
|
|
|
| |
Loop::hasLoopInvariantOperands method. Remove
a useless and confusing Loop::isLoopInvariant(Instruction)
method, which didn't do what you thought it did.
No functionality change.
llvm-svn: 113133
|
|
|
|
| |
llvm-svn: 113109
|
|
|
|
| |
llvm-svn: 113077
|
|
|
|
| |
llvm-svn: 113073
|
|
|
|
|
|
|
|
|
| |
invertible. ScalarEvolution's folding routines don't always succeed
in canonicalizing equal expressions to a single canonical form, and
this can cause these asserts to fail, even though there's no actual
correctness problem. This fixes PR8066.
llvm-svn: 113021
|
|
|
|
|
|
|
|
| |
global when it
is provable that they're equivalent. This fixes PR4855.
llvm-svn: 112994
|
|
|
|
|
|
| |
comments, these don't happen anymore.
llvm-svn: 112901
|
|
|
|
|
|
|
|
| |
default edges of
switches. Just return the conservatively correct answer.
llvm-svn: 112876
|
|
|
|
|
|
|
|
| |
LVI lattice, undef and the full set ConstantRange should not
be treated as equivalent.
llvm-svn: 112843
|
|
|
|
|
|
| |
by 112440 are resolved.
llvm-svn: 112692
|
|
|
|
| |
llvm-svn: 112667
|
|
|
|
| |
llvm-svn: 112666
|
|
|
|
|
|
| |
inner loop doesn't update all the variables in the outer loop.
llvm-svn: 112665
|
|
|
|
| |
llvm-svn: 112638
|
|
|
|
| |
llvm-svn: 112608
|
|
|
|
|
|
|
|
|
| |
dealing with ptrtoint ConstantExpr's.
Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is
sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order.
llvm-svn: 112489
|
|
|
|
|
|
| |
llvm::format.
llvm-svn: 112479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assertingvh so we get a violent explosion if the pointer dangles.
2) Fix AliasSetTracker::deleteValue to remove call sites with
by-pointer comparisons instead of by-alias queries. Using
findAliasSetForCallSite can cause alias sets to get merged
when they shouldn't, and can also miss alias sets when the
call is readonly.
#2 fixes PR6889, which only repros with a .c file :(
llvm-svn: 112452
|
|
|
|
|
|
|
| |
This has the side effect of reversing the order of most of
IVUser's results.
llvm-svn: 112442
|
|
|
|
|
|
|
| |
all applicable addrecs before recursing on getMulExpr, instead of
recursing on getMulExpr for each one.
llvm-svn: 112433
|
|
|
|
|
|
| |
operations.
llvm-svn: 112432
|
|
|
|
| |
llvm-svn: 112431
|
|
|
|
|
|
| |
with the Add code.
llvm-svn: 112430
|