aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Add a missing break, which caused a crash in an obscure situationChris Lattner2004-04-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12825 91177308-0d34-0410-b5e6-96231b3b80d8
* Reversed the order of the llvm.writeport() operands so that the valueJohn Criswell2004-04-091-2/+2
| | | | | | | is listed first and the address is listed second. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12795 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the llvm.readport and llvm.writeport intrinsics.John Criswell2004-04-082-0/+23
| | | | | | | | | The Verifier ensures that their parameters are of integral types and have the correct sign, but it does not enforce any size restrictions because such restrictions are platform dependent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12781 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not mangle intrinsics in any way!Chris Lattner2004-04-051-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12673 91177308-0d34-0410-b5e6-96231b3b80d8
* Support getelementptr instructions which use uint's to index into structureChris Lattner2004-04-053-10/+14
| | | | | | | | types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ConstantExpr::get(Sign|Zero)Extend methodsChris Lattner2004-04-041-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12648 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the verifier API more complete and useful.Chris Lattner2004-04-021-20/+48
| | | | | | | Patch contributed by Reid Spencer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12609 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix linking of constant expr casts due to type resolution changes. WithChris Lattner2004-03-311-0/+8
| | | | | | | this and the other patches 253.perlbmk links again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12565 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for constant expr castsChris Lattner2004-03-311-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12564 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a latent bug in select constantexpr handling that was broke 253.perlbmkChris Lattner2004-03-301-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12562 91177308-0d34-0410-b5e6-96231b3b80d8
* 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