summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* eliminate a use of Instruction::getPrev(), patch by Gabor Greif in 2005.Chris Lattner2007-04-171-1/+2
| | | | llvm-svn: 36197
* merge several fields in GlobalValue to use the same word, move CallingConvChris Lattner2007-04-171-1/+0
| | | | | | | | | field into SubclassData in Value. This shrinks GlobalVAlue from 48->40 bytes, Function from 88->76, and GlobalVariable from 76->68. This trims 4640 bytes off my testcase, reading a bc file without materializing any functions. llvm-svn: 36192
* The (negative) offset from a SymbolTableListTraits-using ilist to its containerChris Lattner2007-04-174-14/+9
| | | | | | | | | object is always constant. As such, evaluate it at compile time instead of storing it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes, and Module from 60->52 bytes. llvm-svn: 36189
* Refactor SymbolTableListTraits to only have a single pointer in it, insteadChris Lattner2007-04-175-59/+77
| | | | | | | | of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8 bytes (68->60). On a testcase of mine, this reduces the memory used to read a module header from 565680b to 561024, a little over 4K. llvm-svn: 36188
* Proivde getAnalysis<FPAnalysis>(Func) support.Devang Patel2007-04-161-0/+5
| | | | llvm-svn: 36159
* Do not assert during analysis implementation initialization.Devang Patel2007-04-161-1/+3
| | | | llvm-svn: 36158
* Print and delete on the fly pass managers.Devang Patel2007-04-161-3/+19
| | | | llvm-svn: 36157
* Update module pass manager to support module passes that requireDevang Patel2007-04-161-11/+44
| | | | | | function passes. llvm-svn: 36154
* Give each pass manager chance to manage lower level analysis pass, which isDevang Patel2007-04-161-20/+60
| | | | | | pass required by one of pass managed by the manager. llvm-svn: 36153
* Removed tabs everywhere except autogenerated & external files. Add makeAnton Korobeynikov2007-04-161-3/+3
| | | | | | target for tabs checking. llvm-svn: 36146
* Don't return 0 if the len == 5, let the assert handle that case.Reid Spencer2007-04-161-1/+1
| | | | | | Thanks, Chris. llvm-svn: 36139
* Fix test/CodeGen/Generic/vector-constantexpr.llReid Spencer2007-04-161-0/+2
| | | | llvm-svn: 36123
* For PR1328:Reid Spencer2007-04-161-3/+4
| | | | | | | | Don't assert everytime an intrinsic name isn't recognized. Instead, make the assert optional when callin getIntrinsicID(). This allows the assembler to handle invalid intrinsic names gracefully. llvm-svn: 36120
* Tabs -> SpacesOwen Anderson2007-04-151-7/+7
| | | | llvm-svn: 36094
* Remove ImmediateDominator analysis. The same information can be obtained ↵Owen Anderson2007-04-151-85/+49
| | | | | | | | | | from DomTree. A lot of code for constructing ImmediateDominator is now folded into DomTree construction. This is part of the ongoing work for PR217. llvm-svn: 36063
* Fix some unsafe code. Also, tabs -> spaces.Owen Anderson2007-04-141-6/+6
| | | | llvm-svn: 36035
* Make ETForest depend on DomTree rather than IDom. This is the first stepOwen Anderson2007-04-141-8/+11
| | | | | | in the long process that will be fixing PR 217. llvm-svn: 36034
* add GetElementPtrInst::hasAllZeroIndices, a long-overdue helper method.Chris Lattner2007-04-141-0/+16
| | | | | | Writing it twice in the same day was too much for me. llvm-svn: 35978
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-122-7/+8
| | | | llvm-svn: 35950
* For PR1284:Reid Spencer2007-04-121-2/+3
| | | | | | Implement the "part_set" intrinsic. llvm-svn: 35938
* Fix a bug where ICmpInst objects instantiated directly with a name wouldReid Spencer2007-04-111-2/+2
| | | | | | | not retain that name. Not noticed because AsmParser always sets name after construction. However, llvm2cpp noticed. llvm-svn: 35903
* For PR1146:Reid Spencer2007-04-113-22/+22
| | | | | | | Put the parameter attributes in their own ParamAttr name space. Adjust the rest of llvm as a result. llvm-svn: 35877
* unbreak the build :(Chris Lattner2007-04-101-1/+1
| | | | llvm-svn: 35857
* Fix build problem.Jeff Cohen2007-04-101-1/+1
| | | | llvm-svn: 35856
* For PR1146:Reid Spencer2007-04-091-0/+6
| | | | | | | | | | * Add ParamAttrs to InvokeInst class too. * Make sure all initializes of ParamAttrs in CallInst and InvokeInst are 0 * Destruct the ParamAttrs in Call/Invoke destructors to avoid memory leaks. This will change when ParamAttrsList is uniquified but needs to be correct until then. llvm-svn: 35824
* Remove a memory leak, until ParamAttrsList is uniqued.Reid Spencer2007-04-091-1/+5
| | | | llvm-svn: 35823
* For PR1146:Reid Spencer2007-04-093-59/+68
| | | | | | | * Add ParamAttrList pointers to Function and CallInst. * Move the implementation of ParamAttrList from Type.cpp to Function.cpp llvm-svn: 35818
* Convert ImmediateDominators::DFSPass from being recursive to being iterative.Chris Lattner2007-04-091-1/+43
| | | | llvm-svn: 35815
* For PR1146:Reid Spencer2007-04-091-2/+1
| | | | | | Simplify construction of FunctionType to use default arguments. llvm-svn: 35810
* For PR1146:Reid Spencer2007-04-091-2/+2
| | | | | | Parameter attributes can now be defaulted for intrinsics. llvm-svn: 35809
* For PR1146:Reid Spencer2007-04-091-30/+36
| | | | | | Adjust writing of parameter attributes to use ParamAttrList class. llvm-svn: 35808
* minor cleanupsChris Lattner2007-04-091-14/+16
| | | | llvm-svn: 35807
* For PR1146:Reid Spencer2007-04-091-52/+106
| | | | | | Move parameter attributes functionality to ParamAttrsList class. llvm-svn: 35806
* Move isReachableFromEntry out of line to avoid an unnecessary #includeOwen Anderson2007-04-091-0/+6
| | | | llvm-svn: 35797
* Remove DomSet completely. This concludes work on PR1171.Owen Anderson2007-04-081-96/+0
| | | | llvm-svn: 35775
* Don't crash when encountering a BasicBlock that hasn't been registered yet.Nick Lewycky2007-04-081-2/+3
| | | | llvm-svn: 35756
* Add DomSet back, and revert the changes to LoopSimplify. Apparently theOwen Anderson2007-04-071-14/+109
| | | | | | | ETForest updating mechanisms don't work as I thought they did. These changes will be reapplied once the issue is worked out. llvm-svn: 35741
* Completely purge DomSet. This is the (hopefully) final patch for PR1171.Owen Anderson2007-04-071-109/+14
| | | | llvm-svn: 35731
* For PR1209:Reid Spencer2007-04-061-17/+63
| | | | | | Implement Type class's ContainedTys without using a std::vector. llvm-svn: 35693
* Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.Reid Spencer2007-04-041-0/+2
| | | | llvm-svn: 35678
* For PR1297:Reid Spencer2007-04-011-5/+14
| | | | | | | | | | Implement "actual" argument types for the Intrinsic member functions. This involves changing the getName, getType, and getDeclaration methods to have optional parameters for the actual types. These are necessary in order for the type/name to be constructed properly for overloaded intrinsics. Only the caller knows the actual argument types desired. llvm-svn: 35541
* For PR1297:Reid Spencer2007-04-011-7/+42
| | | | | | | | | | | | 1. Clear up confusion between "GotBits" and "ExpectBits". GotBits is the type actually provided. ExpectedBits is the type expected for the intrinsics. Before this patch, it was reversed! 2. Implement checks for overloaded intrinsics. This involves computing the suffix expected and making sure the suffix matches the function name. It also includes some intrinsic-specific checks such as ensuring that the bswap parameter and result are the same width and an even number of bytes. llvm-svn: 35540
* add a method to turn a type into a VT.Chris Lattner2007-03-311-0/+28
| | | | llvm-svn: 35526
* It is not possible to determine dominance between two PHI nodesDevang Patel2007-03-281-0/+5
| | | | | | based on their ordering. This is applicable to ETForest::dominates() also. llvm-svn: 35423
* No need to generate the implementation keyword any more. Its frivolous.Reid Spencer2007-03-281-2/+0
| | | | llvm-svn: 35405
* Use SmallPtrSet.Devang Patel2007-03-271-1/+2
| | | | llvm-svn: 35388
* Spell check.Devang Patel2007-03-271-1/+1
| | | | llvm-svn: 35374
* It is not possible to determie dominance between two PHI nodesDevang Patel2007-03-261-0/+6
| | | | | | based on their ordering. llvm-svn: 35369
* Use std::vector<DFCalculateWorkObject> instead ofDevang Patel2007-03-261-7/+4
| | | | | | std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic. llvm-svn: 35368
* Add a comment to explain a folding transform.Reid Spencer2007-03-261-0/+1
| | | | llvm-svn: 35360
OpenPOWER on IntegriCloud