aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Have compiler enforce this.Jeff Cohen2007-04-221-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36353 91177308-0d34-0410-b5e6-96231b3b80d8
* PR400 work phase 1. Add attributed load/store instructions for ↵Christopher Lamb2007-04-222-0/+49
| | | | | | volatile/align to LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36349 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1136:Reid Spencer2007-04-222-0/+40
| | | | | | | | Add reference counting to ParamAttrsList and make use of it in Function, CallInst and InvokeInst classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36346 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1146:Reid Spencer2007-04-224-60/+46
| | | | | | | | | Make ParamAttrsList objects unique. You can no longer directly create or destroy them but instead must go through the ParamAttrsList::get() interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36327 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert Christopher Lamb's load/store alignment changes.Reid Spencer2007-04-212-49/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36309 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for alignment attributes on load/store instructionsChristopher Lamb2007-04-212-0/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36301 91177308-0d34-0410-b5e6-96231b3b80d8
* Reset vertex.Devang Patel2007-04-211-0/+1
| | | | | | | Fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/048092.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36294 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug that prevented the JIT from working correctly after llvm_shutdown.Chris Lattner2007-04-211-6/+16
| | | | | | | | Pass info objects are initialized by static ctors, so deleting them at llvm_shutdown time prevents resurrection from working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36292 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix regressions introduced by my previous patch: opt calls verifier in aChris Lattner2007-04-201-1/+3
| | | | | | | way that the "Mod" ivar was not getting set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36291 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem where primitive types lose their name after llvm_shutdown is ↵Chris Lattner2007-04-201-12/+16
| | | | | | | | | called. This also reduces the amount of work done at static construction time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36285 91177308-0d34-0410-b5e6-96231b3b80d8
* catch a case that was biting jeffcChris Lattner2007-04-201-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36284 91177308-0d34-0410-b5e6-96231b3b80d8
* don't access argument list of prototypesChris Lattner2007-04-181-7/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36238 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a use of Instruction::getPrev(), patch by Gabor Greif in 2005.Chris Lattner2007-04-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36197 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36192 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36189 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36188 91177308-0d34-0410-b5e6-96231b3b80d8
* Proivde getAnalysis<FPAnalysis>(Func) support.Devang Patel2007-04-161-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36159 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not assert during analysis implementation initialization.Devang Patel2007-04-161-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36158 91177308-0d34-0410-b5e6-96231b3b80d8
* Print and delete on the fly pass managers.Devang Patel2007-04-161-3/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36157 91177308-0d34-0410-b5e6-96231b3b80d8
* Update module pass manager to support module passes that requireDevang Patel2007-04-161-11/+44
| | | | | | | function passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36154 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36153 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed tabs everywhere except autogenerated & external files. Add makeAnton Korobeynikov2007-04-161-3/+3
| | | | | | | target for tabs checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't return 0 if the len == 5, let the assert handle that case.Reid Spencer2007-04-161-1/+1
| | | | | | | Thanks, Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36139 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test/CodeGen/Generic/vector-constantexpr.llReid Spencer2007-04-161-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36123 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36120 91177308-0d34-0410-b5e6-96231b3b80d8
* Tabs -> SpacesOwen Anderson2007-04-151-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36094 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36063 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some unsafe code. Also, tabs -> spaces.Owen Anderson2007-04-141-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36035 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36034 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35978 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-122-7/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35950 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1284:Reid Spencer2007-04-121-2/+3
| | | | | | | Implement the "part_set" intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35938 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35903 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35877 91177308-0d34-0410-b5e6-96231b3b80d8
* unbreak the build :(Chris Lattner2007-04-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35857 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build problem.Jeff Cohen2007-04-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35856 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35824 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a memory leak, until ParamAttrsList is uniqued.Reid Spencer2007-04-091-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35823 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35818 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert ImmediateDominators::DFSPass from being recursive to being iterative.Chris Lattner2007-04-091-1/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35815 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1146:Reid Spencer2007-04-091-2/+1
| | | | | | | Simplify construction of FunctionType to use default arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35810 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1146:Reid Spencer2007-04-091-2/+2
| | | | | | | Parameter attributes can now be defaulted for intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35809 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1146:Reid Spencer2007-04-091-30/+36
| | | | | | | Adjust writing of parameter attributes to use ParamAttrList class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35808 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanupsChris Lattner2007-04-091-14/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35807 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1146:Reid Spencer2007-04-091-52/+106
| | | | | | | Move parameter attributes functionality to ParamAttrsList class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35806 91177308-0d34-0410-b5e6-96231b3b80d8
* Move isReachableFromEntry out of line to avoid an unnecessary #includeOwen Anderson2007-04-091-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35797 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove DomSet completely. This concludes work on PR1171.Owen Anderson2007-04-081-96/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35775 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash when encountering a BasicBlock that hasn't been registered yet.Nick Lewycky2007-04-081-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35756 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35741 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely purge DomSet. This is the (hopefully) final patch for PR1171.Owen Anderson2007-04-071-109/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35731 91177308-0d34-0410-b5e6-96231b3b80d8