- Feb 17, 2009
-
-
Dan Gohman authored
llvm-svn: 64784
-
Dan Gohman authored
llvm-svn: 64766
-
Dan Gohman authored
llvm-svn: 64702
-
- Feb 16, 2009
-
-
Dan Gohman authored
been written for is no longer relevant with the elimination of signed and unsigned types. llvm-svn: 64625
-
- Feb 14, 2009
-
-
Dan Gohman authored
- 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
-
Dan Gohman authored
llvm-svn: 64531
-
Dan Gohman authored
No functionality change. llvm-svn: 64530
-
- Feb 12, 2009
-
-
Dan Gohman authored
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
-
- Nov 26, 2008
-
-
Evan Cheng authored
Revert r60042. IndVarSimplify should check if APFloat is PPCDoubleDouble first before trying to convert it to an integer. llvm-svn: 60072
-
- Nov 18, 2008
-
-
Bill Wendling authored
llvm-svn: 59518
-
Devang Patel authored
Give SIToFPInst preference over UIToFPInst because it is faster on platforms that are widely used. llvm-svn: 59476
-
Devang Patel authored
llvm-svn: 59471
-
- Nov 17, 2008
-
-
Devang Patel authored
llvm-svn: 59466
-
- Nov 16, 2008
-
-
Chris Lattner authored
llvm-svn: 59409
-
- Nov 03, 2008
-
-
Devang Patel authored
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
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Sep 10, 2008
-
-
Devang Patel authored
llvm-svn: 56056
-
- Sep 09, 2008
-
-
Devang Patel authored
extend the type of induction variable. llvm-svn: 56017
-
- Sep 05, 2008
-
-
Devang Patel authored
llvm-svn: 55861
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 06, 2008
-
-
Dan Gohman authored
instead of having it call getIterationCount again. llvm-svn: 54380
-
- Jun 22, 2008
-
-
Dan Gohman authored
llvm-svn: 52616
-
- Jun 13, 2008
-
-
Wojciech Matyjewicz authored
llvm-svn: 52251
-
- May 23, 2008
-
-
Dan Gohman authored
use it instead of duplicating its functionality. llvm-svn: 51499
-
- May 16, 2008
-
-
Gabor Greif authored
API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
-
- May 13, 2008
-
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
- Apr 06, 2008
-
-
Gabor Greif authored
Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Oct 22, 2007
-
-
Dan Gohman authored
SCEV subclasses to being non-static member functions of the ScalarEvolution class. llvm-svn: 43224
-
- Sep 10, 2007
-
-
Devang Patel authored
llvm-svn: 41798
-
- Sep 04, 2007
-
-
David Greene authored
Update GEP constructors to use an iterator interface to fix GLIBCXX_DEBUG issues. llvm-svn: 41697
-
- Aug 21, 2007
-
-
Devang Patel authored
llvm-svn: 41207
-
- Jun 27, 2007
-
-
Zhou Sheng authored
llvm-svn: 37751
-
- Jun 19, 2007
-
-
Dan Gohman authored
deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses. llvm-svn: 37657
-
- Jun 15, 2007
-
-
Dan Gohman authored
integer constant SCEV. llvm-svn: 37596
-
Dan Gohman authored
This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its callers don't actually need a type conversion, now that LLVM types don't have explicit signedness. Drop expandInTy in favor of plain expand, and change the few places that actually need a type conversion to do it themselves. llvm-svn: 37591
-
- Jun 06, 2007
-
-
Nick Lewycky authored
This is the obviously correct part of the fix for PR1487. llvm-svn: 37457
-
- May 06, 2007
-
-
Nick Lewycky authored
llvm-svn: 36873
-
- May 03, 2007
-
-
Devang Patel authored
llvm-svn: 36662
-
- May 02, 2007
-
-
Devang Patel authored
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
-