| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
the name used in the code that these tests are for.
llvm-svn: 64624
|
|
|
|
|
|
|
|
|
| |
- Test for signed and unsigned wrapping conditions, instead of just
testing for non-negative induction ranges.
- Handle loops with GT comparisons, in addition to LT comparisons.
- Support more cases of induction variables that don't start at 0.
llvm-svn: 64532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
loop induction on LP64 targets. When the induction variable is
used in addressing, IndVars now is usually able to inserst a
64-bit induction variable and eliminates the sign-extending cast.
This is also useful for code using C "short" types for
induction variables on targets with 32-bit addressing.
Inserting a wider induction variable is easy; the tricky part is
determining when trunc(sext(i)) expressions are no-ops. This
requires range analysis of the loop trip count. A common case is
when the original loop iteration starts at 0 and exits when the
induction variable is signed-less-than a fixed value; this case
is now handled.
This replaces IndVarSimplify's OptimizeCanonicalIVType. It was
doing the same optimization, but it was limited to loops with
constant trip counts, because it was running after the loop
rewrite, and the information about the original induction
variable is lost by that point.
Rename ScalarEvolution's executesAtLeastOnce to
isLoopGuardedByCond, generalize it to be able to test for
ICMP_NE conditions, and move it to be a public function so that
IndVars can use it.
llvm-svn: 64407
|
|
|
|
|
|
| |
if sematics of float does not allow arithmetics.
llvm-svn: 60042
|
|
|
|
|
|
| |
that are widely used.
llvm-svn: 59476
|
|
|
|
|
|
| |
increment value.
llvm-svn: 59471
|
|
|
|
|
|
|
|
| |
This allows SCEV users to effectively calculate trip count.
LSR later on transforms back integer IVs to floating point IVs
later on to avoid int-to-float casts inside the loop.
llvm-svn: 58625
|
|
|
|
|
|
| |
implementing folding. Fixes PR2857.
llvm-svn: 57049
|
|
|
|
|
|
| |
extend the type of induction variable.
llvm-svn: 56017
|
|
|
|
|
|
|
|
|
|
|
| |
take into account the instrucion pointed by InsertPt. Thanks to it,
returning the new value of InsertPt to the InsertBinop() caller can be
avoided. The bug was, actually, in visitAddRecExpr() method which wasn't
correctly handling changes of InsertPt. There shouldn't be any
performance regression, as -gvn pass (run after -indvars) removes any
redundant binops.
llvm-svn: 52291
|
|
|
|
| |
llvm-svn: 51500
|
|
|
|
| |
llvm-svn: 51349
|
|
|
|
|
|
| |
renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
llvm-svn: 51328
|
|
|
|
| |
llvm-svn: 51178
|
|
|
|
| |
llvm-svn: 50560
|
|
|
|
| |
llvm-svn: 49971
|
|
|
|
| |
llvm-svn: 48103
|
|
|
|
| |
llvm-svn: 47793
|
|
|
|
| |
llvm-svn: 44319
|
|
|
|
|
|
|
| |
even though the bitcast operand did not have integer type. This fixes
PR1814.
llvm-svn: 44286
|
|
|
|
| |
llvm-svn: 41097
|
|
|
|
|
|
|
|
| |
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.
llvm-svn: 40069
|
|
|
|
| |
llvm-svn: 37838
|
|
|
|
| |
llvm-svn: 37801
|
|
|
|
| |
llvm-svn: 37458
|
|
|
|
|
|
|
|
| |
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.
llvm-svn: 36142
|
|
|
|
|
|
| |
Fix syntax of tests to ensure grep pattern is properly quoted.
llvm-svn: 36134
|
|
|
|
|
|
| |
Un-XFAIL this now that its working.
llvm-svn: 36100
|
|
|
|
|
|
| |
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.
llvm-svn: 36093
|
|
|
|
|
|
| |
Upgrade to use new Tcl exec based test harness.
llvm-svn: 36062
|
|
|
|
|
|
|
|
| |
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.
llvm-svn: 35918
|
|
|
|
| |
llvm-svn: 35412
|
|
|
|
| |
llvm-svn: 34895
|
|
|
|
|
|
|
|
| |
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.
llvm-svn: 33660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.
For PR645:
Make global names use the @ prefix.
For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.
llvm-svn: 33533
|
|
llvm-svn: 33296
|