aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Add some new methodsChris Lattner2004-03-301-15/+87
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12539 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new itfChris Lattner2004-03-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12534 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle -0.0 correctlyChris Lattner2004-03-291-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12530 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bunch of methods that should have been added a long time ago.Chris Lattner2004-03-291-0/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12526 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another checkChris Lattner2004-03-291-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12525 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an assertionChris Lattner2004-03-291-1/+1
| | | | | | | Contributed by Reid Spencer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12524 91177308-0d34-0410-b5e6-96231b3b80d8
* Add two methods which have been needed for a long time: ↵Chris Lattner2004-03-261-0/+35
| | | | | | Type::get(Un)signedVersion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12522 91177308-0d34-0410-b5e6-96231b3b80d8
* Catch some more cases of broken code. The loop extractor seems to be creatingChris Lattner2004-03-141-3/+8
| | | | | | | situations where there is a branch that goes to a block in another function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12379 91177308-0d34-0410-b5e6-96231b3b80d8
* verifyFunction has been broken for a long time now. Fix it.Chris Lattner2004-03-141-12/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner2004-03-132-6/+6
| | | | | | | Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep transitively-required passes alive for queries to work after the initialMisha Brukman2004-03-121-1/+10
| | | | | | | user pass is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12332 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for checking the select instructionChris Lattner2004-03-121-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12325 91177308-0d34-0410-b5e6-96231b3b80d8
* Know the opcode name of the select instructionChris Lattner2004-03-121-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12324 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for select constant expressions. Use reserve a bit more to avoidChris Lattner2004-03-121-0/+35
| | | | | | | memory wasteage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12323 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new functionChris Lattner2004-03-122-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12322 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the constant folder how to do select instructionsChris Lattner2004-03-121-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12321 91177308-0d34-0410-b5e6-96231b3b80d8
* Print select instructions correctlyChris Lattner2004-03-121-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12320 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation.Misha Brukman2004-03-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12298 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new interfaceChris Lattner2004-03-081-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12231 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement test/Regression/Assembler/2004-03-07-FunctionAddressAlignment.llxChris Lattner2004-03-081-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12218 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove Module::mutateConstantPointerRef, which is now thankfully dead!Chris Lattner2004-03-081-25/+0
| | | | | | | | This is one small step towards the complete obliteration of ConstantPointerRef's entirely!! Woot! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12216 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate nightmarish APIChris Lattner2004-03-081-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12214 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify comments.Misha Brukman2004-03-022-50/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12071 91177308-0d34-0410-b5e6-96231b3b80d8
* * If a badref has a name, print it out for ease of debuggingMisha Brukman2004-03-011-15/+17
| | | | | | | * Doxygenify (some) comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12057 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -debug-pass=Executions, which relied on Function, Module, and BasicBlockChris Lattner2004-02-292-22/+28
| | | | | | | being annotable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12013 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in commentBrian Gaeke2004-02-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11966 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Regression/Assembler/2004-02-27-SelfUseAssertError.llChris Lattner2004-02-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11913 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that at least one virtual method is defined in a .cpp file to avoidChris Lattner2004-02-261-0/+1
| | | | | | | having the compiler emit RTTI and vtables to EVERY translation unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11871 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the verifier a little more explicit about this problem.Chris Lattner2004-02-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11811 91177308-0d34-0410-b5e6-96231b3b80d8
* Get all instruction definitionsChris Lattner2004-02-221-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11706 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR245: Linking weak and strong global variables is dependent on link orderChris Lattner2004-02-171-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11565 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to recent changesChris Lattner2004-02-171-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11514 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the folding of gep null, 0, 0, 0 to a place where it can be shared andChris Lattner2004-02-162-14/+20
| | | | | | | enjoyed by all, fixing a fixme. Add an assert git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11505 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in the recent rewrite of the leakdetector that caused all of theChris Lattner2004-02-151-7/+10
| | | | | | | | nightly tests to be really messed up. The problem was that the new leakdetector was depending on undefined behavior: the order of destruction of static objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11488 91177308-0d34-0410-b5e6-96231b3b80d8
* By default, llvm.setjmp/llvm.longjmp intrinsics get lowered to their libc ↵Chris Lattner2004-02-151-3/+15
| | | | | | counterparts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11483 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code. Now the intrinsic lowering pass tries to recycle preexistingChris Lattner2004-02-151-35/+63
| | | | | | | | | | | | | | | | | | prototypes, even if they don't precisely match what it would prefer to use. This fixes: CBackend/2004-02-15-PreexistingExternals.llx compiling it into: ltmp_0_30 = memcpy(l14_C, 4u, 17); ltmp_1_30 = memcpy(((int *)l27_A), ((unsigned )(long)l27_B), ((int )123u)); instead of: ltmp_0_30 = memcpy(l14_C, 4u, 17); ltmp_1_27 = l43_memcpy(l27_A, l27_B, 123u); Which does the wrong thing as you could imagine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11481 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjustments to support the new ConstantAggregateZero classChris Lattner2004-02-153-18/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new ConstantAggregateZero class, to fix PR239. This makes zeroChris Lattner2004-02-151-36/+70
| | | | | | | | | | initializers for constant structs and arrays take constant space, instead of space proportinal to the number of elements. This reduces the memory usage of the LLVM compiler by hundreds of megabytes when compiling some nasty SPEC95 benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11470 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantArray::get and ConstantStruct::get now just return pointers toChris Lattner2004-02-151-4/+4
| | | | | | | | 'Constant', instead of specific subclass pointers. In the future, these will return an instance of ConstantAggregateZero if all of the inputs are zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11467 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dependence on return type of ConstantStruct::getChris Lattner2004-02-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11466 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dependence on the return type of ConstantArray::getChris Lattner2004-02-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11463 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep a cache of non-abstract null arrays and structs. This speeds up llvm-disChris Lattner2004-02-151-2/+19
| | | | | | | from 16.57 -> 13.46s on 129.compress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11462 91177308-0d34-0410-b5e6-96231b3b80d8
* Modularize implementation of LeakDetector into a typed templateAlkis Evlogimenos2004-02-141-59/+76
| | | | | | | | | implementation class. This makes the code simpler and allows for more types to be added easily. It also implements caching for generic objects (it was only available for llvm objects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11452 91177308-0d34-0410-b5e6-96231b3b80d8
* A target that doesn't support these intrinsics will still meet spec (theChris Lattner2004-02-141-0/+3
| | | | | | | | intrinsic will always produce zero), but it will behave unexpectedly, so warn like GCC does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11444 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm.memset/frameaddress/returnaddress intrinsics.Chris Lattner2004-02-143-9/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the logic in the name mangler. If there are two symbols named 'X', and oneChris Lattner2004-02-141-12/+27
| | | | | | | is external, make sure to mangle the *internal* one, not external one git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11424 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for the llvm.memmove intrinsicChris Lattner2004-02-123-0/+15
| | | | | | | Patch graciously contributed by Reid Spencer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the llvm.memcpy intrinsicChris Lattner2004-02-123-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize the count instance variable.Chris Lattner2004-02-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11305 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove obsolete methodChris Lattner2004-02-111-13/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11302 91177308-0d34-0410-b5e6-96231b3b80d8