#
b310ac4a |
| 09-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
implement two helper methods
llvm-svn: 22736
|
Revision tags: llvmorg-1.5.0 |
|
#
01808cad |
| 21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace
llvm-svn: 21416
|
#
747eee27 |
| 06-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
Don't make this require loopsimplify. It works BETTER with loop simplify but should not require it.
llvm-svn: 21123
|
#
adb043c2 |
| 09-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Export two methods for getting -X and A-B.
llvm-svn: 20527
|
#
0b0f3520 |
| 26-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
DCE a dead function
llvm-svn: 20339
|
#
f05d2b31 |
| 26-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
1 + 100 + 51 == 152, not 52. If we fold three constants together (c1+c2+c3), make sure to keep LHSC updated, instead of reusing (in this case), the 1 instead of the partial sum.
llvm-svn: 20337
|
#
47555dec |
| 17-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Scary typo that fixes Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll and PR515.
llvm-svn: 20224
|
#
7b0fbe7c |
| 13-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Correct the recursive PHI node handling routines in a way that CANNOT induce infinite loops (using the new replaceSymbolicValuesWithConcrete method).
This patch reverts this patch: http://mail.cs.ui
Correct the recursive PHI node handling routines in a way that CANNOT induce infinite loops (using the new replaceSymbolicValuesWithConcrete method).
This patch reverts this patch: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050131/023830.html
... which was an attempted fix for this problem. Unfortunately, that patch caused test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx to fail and slightly castrated the entire analysis. This patch fixes it right.
This patch is dedicated to jeffc, for making me deal with this. :)
llvm-svn: 20146
show more ...
|
#
1230cf25 |
| 01-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Fix a problem where we could infinitely recurse on phi nodes.
llvm-svn: 19955
|
Revision tags: llvmorg-1.4.0 |
|
#
90839368 |
| 07-Dec-2004 |
Reid Spencer <rspencer@reidspencer.com> |
For PR387:\ Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual
llvm-svn: 18589
|
#
a27dd47e |
| 04-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
This patch prevents an infinite recursion while compiling 103.su2cor.
All SPEC CFP 95 programs now work, though the JIT isn't loading -lf2c right so they aren't testing correctly.
llvm-svn: 18499
|
#
43df507f |
| 25-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Patch to support MSVC, contributed by Morten Ofstad
llvm-svn: 17214
|
#
ec901cc6 |
| 12-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
This nutty patch has been in my tree since before 1.3 went out, and it needs to go in. This patch allows us to compute the trip count of loops controlled by values loaded from constant arrays. The
This nutty patch has been in my tree since before 1.3 went out, and it needs to go in. This patch allows us to compute the trip count of loops controlled by values loaded from constant arrays. The cannonnical example of this is strlen when passed a constant argument:
for (int i = 0; "constantstring"[i]; ++i) ; return i;
In this case, it will compute that the loop executes 14 times, which means that the exit value of i is 14. Because of this, the loop gets DCE'd and we are happy. This also applies to anything that does similar things, e.g. loops like this:
const float Array[] = { 0.1, 2.1, 3.2, 23.21 }; for (int i = 0; Array[i] < 20; ++i)
and is actually fairly general.
The problem with this is that it almost never triggers. The reason is that we run indvars and the loop optimizer only at compile time, which is before things like strlen and strcpy have been inlined into the program from libc. Because of this, it almost never is used (it triggers twice in specint2k).
I'm committing it because it DOES work, may be useful in the future, and doesn't slow us down at all. If/when we start running the loop optimizer at link-time (-O4?) this will be very nice indeed :)
llvm-svn: 16926
show more ...
|
#
6faf3949 |
| 11-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Fix SingleSource/Benchmarks/McGill/chomp
llvm-svn: 16912
|
#
a5c04ee5 |
| 03-Sep-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fixes to make LLVM compile with vc7.1.
Patch contributed by Paolo Invernizzi!
llvm-svn: 16152
|
#
7c16caa3 |
| 01-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/l
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/.
llvm-svn: 16137
show more ...
|
Revision tags: llvmorg-1.3.0 |
|
#
30d69a5a |
| 18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
bug 122: - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass
llvm-svn: 14942
|
#
5e08b93a |
| 24-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Remove distasteful method which is really part of the indvars pass
llvm-svn: 14359
|
#
baaed7ee |
| 20-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
REALLY fix PR378: crash in scalar evolution analysis
llvm-svn: 14275
|
#
6bfca8f5 |
| 20-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a bug in my change last night that caused a few test failures.
llvm-svn: 14270
|
#
eb3e8407 |
| 20-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Do not sort SCEV objects by address: instead sort by complexity and group by address. This prevents the resultant SCEV objects from depending on where in memory other scev objects happen to live.
l
Do not sort SCEV objects by address: instead sort by complexity and group by address. This prevents the resultant SCEV objects from depending on where in memory other scev objects happen to live.
llvm-svn: 14263
show more ...
|
#
2d3a7a6f |
| 27-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Changes to fix up the inst_iterator to pass to boost iterator checks. This patch was graciously contributed by Vladimir Prus.
llvm-svn: 13185
|
#
05ef97f9 |
| 23-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate all of the SCEV Expansion code which is really part of the IndVars pass, not part of SCEV *analysis*.
llvm-svn: 13134
|
#
663ebc3e |
| 19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
It's not just a printer, it's actually an analysis too
llvm-svn: 13064
|
#
d72c3eb5 |
| 18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Change the ExitBlocks list from being explicitly contained in the Loop structure to being dynamically computed on demand. This makes updating loop information MUCH easier.
llvm-svn: 13045
|