Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Reapply r112091 and r111922, support for metadata linking, with a | Dan Gohman | 2010-08-26 | 1 | -21/+61 |
| | | | | | | | | | | | | | | fix: add a flag to MapValue and friends which indicates whether any module-level mappings are being made. In the common case of inlining, no module-level mappings are needed, so MapValue doesn't need to examine non-function-local metadata, which can be very expensive in the case of a large module with really deep metadata (e.g. a large C++ program compiled with -g). This flag is a little awkward; perhaps eventually it can be moved into the ClonedCodeInfo class. llvm-svn: 112190 | ||||
* | Revert r111922, "MapValue support for MDNodes. This is similar to r109117, | Daniel Dunbar | 2010-08-26 | 1 | -27/+8 |
| | | | | | | | except ...", it is causing *massive* performance regressions when building Clang with itself (-O3 -g). llvm-svn: 112158 | ||||
* | Revert r112091, "Remap metadata attached to instructions when remapping | Daniel Dunbar | 2010-08-26 | 1 | -12/+1 |
| | | | | | | individual ...", which depends on r111922, which I am reverting. llvm-svn: 112157 | ||||
* | Remap metadata attached to instructions when remapping individual | Dan Gohman | 2010-08-25 | 1 | -1/+12 |
| | | | | | | instructions, not when remapping modules. llvm-svn: 112091 | ||||
* | Use MapValue in the Linker instead of having a private function | Dan Gohman | 2010-08-24 | 1 | -1/+1 |
| | | | | | | | | which does the same thing. This eliminates redundant code and handles MDNodes better. MDNode linking still doesn't fully work yet though. llvm-svn: 111941 | ||||
* | MapValue support for MDNodes. This is similar to r109117, except | Dan Gohman | 2010-08-24 | 1 | -8/+27 |
| | | | | | | | | that it avoids a lot of unnecessary cloning by avoiding remapping MDNode cycles when none of the nodes in the cycle actually need to be remapped. Also it uses the new temporary MDNode mechanism. llvm-svn: 111922 | ||||
* | Revert this because we can't clone cyclic MDNodes which are creating during a | Nick Lewycky | 2010-07-24 | 1 | -3/+4 |
| | | | | | | build of llvm-gcc. llvm-svn: 109355 | ||||
* | Whether function-local or not, a MDNode may reference a Function in which case | Nick Lewycky | 2010-07-24 | 1 | -4/+3 |
| | | | | | | | it needs to be mapped to refer to the function in the new module, not the old one. Fixes PR7700. llvm-svn: 109353 | ||||
* | Speculatively revert 109117 | Devang Patel | 2010-07-22 | 1 | -27/+6 |
| | | | | llvm-svn: 109132 | ||||
* | Map MDNode correctly. | Devang Patel | 2010-07-22 | 1 | -6/+27 |
| | | | | | | A non function local MDNode can have an operand which is cloned by MapValue(). llvm-svn: 109117 | ||||
* | MDString is already checked earlier. | Devang Patel | 2010-07-02 | 1 | -1/+1 |
| | | | | llvm-svn: 107516 | ||||
* | Cosmetic change. | Devang Patel | 2010-06-23 | 1 | -4/+4 |
| | | | | | | Do not use "ValueMap" as a name for a local variable or an argument. llvm-svn: 106698 | ||||
* | Revert 106592 for now. It causes clang-selfhost build failure. | Devang Patel | 2010-06-22 | 1 | -34/+13 |
| | | | | llvm-svn: 106598 | ||||
* | If a metadata operand is seeded in value map and the metadata should also be ↵ | Devang Patel | 2010-06-22 | 1 | -13/+34 |
| | | | | | | | | | | | seeded in value map. This is not limited to function local metadata. Failure to seed metdata in such cases causes troubles when in a cloned module, metadata from a new module refers to values in old module. Usually this results in mysterious bugpoint crashes. For example, Checking to see if we can delete global inits: Unknown constant! UNREACHABLE executed at /d/g/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:904! llvm-svn: 106592 | ||||
* | Revert 106528. It is causing self host failures. | Devang Patel | 2010-06-22 | 1 | -5/+7 |
| | | | | llvm-svn: 106529 | ||||
* | Do not rely on DenseMap slot which can be easily invalidated when DenseMap ↵ | Devang Patel | 2010-06-22 | 1 | -7/+5 |
| | | | | | | grows. llvm-svn: 106528 | ||||
* | Rename ValueMapTy as ValueToValueMapTy to clearly indicate that this has no ↵ | Devang Patel | 2010-04-20 | 1 | -2/+2 |
| | | | | | | replationship with ADT/ValueMap. llvm-svn: 101950 | ||||
* | There is no need to install ValueMapper.h header. | Devang Patel | 2010-04-20 | 1 | -1/+1 |
| | | | | llvm-svn: 101949 | ||||
* | Avoid extra calls to MD->getNumOperands() | Victor Hernandez | 2010-01-26 | 1 | -1/+1 |
| | | | | llvm-svn: 94618 | ||||
* | It turns out that this #include is needed because otherwise | Chris Lattner | 2010-01-21 | 1 | -1/+1 |
| | | | | | | | | | ValueMapper.cpp ends up calling an out of line __ZNK4llvm12PATypeHolder3getEv, which is a template and llvm-config determines arbitrarily to use the one in libipo. This sucks, but keeping the #include is a reasonable workaround. llvm-svn: 94103 | ||||
* | unbreak the build, apparently without this transformutils starts depending ↵ | Chris Lattner | 2010-01-21 | 1 | -0/+1 |
| | | | | | | on libipa? llvm-svn: 94102 | ||||
* | tidy up | Chris Lattner | 2010-01-21 | 1 | -14/+7 |
| | | | | llvm-svn: 94101 | ||||
* | Don't need to include IntrinsicInst.h any more | Victor Hernandez | 2010-01-21 | 1 | -1/+0 |
| | | | | llvm-svn: 94092 | ||||
* | No need to map NULL operands of metadata | Victor Hernandez | 2010-01-21 | 1 | -1/+1 |
| | | | | llvm-svn: 94091 | ||||
* | Switch Elts from vector to SmallVector | Victor Hernandez | 2010-01-20 | 1 | -2/+1 |
| | | | | llvm-svn: 93989 | ||||
* | Map operands of all function-local metadata, not just metadata passed to ↵ | Victor Hernandez | 2010-01-20 | 1 | -19/+13 |
| | | | | | | llvm.dbg.declare intrinsics llvm-svn: 93979 | ||||
* | While mapping llvm.dbg.declare intrinsic manually map its operand, if possible, | Devang Patel | 2010-01-18 | 1 | -0/+18 |
| | | | | | | because it points to an alloca instruction through metadata. llvm-svn: 93757 | ||||
* | Revert 85678/85680. The decision is to stay with the current form of | Chris Lattner | 2009-11-01 | 1 | -7/+2 |
| | | | | | | | indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it for simplicity. llvm-svn: 85699 | ||||
* | adjust a couple xforms to work with null bb's in BlockAddress. | Chris Lattner | 2009-10-31 | 1 | -2/+7 |
| | | | | llvm-svn: 85680 | ||||
* | teach various passes about blockaddress. We no longer | Chris Lattner | 2009-10-29 | 1 | -2/+2 |
| | | | | | | crash on any clang tests. llvm-svn: 85465 | ||||
* | teach ValueMapper about BlockAddress', making bugpoint a lot more useful. | Chris Lattner | 2009-10-29 | 1 | -7/+10 |
| | | | | llvm-svn: 85458 | ||||
* | unindent massive blocks, no functionality change. | Chris Lattner | 2009-10-29 | 1 | -69/+75 |
| | | | | llvm-svn: 85457 | ||||
* | MapValue doesn't needs its LLVMContext argument. | Dan Gohman | 2009-10-24 | 1 | -10/+9 |
| | | | | llvm-svn: 85020 | ||||
* | Rename MDNode.h header. It defines MDnode and other metadata classes. | Devang Patel | 2009-07-28 | 1 | -1/+1 |
| | | | | | | New name is Metadata.h. llvm-svn: 77370 | ||||
* | Return ConstantVector to 2.5 API. | Owen Anderson | 2009-07-28 | 1 | -1/+1 |
| | | | | llvm-svn: 77366 | ||||
* | Change ConstantArray to 2.5 API. | Owen Anderson | 2009-07-28 | 1 | -1/+1 |
| | | | | llvm-svn: 77347 | ||||
* | Move ConstantStruct back to 2.5 API. | Owen Anderson | 2009-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 77266 | ||||
* | Do not seed mstadata into the value map. | Devang Patel | 2009-07-27 | 1 | -25/+4 |
| | | | | llvm-svn: 77208 | ||||
* | Get rid of the Pass+Context magic. | Owen Anderson | 2009-07-22 | 1 | -5/+5 |
| | | | | llvm-svn: 76702 | ||||
* | llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. | Torok Edwin | 2009-07-14 | 1 | -1/+1 |
| | | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640 | ||||
* | assert(0) -> LLVM_UNREACHABLE. | Torok Edwin | 2009-07-11 | 1 | -1/+2 |
| | | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379 | ||||
* | "LLVMContext* " --> "LLVMContext *" | Owen Anderson | 2009-07-06 | 1 | -1/+1 |
| | | | | llvm-svn: 74878 | ||||
* | More LLVMContext-ification. | Owen Anderson | 2009-07-05 | 1 | -15/+17 |
| | | | | llvm-svn: 74807 | ||||
* | Give embedded metadata its own type instead of relying on EmptyStructTy. | Nick Lewycky | 2009-05-30 | 1 | -1/+24 |
| | | | | llvm-svn: 72610 | ||||
* | rewrite operand loops to use iterators | Gabor Greif | 2008-05-30 | 1 | -24/+26 |
| | | | | llvm-svn: 51789 | ||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | Forget to commit users part of value mapper interface | Anton Korobeynikov | 2007-11-09 | 1 | -1/+1 |
| | | | | llvm-svn: 43940 | ||||
* | Fix comments about vectors to use the current wording. | Dan Gohman | 2007-07-16 | 1 | -2/+2 |
| | | | | llvm-svn: 39921 | ||||
* | fix an obscure and tricky bug the inliner can hit sometimes. | Chris Lattner | 2007-02-23 | 1 | -1/+1 |
| | | | | llvm-svn: 34531 | ||||
* | For PR1195: | Reid Spencer | 2007-02-15 | 1 | -2/+2 |
| | | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293 |