summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove 8 more std::map's.Chris Lattner2006-08-112-92/+58
| | | | llvm-svn: 29631
* Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,Chris Lattner2006-08-112-88/+83
| | | | | | RegNodes, and ValueNodes maps into the CSEMap. llvm-svn: 29626
* eliminate the NullaryOps map, use CSEMap instead.Chris Lattner2006-08-111-22/+18
| | | | llvm-svn: 29621
* change internal impl of dag combiner so that calls to CombineTo never have toChris Lattner2006-08-111-12/+9
| | | | | | make a temporary vector. llvm-svn: 29618
* Change one ReplaceAllUsesWith method to take an array of operands to replaceChris Lattner2006-08-112-6/+5
| | | | | | instead of a vector of operands. llvm-svn: 29616
* Start eliminating temporary vectors used to create DAG nodes. Instead, passChris Lattner2006-08-084-274/+176
| | | | | | | | | | | | | | | | | | | in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566
* Eliminate some malloc traffic by allocating vectors on the stack. Change someChris Lattner2006-08-082-82/+67
| | | | | | | | | method that took std::vector<SDOperand> to take a pointer to a first operand and #operands. This speeds up isel on kc++ by about 3%. llvm-svn: 29561
* Revamp the "CSEMap" datastructure used in the SelectionDAG class. ThisChris Lattner2006-08-072-312/+517
| | | | | | | | | | | eliminates a bunch of std::map's in the SelectionDAG, replacing them with a home-grown hashtable. This is still a work in progress: not all the maps have been moved over and the hashtable never resizes. That said, this still speeds up llc 20% on kimwitu++ with -fast -regalloc=local using a release build. llvm-svn: 29550
* Clear TopOrder before assigning topological order. Some clean ups.Evan Cheng2006-08-071-1/+3
| | | | llvm-svn: 29546
* Reverse the FlaggedNodes after scanning up for flagged preds or else the ↵Evan Cheng2006-08-071-5/+10
| | | | | | order would be reversed. llvm-svn: 29545
* Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, whichChris Lattner2006-08-042-51/+33
| | | | | | also make it simpler. llvm-svn: 29524
* Copy the liveins for the first block. PR859Jim Laskey2006-08-031-0/+14
| | | | llvm-svn: 29511
* Work around a GCC 3.3.5 bug noticed by a user.Chris Lattner2006-08-031-1/+1
| | | | llvm-svn: 29490
* Work around a bug in gcc 3.3.5, reported by a userChris Lattner2006-08-031-1/+1
| | | | llvm-svn: 29489
* - Change AssignTopologicalOrder to return vector of SDNode* by reference.Evan Cheng2006-08-021-16/+22
| | | | | | - Tweak implementation to avoid using std::map. llvm-svn: 29479
* Final polish on machine pass registries.Jim Laskey2006-08-029-37/+69
| | | | llvm-svn: 29471
* Now that the ISel is available, it's possible to create a default instructionJim Laskey2006-08-011-17/+22
| | | | | | scheduler creator. llvm-svn: 29452
* 1. Change use of "Cache" to "Default".Jim Laskey2006-08-016-15/+31
| | | | | | | | | | | 2. Added argument to instruction scheduler creators so the creators can do special things. 3. Repaired target hazard code. 4. Misc. More to follow. llvm-svn: 29450
* Forgot the added files for plugable machine passes.Jim Laskey2006-08-011-0/+31
| | | | llvm-svn: 29436
* Introducing plugable register allocators and instruction schedulers.Jim Laskey2006-08-018-140/+119
| | | | llvm-svn: 29434
* Added AssignTopologicalOrder() to assign each node an unique id based on ↵Evan Cheng2006-08-011-2/+38
| | | | | | their topological order. llvm-svn: 29431
* PIC jump table entries are always 32-bit even in 64-bit mode.Evan Cheng2006-08-011-4/+11
| | | | llvm-svn: 29422
* Instead of blindly looking past constantexpr casts, actually constantChris Lattner2006-07-291-14/+20
| | | | | | | | fold them. This correctly truncates constants that are too large for the destination slot and makes the code easier to understand. This fixes PR853 and Regression/CodeGen/X86/2006-07-28-AsmPrint-Long-As-Pointer.ll llvm-svn: 29408
* Remove InFlightSet hack. No longer needed.Evan Cheng2006-07-281-14/+0
| | | | llvm-svn: 29373
* Print empty inline asms as a blank line instead of:Chris Lattner2006-07-281-1/+8
| | | | | | | | # InlineAsm Start # InlineAsm End llvm-svn: 29372
* Working toward registration of register allocators.Jim Laskey2006-07-271-11/+47
| | | | llvm-svn: 29360
* Code cleanups, per reviewNate Begeman2006-07-272-5/+7
| | | | llvm-svn: 29347
* AssignNodeIds should return unsigned.Evan Cheng2006-07-271-2/+2
| | | | llvm-svn: 29343
* AssignNodeIds assign each node in the DAG an unique id.Evan Cheng2006-07-271-0/+12
| | | | llvm-svn: 29337
* Add some adviceChris Lattner2006-07-272-98/+1618
| | | | llvm-svn: 29324
* Support jump tables when in PIC relocation modelNate Begeman2006-07-272-20/+28
| | | | llvm-svn: 29318
* Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.Chris Lattner2006-07-261-6/+21
| | | | | | | | This manifested itself as really long time to compile Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc. This is PR847. llvm-svn: 29313
* For PR780:Reid Spencer2006-07-261-0/+1
| | | | | | | | | | | | 1. Move IncludeFile.h to System library 2. Move IncludeFile.cpp to System library 3. #1 and #2 required to prevent cyclic library dependencies for libSystem 4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h 5. Add IncludeFile support to various lib/System classes. 6. Add new lib/System classes to LinkAllVMCore.h All this in an attempt to pull in lib/System to what's required for VMCore llvm-svn: 29287
* Initialize some variables the compiler warns about.Reid Spencer2006-07-251-2/+2
| | | | llvm-svn: 29277
* Eliminate data relocations by using NULL instead of global empty list.Jim Laskey2006-07-215-32/+48
| | | | llvm-svn: 29250
* Use an enumeration to eliminate data relocations.Jim Laskey2006-07-212-7/+24
| | | | llvm-svn: 29249
* If a shuffle is a splat, check if the argument is a build_vector with all ↵Evan Cheng2006-07-211-8/+90
| | | | | | elements being the same. If so, return the argument. llvm-svn: 29242
* Build more debugger/selectiondag libraries as archives instead of .o files.Chris Lattner2006-07-211-0/+1
| | | | | | | | This works around bugs in some versions of the cygwin linker. Patch contributed by Anton Korobeynikov. llvm-svn: 29239
* If a shuffle is unary, i.e. one of the vector argument is not needed, turn theEvan Cheng2006-07-201-10/+56
| | | | | | operand into a undef and adjust mask accordingly. llvm-svn: 29232
* Mems can be in the output list also. This is the second half of a fix forChris Lattner2006-07-201-1/+2
| | | | | | PR833 llvm-svn: 29224
* 80 colsAndrew Lenharth2006-07-202-3/+4
| | | | llvm-svn: 29221
* Reduce number of exported symbolsAndrew Lenharth2006-07-2010-30/+31
| | | | llvm-svn: 29220
* Fix linking on AlphaAndrew Lenharth2006-07-201-0/+1
| | | | llvm-svn: 29219
* Move MVT::getVectorType out of line, it is large and shouldn't be inlined.Chris Lattner2006-07-191-0/+34
| | | | llvm-svn: 29195
* Add an out-of-line virtual method for the sdnode class to give it a home.Chris Lattner2006-07-191-0/+4
| | | | llvm-svn: 29192
* On 64-bit targets like ppc64, we should use .quad to output pointer directives,Chris Lattner2006-07-151-1/+9
| | | | | | not .long. llvm-svn: 29157
* Add an out-of-line virtual function to home class.Chris Lattner2006-07-141-0/+2
| | | | llvm-svn: 29154
* Fixed a bug handling void function types.Jim Laskey2006-07-132-12/+21
| | | | | | Requires rebuild of llvm-gcc4 (touch llvm-debug.cpp.) llvm-svn: 29131
* It was pointed out that DEBUG() is only available with -debug.Jim Laskey2006-07-111-1/+3
| | | | llvm-svn: 29106
* Ensure that dump calls that are associated with asserts are removed fromJim Laskey2006-07-112-2/+14
| | | | | | non-debug build. llvm-svn: 29105
OpenPOWER on IntegriCloud