aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate the O(n) version of TypeSymbolTable::remove, it is dead. WhenChris Lattner2007-02-071-5/+0
| | | | | | | | inserting a type into the type symbol table, only compute unique name if not in symtab already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33983 91177308-0d34-0410-b5e6-96231b3b80d8
* TypeSymbolTable::rename is dead, remove itChris Lattner2007-02-071-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33982 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate std::vector's from the bchandler interfaceChris Lattner2007-02-071-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33979 91177308-0d34-0410-b5e6-96231b3b80d8
* do not let the table fill up with tombstones.Chris Lattner2007-02-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33973 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a really subtle bug where the entire hash table could fill withChris Lattner2007-02-071-2/+23
| | | | | | | tombstones, causing subsequent insertions to infinitely loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33972 91177308-0d34-0410-b5e6-96231b3b80d8
* Deemed too cute to live.Jim Laskey2007-02-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33964 91177308-0d34-0410-b5e6-96231b3b80d8
* Support var arg intrinsics.Jim Laskey2007-02-061-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33962 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build error.Lauro Ramos Venancio2007-02-061-0/+1
| | | | | | | UniqueVector.h:66: error: ‘assert’ was not declared in this scope git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33961 91177308-0d34-0410-b5e6-96231b3b80d8
* As Reid suggested, fixed some problems.Zhou Sheng2007-02-061-182/+110
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33954 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this a bit, add an assertionChris Lattner2007-02-051-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33936 91177308-0d34-0410-b5e6-96231b3b80d8
* StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,Chris Lattner2007-02-051-22/+11
| | | | | | | so we should actually use a UniqueVector to implement it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33935 91177308-0d34-0410-b5e6-96231b3b80d8
* Const method must use const_iterator.Chris Lattner2007-02-051-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33933 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-14/+5
| | | | | | | | Clean up the Module::getFunction interface. getMainFunction and getNamedFunction are now gone. Just use getFunction instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33920 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-058-306/+50
| | | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a class APInt to represent arbitrary precision constant integral values.Zhou Sheng2007-02-051-0/+489
| | | | | | | | | | It is a functional replacement for common case integer type like "unsigned", "uint64_t", but also allows non-byte-width integer type and large integer value types such as 3-bits, 15-bits, or more than 64-bits of precision. For more details, see pr1043. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33913 91177308-0d34-0410-b5e6-96231b3b80d8
* Use unsigned char& instead of std::vector<>::reference.Bill Wendling2007-02-051-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33896 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the VRBaseMap in the scheduler from an std::map to a DenseMap. ThisChris Lattner2007-02-041-2/+2
| | | | | | | speeds up the isel pass from 2.5570s to 2.4722s on kc++ (3.4%). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33879 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce new UnarySDNode/BinarySDNode/TernarySDNode nodes, which coallocateChris Lattner2007-02-041-0/+43
| | | | | | | | their operands with the node itself. This reduces malloc traffic for operand lists. This reduces isel time on kc++ from 2.6164 to 2.5570s, about 2.3%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33878 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new SDNode ctor and InitOperands method. This allows the operands forChris Lattner2007-02-041-37/+69
| | | | | | | | | | | an SDNode to be allocated as part of the node itself, instead of being a separate new[]'d object. Switch HandleSDNode, LoadSDNode, and StoreSDNode to use this mechanism. This saves one heap allocation and free for each node of this type that is allocated. This reduces isel time from 2.7638 to 2.6164s on kc++, which is a 5.6% speedup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33877 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the SDNode::setValueTypes method.Chris Lattner2007-02-041-53/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33876 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a bunch of duplicate ctors and helper functions.Chris Lattner2007-02-041-83/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33875 91177308-0d34-0410-b5e6-96231b3b80d8
* move MorphNode to out of line and merge setNodeOperands into it. There isChris Lattner2007-02-041-28/+5
| | | | | | | no behavior or performance change here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33869 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify MorphNodeTo to take a VTList operand.Chris Lattner2007-02-041-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33868 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate some extraneous methods in SDNodeChris Lattner2007-02-041-25/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33867 91177308-0d34-0410-b5e6-96231b3b80d8
* Give each selectiondag node class a home for it's vtable and rtti infoChris Lattner2007-02-041-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33866 91177308-0d34-0410-b5e6-96231b3b80d8
* add a version of insert that takes the key and value.Chris Lattner2007-02-041-8/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33856 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1163:Reid Spencer2007-02-041-4/+3
| | | | | | | | Make the Module's dependent library use a std::vector instead of SetVector adjust #includes in .cpp files because SetVector.h is no longer included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33855 91177308-0d34-0410-b5e6-96231b3b80d8
* Make SmallSetVector usefulChris Lattner2007-02-041-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33854 91177308-0d34-0410-b5e6-96231b3b80d8
* Various bugfixesChris Lattner2007-02-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33848 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert SetVector to be a true adapter class and add SmallSetVector.Chris Lattner2007-02-031-5/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33846 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1072:Reid Spencer2007-02-032-9/+0
| | | | | | | | Removing -raise has neglible positive or negative side effects so we are opting to remove it. See the PR for comparison details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33844 91177308-0d34-0410-b5e6-96231b3b80d8
* 8 buckets is way too small to start out with. This was only for testing.Chris Lattner2007-02-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33835 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead headerChris Lattner2007-02-031-273/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33820 91177308-0d34-0410-b5e6-96231b3b80d8
* Added GetTargetRelocation method.Bill Wendling2007-02-031-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33815 91177308-0d34-0410-b5e6-96231b3b80d8
* Added some accessor methods.Bill Wendling2007-02-031-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33814 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved MachORelocation to its own header file. Have a call through theBill Wendling2007-02-031-33/+14
| | | | | | | | TargetMachOInfo object to the GetTargetRelocation method. Pass into it non-Mach-O-specific parameters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33813 91177308-0d34-0410-b5e6-96231b3b80d8
* New file for the MachORelocation structure. It doesn't have to be tied to theBill Wendling2007-02-031-0/+54
| | | | | | | MachOWriter.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33812 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the sched unit map over to use a DenseMap instead of std::map. ThisChris Lattner2007-02-032-3/+3
| | | | | | | speeds up isel as a whole time by 2.6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33810 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-031-8/+8
| | | | | | | speeds up the inliner 16%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33801 91177308-0d34-0410-b5e6-96231b3b80d8
* silence annoying warning in release-asserts buildChris Lattner2007-02-021-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33797 91177308-0d34-0410-b5e6-96231b3b80d8
* add find/erase, add const iterators, fix bugs in iterators.Chris Lattner2007-02-021-19/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33791 91177308-0d34-0410-b5e6-96231b3b80d8
* add iteratorsChris Lattner2007-02-021-22/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33790 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-026-131/+72
| | | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
* Pretty print pass managers.Devang Patel2007-02-011-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33767 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for non-landing pad exception handling.Jim Laskey2007-02-013-7/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33755 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a homonymo in a comment.Reid Spencer2007-02-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33754 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the onlyAnton Korobeynikov2007-02-011-0/+2
| | | | | | | | affected part is codegen of "memove" inside x86 backend. This fixes PR1144 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33752 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new dense hash table implementationChris Lattner2007-02-011-0/+203
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33751 91177308-0d34-0410-b5e6-96231b3b80d8
* rename DenseMap to IndexedMap.Chris Lattner2007-02-016-86/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749 91177308-0d34-0410-b5e6-96231b3b80d8
* rename DenseMap -> IndexedMap.Chris Lattner2007-02-011-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33748 91177308-0d34-0410-b5e6-96231b3b80d8