Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | trivial simplification | Chris Lattner | 2005-03-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 20494 | |||||
* | Fix a bug where we could corrupt a parent loop's header info if we unrolled | Chris Lattner | 2005-03-06 | 1 | -6/+17 | |
| | | | | | | | a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll and PR532 llvm-svn: 20493 | |||||
* | rename insertEntry to insert | Chris Lattner | 2005-03-06 | 1 | -1/+2 | |
| | | | | llvm-svn: 20484 | |||||
* | Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller | Chris Lattner | 2005-03-06 | 1 | -28/+21 | |
| | | | | llvm-svn: 20483 | |||||
* | Delete the really inefficient method: void remove(const Type* Typ); | Chris Lattner | 2005-03-06 | 1 | -18/+2 | |
| | | | | | | | | | | Speed up the symbol stripping code by avoiding a linear search of the type table. Get rid of removeEntry(type_iterator), since 'remove' is exactly the same operation. llvm-svn: 20481 | |||||
* | Make this MUCH faster by avoiding a linear search in the symbol table code. | Chris Lattner | 2005-03-06 | 1 | -2/+1 | |
| | | | | llvm-svn: 20479 | |||||
* | Remove some really gross and hard to understand code now that | Chris Lattner | 2005-03-06 | 1 | -27/+6 | |
| | | | | | | InternallyInconsistent is always false. llvm-svn: 20477 | |||||
* | Simplify some code. | Chris Lattner | 2005-03-06 | 1 | -7/+5 | |
| | | | | llvm-svn: 20476 | |||||
* | remove these methods. | Chris Lattner | 2005-03-06 | 1 | -42/+0 | |
| | | | | llvm-svn: 20474 | |||||
* | simplify and speed up some code | Chris Lattner | 2005-03-06 | 2 | -4/+1 | |
| | | | | llvm-svn: 20472 | |||||
* | simplify some code. | Chris Lattner | 2005-03-06 | 1 | -5/+4 | |
| | | | | llvm-svn: 20471 | |||||
* | This fixes PR531, a crash when running the CBE on a bytecode file. | Chris Lattner | 2005-03-06 | 2 | -4/+50 | |
| | | | | | | | | | | | | | | | | | | The problem is that Function::renameLocalSymbols is iterating through the symbol table planes, occasionally calling setName to rename a value (which used to do a symbol table remove/insert pair). The problem is that if there is only a single value in a particular type plane that the remove will nuke the symbol table plane, and the insert will create and insert a new one. This hoses Function::renameLocalSymbols because it has an iterator to the old plane, under the (very reasonable) assumption that simply renaming a value won't cause the type plane to disappear. This patch fixes the bug by making the rename operation a single atomic operation, which has a side effect of making the whole thing faster too. :) llvm-svn: 20469 | |||||
* | Reformat comments to fix 80 columns. | Jeff Cohen | 2005-03-05 | 1 | -7/+8 | |
| | | | | llvm-svn: 20467 | |||||
* | Reuse induction variables created for strength-reduced GEPs by other similar ↵ | Jeff Cohen | 2005-03-05 | 1 | -32/+61 | |
| | | | | | | GEPs. llvm-svn: 20466 | |||||
* | remove all of the various setName implementations, consolidating them into | Chris Lattner | 2005-03-05 | 6 | -50/+28 | |
| | | | | | | Value::setName, which is no longer virtual. llvm-svn: 20464 | |||||
* | second argument to Value::setName is now gone. | Chris Lattner | 2005-03-05 | 3 | -5/+5 | |
| | | | | llvm-svn: 20463 | |||||
* | Make sure the two arguments of a setcc instruction point to the same node. | Chris Lattner | 2005-03-05 | 1 | -1/+8 | |
| | | | | llvm-svn: 20462 | |||||
* | zap | Chris Lattner | 2005-03-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 20461 | |||||
* | 2nd arg to setName goes away. | Chris Lattner | 2005-03-05 | 1 | -8/+5 | |
| | | | | llvm-svn: 20460 | |||||
* | Constants never get names. | Chris Lattner | 2005-03-05 | 1 | -5/+2 | |
| | | | | llvm-svn: 20459 | |||||
* | Remove the 2nd argument to Value::setName | Chris Lattner | 2005-03-05 | 4 | -17/+6 | |
| | | | | llvm-svn: 20458 | |||||
* | don't break the build on 32-bit hosts. | Chris Lattner | 2005-03-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 20455 | |||||
* | fix data size stuff for architectures with bit challenged data types | Andrew Lenharth | 2005-03-05 | 1 | -4/+4 | |
| | | | | llvm-svn: 20453 | |||||
* | Do not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on the | Chris Lattner | 2005-03-04 | 1 | -1/+2 | |
| | | | | | | sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll llvm-svn: 20445 | |||||
* | fix up stack pointer adjustments | Andrew Lenharth | 2005-03-04 | 1 | -18/+22 | |
| | | | | llvm-svn: 20442 | |||||
* | Trivial cleanup patch | Chris Lattner | 2005-03-04 | 1 | -2/+2 | |
| | | | | llvm-svn: 20436 | |||||
* | fix FCMOVxx typo, set rem and div to hardcode target reg to be the same as ↵ | Andrew Lenharth | 2005-03-04 | 2 | -35/+65 | |
| | | | | | | the one the assembler uese, update ISel to put values in regs used by assembler for rem and div llvm-svn: 20434 | |||||
* | Add support for not strength reducing GEPs where the element size is a small | Jeff Cohen | 2005-03-04 | 1 | -2/+25 | |
| | | | | | | power of two. This emphatically includes the zeroeth power of two. llvm-svn: 20429 | |||||
* | turn on IEEE for compares | Andrew Lenharth | 2005-03-03 | 1 | -4/+4 | |
| | | | | llvm-svn: 20425 | |||||
* | beter Select on FP | Andrew Lenharth | 2005-03-03 | 1 | -14/+65 | |
| | | | | llvm-svn: 20424 | |||||
* | Print -X like this: | Chris Lattner | 2005-03-03 | 1 | -22/+30 | |
| | | | | | | | | | | | | | | double test(double l1_X) { return (-l1_X); } instead of like this: double test(double l1_X) { return (-0x0p+0 - l1_X); } llvm-svn: 20423 | |||||
* | LSR cleanup patch | Andrew Lenharth | 2005-03-03 | 1 | -1/+3 | |
| | | | | llvm-svn: 20422 | |||||
* | Do not lower malloc's to pass "sizeof" expressions like this: | Chris Lattner | 2005-03-03 | 1 | -1/+1 | |
| | | | | | | | | | | | | ltmp_0_7 = malloc(((unsigned )(&(((signed char (*)[784])/*NULL*/0)[1u])))); Instead, just emit the literal constant, like this: ltmp_0_7 = malloc(784u); This works around a bug in ICC 8.1 compiling the CBE generated code. :-( llvm-svn: 20415 | |||||
* | Add an optional argument to lower to a specific constant value instead of | Chris Lattner | 2005-03-03 | 1 | -6/+14 | |
| | | | | | | to a "sizeof" expression. llvm-svn: 20414 | |||||
* | Fix the spelling of the word `the' | Misha Brukman | 2005-03-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 20412 | |||||
* | Print the module ID as a comment. | Chris Lattner | 2005-03-02 | 1 | -0/+6 | |
| | | | | llvm-svn: 20411 | |||||
* | cleanup the cfg after lsr | Chris Lattner | 2005-03-02 | 1 | -2/+6 | |
| | | | | llvm-svn: 20410 | |||||
* | remove 32 sign extend after 32 sextload and handle small negative constant | Andrew Lenharth | 2005-03-02 | 1 | -4/+9 | |
| | | | | llvm-svn: 20408 | |||||
* | Added LSR as a beta pass for alpha | Andrew Lenharth | 2005-03-02 | 1 | -0/+9 | |
| | | | | llvm-svn: 20407 | |||||
* | Add a temporary option for llc-beta: -enable-lsr-for-ppc, which turns on | Chris Lattner | 2005-03-02 | 1 | -0/+10 | |
| | | | | | | Loop Strength Reduction. llvm-svn: 20399 | |||||
* | Be slightly more accurate in an error message. | Reid Spencer | 2005-03-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 20397 | |||||
* | Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's an | Chris Lattner | 2005-03-02 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | | explanation from IRC: |sabre| I think it's an order of evaluation thing |sabre| for me, the RHS of the assignment is evaluated first |sabre| getTypeDescription checks to see if ConcreteTypeDescription[Ty] contains anything |sabre| since it doesn't, it computes and returns the value |sabre| this gets put into the map. |sabre| For you, the LHS is evaluated first. |sabre| Map[Ty] (aka ConcreteTypeDescriptions[Ty]) inserts an empty string into the map, returning a reference |sabre| getTypeDesc then sees the empty string in the map |sabre| and returns it |sabre| bork :) llvm-svn: 20394 | |||||
* | Fixed the following LSR bugs: | Jeff Cohen | 2005-03-01 | 1 | -23/+19 | |
| | | | | | | | | | | | | | | | * Loop invariant code does not dominate the loop header, but rather the end of the loop preheader. * The base for a reduced GEP isn't a constant unless all of its operands (preceding the induction variable) are constant. * Allow induction variable elimination for the simple case after all. Also made changes recommended by Chris for properly deleting instructions. llvm-svn: 20383 | |||||
* | Lower llvm.isunordered(a, b) into a != a | b != b. | Alkis Evlogimenos | 2005-03-01 | 1 | -3/+8 | |
| | | | | llvm-svn: 20382 | |||||
* | Remove tabs from file. | Chris Lattner | 2005-02-28 | 1 | -3/+2 | |
| | | | | llvm-svn: 20380 | |||||
* | Add support to the C backend for llvm.prefetch. Patch contributed by | Chris Lattner | 2005-02-28 | 1 | -0/+13 | |
| | | | | | | Justin Wick! llvm-svn: 20378 | |||||
* | recognize llvm.prefetch. Patch contributed by Justin Wick! | Chris Lattner | 2005-02-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 20377 | |||||
* | Verify llvm.prefetch. | Chris Lattner | 2005-02-28 | 1 | -0/+2 | |
| | | | | llvm-svn: 20376 | |||||
* | Lower prefetch to a noop, patch contributed by Justin Wick! | Chris Lattner | 2005-02-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 20375 | |||||
* | fix integer division and stuff | Andrew Lenharth | 2005-02-28 | 1 | -5/+5 | |
| | | | | llvm-svn: 20372 |