summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix crash in LSR due to attempt to remove original induction variable. However,Jeff Cohen2005-02-281-3/+14
| | | | | | | for reasons explained in the comments, I also deactivated this code as it needs more thought. llvm-svn: 20367
* PHI nodes were incorrectly placed when more than one GEP is reduced in a loop.Jeff Cohen2005-02-271-7/+6
| | | | llvm-svn: 20360
* First pass at improved Loop Strength Reduction. Still not yet ready for ↵Jeff Cohen2005-02-271-35/+39
| | | | | | prime time. llvm-svn: 20358
* Use const iterators where possible. Patch by Evan Jones!Chris Lattner2005-02-271-2/+2
| | | | llvm-svn: 20354
* Teach globalopt how memset/cpy/move affect memory, to allow better optimization.Chris Lattner2005-02-271-25/+40
| | | | llvm-svn: 20352
* Fix spelling, patch contributed by Gabor Greif!Chris Lattner2005-02-274-4/+4
| | | | llvm-svn: 20343
* Fix spelling, patch contributed by Gabor GreifChris Lattner2005-02-271-1/+1
| | | | llvm-svn: 20342
* Remove some stuff I checked in accidentallyChris Lattner2005-02-271-6/+0
| | | | llvm-svn: 20340
* DCE a dead functionChris Lattner2005-02-261-19/+0
| | | | llvm-svn: 20339
* Implement an isBytecodeArchive method to determine if an archive containsReid Spencer2005-02-261-0/+29
| | | | | | | bytecode file members or not. Patch Contributed By Adam Treat llvm-svn: 20338
* 1 + 100 + 51 == 152, not 52.Chris Lattner2005-02-261-0/+2
| | | | | | | | 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
* remove extraneous castChris Lattner2005-02-261-2/+1
| | | | llvm-svn: 20334
* make BB labels be exported for debuging, add fp negation optimization, ↵Andrew Lenharth2005-02-253-30/+61
| | | | | | further pecimise the FP instructions llvm-svn: 20332
* Handle null a bit more carefully.Chris Lattner2005-02-251-1/+11
| | | | | | | | Actually teach dsa about select instructions. This doesn't affect the graph in any way other than not setting a spurious U marker on pointer nodes that are selected. llvm-svn: 20324
* This instruction:Chris Lattner2005-02-241-1/+2
| | | | | | | | | X = gep null, ... Used to not create a scalar map entry for X, which caused clients to barf. This is bad. llvm-svn: 20316
* Fix a bug introduced by revision 1.187 of this file.Chris Lattner2005-02-241-1/+2
| | | | llvm-svn: 20308
* fix Allocas. Really. I mean it this time.Andrew Lenharth2005-02-241-1/+6
| | | | llvm-svn: 20306
* Fix some problems where the verifier would crash on invalid input instead ofChris Lattner2005-02-242-3/+7
| | | | | | reporting the problem and exiting. llvm-svn: 20302
* Implement Transforms/SimplifyCFG/switch_thread.llChris Lattner2005-02-241-4/+190
| | | | | | | | This does a simple form of "jump threading", which eliminates CFG edges that are provably dead. This triggers 90 times in the external tests, and eliminating CFG edges is always always a good thing! :) llvm-svn: 20300
* switch instructions only allow constantints for their values, be more specific.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20298
* use more specific cast.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20297
* add more checkingChris Lattner2005-02-241-2/+6
| | | | llvm-svn: 20296
* Do not read free'd memory when printing an error message.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20295
* add a new method.Chris Lattner2005-02-241-0/+10
| | | | llvm-svn: 20293
* Only print out machine instructions before modulo scheduling if we are ↵Tanya Lattner2005-02-241-1/+1
| | | | | | actually doing modulo scheduling! :) llvm-svn: 20292
* Ah the problems you have to fix when you stray from the One True Way (TM)Andrew Lenharth2005-02-231-2/+2
| | | | llvm-svn: 20290
* make this more efficient. Scan up to 16 nodes, not the whole list.Chris Lattner2005-02-232-2/+2
| | | | llvm-svn: 20289
* new methodChris Lattner2005-02-231-0/+13
| | | | llvm-svn: 20288
* Reduce the amount of searching this assertion does. On a testcase of mine,Chris Lattner2005-02-231-1/+3
| | | | | | this reduces the time for -simplifycfg in a debug build from 106s to 14.82s llvm-svn: 20286
* Silence some uninit variable warnings.Chris Lattner2005-02-231-0/+2
| | | | llvm-svn: 20284
* Fixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug ↵Tanya Lattner2005-02-234-92/+150
| | | | | | information. llvm-svn: 20280
* oopsAndrew Lenharth2005-02-221-1/+1
| | | | llvm-svn: 20278
* Remove use of bind_obj, deleter, and finegrainify namespacification.Chris Lattner2005-02-221-18/+15
| | | | llvm-svn: 20277
* Remove use of bind_objChris Lattner2005-02-221-2/+3
| | | | llvm-svn: 20276
* C++ is not a functional programming language.Chris Lattner2005-02-221-5/+7
| | | | llvm-svn: 20274
* dynamic stack allocasAndrew Lenharth2005-02-222-65/+154
| | | | llvm-svn: 20273
* Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code.Chris Lattner2005-02-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changing 'op' here caused us to not enter the store into a map, causing reemission of the code!! In practice, a simple loop like this: no_exit: ; preds = %no_exit, %entry %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ] ; <uint> [#uses=3] %tmp.4 = getelementptr "complex long double"* %P, uint %indvar, uint 0 ; <double*> [#uses=1] store double 0.000000e+00, double* %tmp.4 %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] %exitcond = seteq uint %indvar.next, %N ; <bool> [#uses=1] br bool %exitcond, label %return, label %no_exit was being code gen'd to: .LBBtest_1: # no_exit movl %edx, %esi shll $4, %esi movl $0, 4(%eax,%esi) movl $0, (%eax,%esi) incl %edx movl $0, (%eax,%esi) movl $0, 4(%eax,%esi) cmpl %ecx, %edx jne .LBBtest_1 # no_exit Note that we are doing 4 32-bit stores instead of 2. Now we generate: .LBBtest_1: # no_exit movl %edx, %esi incl %esi shll $4, %edx movl $0, (%eax,%edx) movl $0, 4(%eax,%edx) cmpl %ecx, %esi movl %esi, %edx jne .LBBtest_1 # no_exit This is much happier, though it would be even better if the increment of ESI was scheduled after the compare :-/ llvm-svn: 20265
* no longer build as a shared libraryAndrew Lenharth2005-02-221-1/+0
| | | | llvm-svn: 20264
* Fix problems running the HowToUseJIT on powerpc, and probably problems withChris Lattner2005-02-201-2/+2
| | | | | | ANY program that does not have all functions internalized. llvm-svn: 20258
* Fix silly mistake.Jeff Cohen2005-02-201-1/+1
| | | | llvm-svn: 20256
* Implement standard I/O redirection in ExecuteAndWait().Jeff Cohen2005-02-201-7/+73
| | | | llvm-svn: 20255
* Add support for ".so" files compiled with LLVM which contain LLVM bytecode.Chris Lattner2005-02-192-3/+11
| | | | llvm-svn: 20253
* Eliminate silly warnings from the linker of the form:Chris Lattner2005-02-191-12/+0
| | | | | | | WARNING: Type conflict between types named 'union.._604.'. Src=' %union.._604.'. Dest=' %union.._604.' llvm-svn: 20252
* Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.Jeff Cohen2005-02-194-4/+4
| | | | llvm-svn: 20243
* Make PreventCoreFiles() do the right thing on Windows.Jeff Cohen2005-02-181-3/+6
| | | | llvm-svn: 20237
* Fix compilation errors with VS 2005, patch contributed by Aaron Gray.Misha Brukman2005-02-171-8/+28
| | | | llvm-svn: 20232
* Fix compilation errors with VS 2005, patch by Aaron Gray.Misha Brukman2005-02-171-0/+3
| | | | llvm-svn: 20231
* Don't rely on doubles comparing identical to each other, which doesn't workChris Lattner2005-02-171-4/+19
| | | | | | for 0.0 and -0.0. llvm-svn: 20230
* Don't sink argument loads into loops or other bad places. This disables ↵Chris Lattner2005-02-171-1/+8
| | | | | | folding of argument loads with instructions that are not in the entry block. llvm-svn: 20228
* Do not mark obviously unreachable blocks live when processing PHI nodes,Chris Lattner2005-02-171-40/+61
| | | | | | | | | | | | and handle incomplete control dependences correctly. This fixes: Regression/Transforms/ADCE/dead-phi-edge.ll -> a missed optimization Regression/Transforms/ADCE/dead-phi-edge.ll -> a compiler crash distilled from QT4 llvm-svn: 20227
OpenPOWER on IntegriCloud