summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* core changes for varargsAndrew Lenharth2005-06-184-12/+3
| | | | llvm-svn: 22254
* Some cleanups for compilation with GCC 4.0.0 to remove warnings:Reid Spencer2005-05-151-0/+3
| | | | | | | * Use C++ style casts, not C style casts * Abstract base classes should have virtual destructor. llvm-svn: 22057
* Verify that varargs functions all have cccChris Lattner2005-05-081-1/+5
| | | | llvm-svn: 21792
* add support for explicit calling conventionsChris Lattner2005-05-063-3/+44
| | | | llvm-svn: 21746
* Add a 'tail' marker for call instructions, patch contributed byChris Lattner2005-05-063-2/+9
| | | | | | Alexander Friedman. llvm-svn: 21722
* Implement count leading zeros (ctlz), count trailing zeros (cttz), and countAndrew Lenharth2005-05-032-0/+17
| | | | | | | | | population (ctpop). Generic lowering is implemented, however only promotion is implemented for SelectionDAG at the moment. More coming soon. llvm-svn: 21676
* fix a bug in the 1 index GEP handling codeChris Lattner2005-05-031-1/+1
| | | | llvm-svn: 21670
* add direct support for making GEP instrs with one indexChris Lattner2005-05-031-0/+31
| | | | llvm-svn: 21665
* Use ANSI-approved way of getting the value infinity (otherwise VC++ won't ↵Jeff Cohen2005-05-031-3/+4
| | | | | | compile it) llvm-svn: 21662
* fold fp div by 0 to inf, the way gcc does. This is legal according to the ↵Andrew Lenharth2005-05-021-0/+7
| | | | | | FP spec llvm-svn: 21655
* Add llvm.sqrt intrinsic, patch contributed by Morten OfstadChris Lattner2005-04-302-0/+11
| | | | llvm-svn: 21627
* Unbreak the sparc backend.Chris Lattner2005-04-271-2/+4
| | | | llvm-svn: 21598
* don't let Reid build void*'s :)Chris Lattner2005-04-261-0/+2
| | | | llvm-svn: 21571
* Make dominates(A,B) work with post dominators. Patch contributed byChris Lattner2005-04-251-2/+7
| | | | | | Naveen Neelakantam, thanks! llvm-svn: 21543
* Older compilers won't like the inline virtual destructor in the header fileReid Spencer2005-04-251-0/+3
| | | | | | so we put the destructor in Pass.cpp and make it non-inline. llvm-svn: 21520
* Shut GCC 4.0 up about classes with virtual functions but no virtualReid Spencer2005-04-241-0/+5
| | | | | | destructor. llvm-svn: 21510
* Allow these methods to take a generic Value* to simplify clients. UseChris Lattner2005-04-241-11/+12
| | | | | | const_cast instead of c casts. llvm-svn: 21493
* Fix a bug in my previous checkinChris Lattner2005-04-231-22/+22
| | | | llvm-svn: 21485
* Add a method, remove last use of Type.defChris Lattner2005-04-231-2/+28
| | | | llvm-svn: 21483
* Eliminate tabs and trailing spacesJeff Cohen2005-04-232-4/+4
| | | | llvm-svn: 21480
* Remove trailing whitespaceMisha Brukman2005-04-2122-386/+386
| | | | llvm-svn: 21427
* Improve doxygen, from part of Evan's patch that didn't apply.Chris Lattner2005-04-211-6/+6
| | | | llvm-svn: 21394
* Improve doxygen documentation, patch contributed by Evan Jones!Chris Lattner2005-04-211-11/+11
| | | | llvm-svn: 21393
* add an argument to allow avoiding deleting phi nodes.Chris Lattner2005-04-121-6/+9
| | | | llvm-svn: 21255
* First step in adding pcmarker intrinsic. Second step (soon) is adding ↵Andrew Lenharth2005-03-282-0/+6
| | | | | | backend support. llvm-svn: 20900
* Add new function getPtrPtrFromArrayPtr().Alkis Evlogimenos2005-03-191-0/+7
| | | | llvm-svn: 20684
* Convert tabs to spacesMisha Brukman2005-03-161-5/+5
| | | | llvm-svn: 20638
* stop using arg_frontChris Lattner2005-03-151-1/+1
| | | | llvm-svn: 20599
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-154-10/+10
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* correct the computation of the isAbstract bit for types.Chris Lattner2005-03-091-3/+8
| | | | llvm-svn: 20533
* Fix a typo in an assertion comment.Reid Spencer2005-03-091-1/+1
| | | | | | Patch contributed by Vladimir Merzliakov. llvm-svn: 20529
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* switch instructions only allow constantints for their values, be more specific.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20298
* add a new method.Chris Lattner2005-02-241-0/+10
| | | | llvm-svn: 20293
OpenPOWER on IntegriCloud