| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 115835
|
|
|
|
| |
llvm-svn: 115833
|
|
|
|
|
|
| |
already knows its own length, so this is redundant.
llvm-svn: 115521
|
|
|
|
| |
llvm-svn: 115102
|
|
|
|
|
|
|
|
| |
boolean for isArtificial.
This is a backword compatible change.
llvm-svn: 115084
|
|
|
|
| |
llvm-svn: 115076
|
|
|
|
|
|
| |
for LLVM 2.9
llvm-svn: 115062
|
|
|
|
| |
llvm-svn: 114999
|
|
|
|
| |
llvm-svn: 114969
|
|
|
|
|
|
|
|
| |
Usually we wouldn't do this anyway because llvm_fenv_testexcept would return an
exception, but we have seen some cases where neither errno nor fenv detect an
exception on arm-linux.
llvm-svn: 114893
|
|
|
|
| |
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
|