aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-252-2/+0
| | | | | | | VISIBILITY_HIDDEN removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-253-5/+4
| | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ICmpInst::isSignedPredicate which was a reimplementationNick Lewycky2009-10-251-11/+0
| | | | | | | CmpInst::isSigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85037 91177308-0d34-0410-b5e6-96231b3b80d8
* Sink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqualNick Lewycky2009-10-251-1/+18
| | | | | | | which is equal to !isTrueWhenEqual for ints but not for floats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85036 91177308-0d34-0410-b5e6-96231b3b80d8
* Make DominanceFrontierBase::print's output prettier.Dan Gohman2009-10-241-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85011 91177308-0d34-0410-b5e6-96231b3b80d8
* Auto-upgrade free instructions to calls to the builtin free function.Victor Hernandez2009-10-241-0/+45
| | | | | | | | | Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove AllocationInst. Since MallocInst went away, AllocaInst is the only ↵Victor Hernandez2009-10-234-17/+51
| | | | | | subclass of AllocationInst, so it no longer is necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8
* Hide MetadataContext implementation details.Devang Patel2009-10-222-32/+170
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix getMDs() interface such that it does not expose implementation details.Devang Patel2009-10-222-16/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8
* Using TrackingVH instead of WeakVH or WeakMetadataVH.Devang Patel2009-10-222-12/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort handler names to ensure deterministic behavior.Devang Patel2009-10-221-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix getHandlerNames() interface. Now it populate clinet supplied small ↵Devang Patel2009-10-222-9/+13
| | | | | | vector with handler names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef to construct MDString.Devang Patel2009-10-221-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove meaningless const.Devang Patel2009-10-221-4/+4
| | | | | | | Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8
* Derive metadata hierarchy from Value instead of User.Devang Patel2009-10-213-99/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix thinko noticed by Chris.Benjamin Kramer2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename msasm to alignstack per review.Dale Johannesen2009-10-213-8/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove pointless return; at end of function.Benjamin Kramer2009-10-211-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code. No intended functionality change.Benjamin Kramer2009-10-211-12/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef.Devang Patel2009-10-211-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use SmallVector to store MDNode elements.Devang Patel2009-10-212-16/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8
* Incorporate various suggestions Chris gave during metadata review.Devang Patel2009-10-211-30/+16
| | | | | | | | | | | | - i < getNumElements() instead of getNumElements() > i - Make setParent() private - Fix use of resizeOperands - Reset HasMetadata bit after removing all metadata attached to an instruction - Efficient use of iterators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic changes.Devang Patel2009-10-201-9/+9
| | | | | | | | | s/validName/isValidName/g s/with an Instruction/to an Instruction/g s/RegisterMDKind/registerMDKind/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8
* Banish ConstantsLock. It's serving no purpose other than slowing things downOwen Anderson2009-10-193-60/+22
| | | | | | | at the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84529 91177308-0d34-0410-b5e6-96231b3b80d8
* various cleanups.Chris Lattner2009-10-191-30/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84471 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,Nick Lewycky2009-10-172-15/+18
| | | | | | | | LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the resulting instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84374 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach vm core to more aggressively fold 'trunc' constantexprs,Chris Lattner2009-10-171-9/+160
| | | | | | | | | | | allowing it to simplify the crazy constantexprs in the testcases down to something sensible. This allows -std-compile-opts to completely "devirtualize" the pointers to member functions in the testcase from PR5176. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84368 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit newlines at the end of instructions too.Nick Lewycky2009-10-171-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84348 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary include.Daniel Dunbar2009-10-171-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84336 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove MallocInst from LLVM Instructions.Victor Hernandez2009-10-172-15/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
* Autoupgrade malloc insts to malloc calls.Victor Hernandez2009-10-172-17/+31
| | | | | | | | | | Update testcases that rely on malloc insts being present. Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8
* Add copyMD to copy metadata from one instruction to another instruction.Devang Patel2009-10-141-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113 91177308-0d34-0410-b5e6-96231b3b80d8
* I don't see any point in having both eh.selector.i32 and eh.selector.i64,Duncan Sands2009-10-141-0/+46
| | | | | | | | | | | | | | so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an "msasm" flag to inline asm as suggested in PR 5125.Dale Johannesen2009-10-133-6/+11
| | | | | | | | | A little ugliness is accepted to keep the binary file format compatible. No functional change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8
* Copy metadata when value is RAUW'd. It is debatable whether this is the ↵Devang Patel2009-10-132-0/+16
| | | | | | right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977 91177308-0d34-0410-b5e6-96231b3b80d8
* Force memory use markers to have a ConstantInt for the size argument.Nick Lewycky2009-10-131-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix http://llvm.org/PR5160, to let CallbackVHs modify other ValueHandles on theJeffrey Yasskin2009-10-121-23/+46
| | | | | | | same Value without breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83861 91177308-0d34-0410-b5e6-96231b3b80d8
* add some more hooks to the C bindings, patch by Kenneth Uildriks!Chris Lattner2009-10-121-1/+59
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a form of addPreserved which takes a string argument, to allow passesDan Gohman2009-10-081-0/+14
| | | | | | | | | to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83555 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not assume that the module is set.Devang Patel2009-10-071-15/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getPointerTo return a const PointerType* rather thanDuncan Sands2009-10-071-1/+1
| | | | | | | an unqualified PointerType* because it seems more correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce and use convenience methods for getting pointer typesDuncan Sands2009-10-063-2/+42
| | | | | | | | where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8
* strength reduce a ton of type equality tests to check the typeid (ThroughChris Lattner2009-10-053-23/+23
| | | | | | | | | the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
* Requires element types in a constant initializer to match the element types ofNick Lewycky2009-10-031-11/+3
| | | | | | | of the constant. This reverts r6544 and r7428. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83270 91177308-0d34-0410-b5e6-96231b3b80d8
* Check for null MDNode element while printing comment.Devang Patel2009-09-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83172 91177308-0d34-0410-b5e6-96231b3b80d8
* Assert that ConstantArrays are created with correctly-typed elements.Jeffrey Yasskin2009-09-301-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83168 91177308-0d34-0410-b5e6-96231b3b80d8
* Print tag name for MDNodes that are used to encode debug info. Devang Patel2009-09-301-1/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83160 91177308-0d34-0410-b5e6-96231b3b80d8
* Lookup handler name only when assertions are enabled.Devang Patel2009-09-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83114 91177308-0d34-0410-b5e6-96231b3b80d8
* Add removeMD().Devang Patel2009-09-291-15/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83107 91177308-0d34-0410-b5e6-96231b3b80d8
* Only one custom meadata of each kind can be attached with an instruction.Devang Patel2009-09-291-9/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8