summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* trivial simplificationChris Lattner2005-03-061-1/+1
| | | | llvm-svn: 20494
* Fix a bug where we could corrupt a parent loop's header info if we unrolledChris Lattner2005-03-061-6/+17
| | | | | | | a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll and PR532 llvm-svn: 20493
* rename insertEntry to insertChris Lattner2005-03-061-1/+2
| | | | llvm-svn: 20484
* Merge SymbolTable::removeEntry into SymbolTable::remove, its only callerChris Lattner2005-03-061-28/+21
| | | | llvm-svn: 20483
* Delete the really inefficient method: void remove(const Type* Typ);Chris Lattner2005-03-061-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 Lattner2005-03-061-2/+1
| | | | llvm-svn: 20479
* Remove some really gross and hard to understand code now thatChris Lattner2005-03-061-27/+6
| | | | | | InternallyInconsistent is always false. llvm-svn: 20477
* Simplify some code.Chris Lattner2005-03-061-7/+5
| | | | llvm-svn: 20476
* remove these methods.Chris Lattner2005-03-061-42/+0
| | | | llvm-svn: 20474
* simplify and speed up some codeChris Lattner2005-03-062-4/+1
| | | | llvm-svn: 20472
* simplify some code.Chris Lattner2005-03-061-5/+4
| | | | llvm-svn: 20471
* This fixes PR531, a crash when running the CBE on a bytecode file.Chris Lattner2005-03-062-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 Cohen2005-03-051-7/+8
| | | | llvm-svn: 20467
* Reuse induction variables created for strength-reduced GEPs by other similar ↵Jeff Cohen2005-03-051-32/+61
| | | | | | GEPs. llvm-svn: 20466
* remove all of the various setName implementations, consolidating them intoChris Lattner2005-03-056-50/+28
| | | | | | Value::setName, which is no longer virtual. llvm-svn: 20464
* second argument to Value::setName is now gone.Chris Lattner2005-03-053-5/+5
| | | | llvm-svn: 20463
* Make sure the two arguments of a setcc instruction point to the same node.Chris Lattner2005-03-051-1/+8
| | | | llvm-svn: 20462
* zapChris Lattner2005-03-051-1/+1
| | | | llvm-svn: 20461
* 2nd arg to setName goes away.Chris Lattner2005-03-051-8/+5
| | | | llvm-svn: 20460
* Constants never get names.Chris Lattner2005-03-051-5/+2
| | | | llvm-svn: 20459
* Remove the 2nd argument to Value::setNameChris Lattner2005-03-054-17/+6
| | | | llvm-svn: 20458
* don't break the build on 32-bit hosts.Chris Lattner2005-03-051-2/+2
| | | | llvm-svn: 20455
* fix data size stuff for architectures with bit challenged data typesAndrew Lenharth2005-03-051-4/+4
| | | | llvm-svn: 20453
* Do not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on theChris Lattner2005-03-041-1/+2
| | | | | | sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll llvm-svn: 20445
* fix up stack pointer adjustmentsAndrew Lenharth2005-03-041-18/+22
| | | | llvm-svn: 20442
* Trivial cleanup patchChris Lattner2005-03-041-2/+2
| | | | llvm-svn: 20436
* fix FCMOVxx typo, set rem and div to hardcode target reg to be the same as ↵Andrew Lenharth2005-03-042-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 smallJeff Cohen2005-03-041-2/+25
| | | | | | power of two. This emphatically includes the zeroeth power of two. llvm-svn: 20429
* turn on IEEE for comparesAndrew Lenharth2005-03-031-4/+4
| | | | llvm-svn: 20425
* beter Select on FPAndrew Lenharth2005-03-031-14/+65
| | | | llvm-svn: 20424
* Print -X like this:Chris Lattner2005-03-031-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 patchAndrew Lenharth2005-03-031-1/+3
| | | | llvm-svn: 20422
* Do not lower malloc's to pass "sizeof" expressions like this:Chris Lattner2005-03-031-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 ofChris Lattner2005-03-031-6/+14
| | | | | | to a "sizeof" expression. llvm-svn: 20414
* Fix the spelling of the word `the'Misha Brukman2005-03-021-1/+1
| | | | llvm-svn: 20412
* Print the module ID as a comment.Chris Lattner2005-03-021-0/+6
| | | | llvm-svn: 20411
* cleanup the cfg after lsrChris Lattner2005-03-021-2/+6
| | | | llvm-svn: 20410
* remove 32 sign extend after 32 sextload and handle small negative constantAndrew Lenharth2005-03-021-4/+9
| | | | llvm-svn: 20408
* Added LSR as a beta pass for alphaAndrew Lenharth2005-03-021-0/+9
| | | | llvm-svn: 20407
* Add a temporary option for llc-beta: -enable-lsr-for-ppc, which turns onChris Lattner2005-03-021-0/+10
| | | | | | Loop Strength Reduction. llvm-svn: 20399
* Be slightly more accurate in an error message.Reid Spencer2005-03-021-1/+1
| | | | llvm-svn: 20397
* Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's anChris Lattner2005-03-021-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 Cohen2005-03-011-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 Evlogimenos2005-03-011-3/+8
| | | | llvm-svn: 20382
* Remove tabs from file.Chris Lattner2005-02-281-3/+2
| | | | llvm-svn: 20380
* Add support to the C backend for llvm.prefetch. Patch contributed byChris Lattner2005-02-281-0/+13
| | | | | | Justin Wick! llvm-svn: 20378
* recognize llvm.prefetch. Patch contributed by Justin Wick!Chris Lattner2005-02-281-0/+3
| | | | llvm-svn: 20377
* Verify llvm.prefetch.Chris Lattner2005-02-281-0/+2
| | | | llvm-svn: 20376
* Lower prefetch to a noop, patch contributed by Justin Wick!Chris Lattner2005-02-281-0/+3
| | | | llvm-svn: 20375
* fix integer division and stuffAndrew Lenharth2005-02-281-5/+5
| | | | llvm-svn: 20372
OpenPOWER on IntegriCloud