| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
number of issues in
our current context-passing stuff, which is also fixed here
llvm-svn: 76089
|
|
|
|
|
|
|
| |
analysis. This allows indvars to emit a simpler loop trip count
expression.
llvm-svn: 76085
|
|
|
|
|
|
|
| |
isLCSSAForm(), to test whether a loop is in the form guaranteed
by the LoopSimplify pass.
llvm-svn: 76077
|
|
|
|
| |
llvm-svn: 75831
|
|
|
|
|
|
| |
and use this to simplify more code.
llvm-svn: 75722
|
|
|
|
| |
llvm-svn: 75703
|
|
|
|
|
|
|
|
| |
the operands have pointer type, so that the resulting type matches
the original SCEV type, and so that unnecessary ptrtoints are
avoided in common cases.
llvm-svn: 75680
|
|
|
|
| |
llvm-svn: 75666
|
|
|
|
|
|
|
|
| |
For now this only computes the allocated size of the memory pointed to by a
pointer, and offset a pointer from allocated pointer.
The actual checkLimits part will come later, after another round of review.
llvm-svn: 75657
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
users from the Scalars map.
llvm-svn: 75634
|
|
|
|
|
|
| |
even when they're obvious.
llvm-svn: 75632
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add getExecutionCount(const Function).
- Add helper Edge type.
- constify.
- No functionality change.
llvm-svn: 75623
|
|
|
|
|
|
|
|
|
|
|
| |
works similar to isLoopInvariant, except that it will do trivial
hoisting to try to make the value loop invariant if it isn't already.
This makes it easier for transformation passes to clear trivial
instructions out of the way (the regular LICM pass doesn't run
until relatively late). This is code factored out of LoopSimplify
and other places.
llvm-svn: 75578
|
|
|
|
| |
llvm-svn: 75568
|
|
|
|
| |
llvm-svn: 75559
|
|
|
|
|
|
| |
doesn't print a newline.
llvm-svn: 75543
|
|
|
|
| |
llvm-svn: 75530
|
|
|
|
| |
llvm-svn: 75529
|
|
|
|
| |
llvm-svn: 75525
|
|
|
|
| |
llvm-svn: 75524
|
|
|
|
|
|
|
|
| |
and related functions out of LoopBase and into Loop, since they
are specific to BasicBlock-based loops. This also allows the code
to be moved out-of-line.
llvm-svn: 75523
|
|
|
|
|
|
|
|
|
|
| |
using the Curiously Recurring Template Pattern with LoopBase.
This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.
llvm-svn: 75519
|
|
|
|
|
|
|
| |
check for avoiding re-analyzing a widening cast needed to happen
earlier, as getSCEV itself may result in a isLoopGuardedByCond query.
llvm-svn: 75511
|
|
|
|
| |
llvm-svn: 75497
|
|
|
|
|
|
|
|
| |
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in PR4534.
llvm-svn: 75496
|
|
|
|
|
|
|
| |
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.
llvm-svn: 75494
|
|
|
|
|
|
| |
and use it from one more place. Patch by Jakub Staszak!
llvm-svn: 75478
|
|
|
|
|
|
|
|
|
|
|
| |
so that all code paths get it. PR4256 was about a case where the
phi translation loop would find all preds in the Visited cache, so
it could get by without re-sorting the NonLocalPointerDeps cache.
Fix this by resorting it earlier, there is no reason not to do this.
This patch inspired by Jakub Staszak's patch.
llvm-svn: 75476
|
|
|
|
|
|
|
|
|
| |
Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
|
|
|
|
| |
llvm-svn: 75384
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
and abort()/exit() -> llvm_report_error().
llvm-svn: 75363
|
|
|
|
|
|
| |
breaks encapsulation. Also remove a dead prototype for setSCEV.
llvm-svn: 75272
|
|
|
|
|
|
|
| |
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.
llvm-svn: 75252
|
|
|
|
|
|
|
|
|
|
|
|
| |
to a loop deletion more thorough. Don't prune the def-use tree search at
instructions that don't have SCEVs computed, because an instruction with
a user that has a computed SCEV may itself lack a computed SCEV. Also,
remove loop-related values from the ValuesAtScopes and
ConstantEvolutionLoopExitValues maps as well.
This fixes a regression in 483.xalancbmk.
llvm-svn: 75030
|
|
|
|
|
|
| |
module is required.
llvm-svn: 75025
|
|
|
|
|
|
|
| |
these instructions, no autoupgrade or backwards compatibility support is
provided.
llvm-svn: 74991
|
|
|
|
| |
llvm-svn: 74985
|
|
|
|
| |
llvm-svn: 74920
|
|
|
|
| |
llvm-svn: 74918
|
|
|
|
| |
llvm-svn: 74910
|
|
|
|
| |
llvm-svn: 74878
|
|
|
|
|
|
| |
through the ValueTracking API.
llvm-svn: 74873
|
|
|
|
|
|
| |
files.
llvm-svn: 74844
|
|
|
|
|
|
|
| |
than a wider one, before trying to compare their contents which will crash
if their sizes are different.
llvm-svn: 74792
|
|
|
|
| |
llvm-svn: 74754
|
|
|
|
| |
llvm-svn: 74733
|
|
|
|
|
|
| |
Thanks Duncan!
llvm-svn: 74706
|
|
|
|
|
|
|
|
|
| |
While
we could do this, doing so requires adjusting the demanded mask and the code isn't
doing that yet. This fixes PR4495
llvm-svn: 74699
|