| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Rename SuccessorNumber to GetSuccessorNumber. | Bob Wilson | 2010-02-16 | 1 | -5/+6 |
| | | | | | llvm-svn: 96387 | ||||
| * | Refactor to share code to find the position of a basic block successor in the | Bob Wilson | 2010-02-16 | 1 | -11/+17 |
| | | | | | | | terminator's list of successors. llvm-svn: 96377 | ||||
| * | There are two ways of checking for a given type, for example isa<PointerType>(T) | Duncan Sands | 2010-02-16 | 4 | -17/+17 |
| | | | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344 | ||||
| * | fix PR6305 by handling BlockAddress in a helper function | Chris Lattner | 2010-02-15 | 1 | -0/+11 |
| | | | | | | | called by jump threading. llvm-svn: 96263 | ||||
| * | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -1/+1 |
| | | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223 | ||||
| * | Speed up codegen prepare from 3.58s to 0.488s. | Chris Lattner | 2010-02-13 | 1 | -19/+52 |
| | | | | | llvm-svn: 96081 | ||||
| * | PHINode::getBasicBlockIndex is O(n) in the number of inputs | Chris Lattner | 2010-02-13 | 1 | -3/+10 |
| | | | | | | | | | to a PHI, avoid it in the common case where the BB occurs in the same index for multiple phis. This speeds up CGP on an insane testcase from 8.35 to 3.58s. llvm-svn: 96080 | ||||
| * | iterate over preds using PHI information when available instead of | Chris Lattner | 2010-02-13 | 1 | -6/+14 |
| | | | | | | | using pred_begin/end. It is much faster. llvm-svn: 96079 | ||||
| * | Teach SimplifyCFG about magic pointer constants. | Jakob Stoklund Olesen | 2010-02-05 | 1 | -33/+111 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Weird code sometimes uses pointer constants other than null. This patch teaches SimplifyCFG to build switch instructions in those cases. Code like this: void f(const char *x) { if (!x) puts("null"); else if ((uintptr_t)x == 1) puts("one"); else if (x == (char*)2 || x == (char*)3) puts("two"); else if ((intptr_t)x == 4) puts("four"); else puts(x); } Now becomes a switch: define void @f(i8* %x) nounwind ssp { entry: %magicptr23 = ptrtoint i8* %x to i64 ; <i64> [#uses=1] switch i64 %magicptr23, label %if.else16 [ i64 0, label %if.then i64 1, label %if.then2 i64 2, label %if.then9 i64 3, label %if.then9 i64 4, label %if.then14 ] Note that LLVM's own DenseMap uses magic pointers. llvm-svn: 95439 | ||||
| * | Use a SmallSetVector instead of a SetVector; this code showed up as a | Dan Gohman | 2010-02-05 | 1 | -2/+3 |
| | | | | | | | malloc caller in a profile. llvm-svn: 95407 | ||||
| * | Fix pr6198 by moving the isSized() check to an outer conditional. | Bob Wilson | 2010-02-01 | 1 | -6/+8 |
| | | | | | | | | The testcase from pr6198 does not crash for me -- I don't know what's up with that -- so I'm not adding it to the tests. llvm-svn: 94984 | ||||
| * | Check alignment of loads when deciding whether it is safe to execute them | Bob Wilson | 2010-01-30 | 1 | -7/+14 |
| | | | | | | | | unconditionally. Besides checking the offset, also check that the underlying object is aligned as much as the load itself. llvm-svn: 94875 | ||||
| * | Use uint64_t instead of unsigned for offsets and sizes. | Bob Wilson | 2010-01-29 | 1 | -3/+3 |
| | | | | | llvm-svn: 94835 | ||||
| * | Improve isSafeToLoadUnconditionally to recognize that GEPs with constant | Bob Wilson | 2010-01-29 | 1 | -8/+61 |
| | | | | | | | | indices are safe if the result is known to be within the bounds of the underlying object. llvm-svn: 94829 | ||||
| * | mem2reg erases the dbg.declare intrinsics that it converts to dbg.val intrinsics | Victor Hernandez | 2010-01-29 | 1 | -3/+13 |
| | | | | | llvm-svn: 94763 | ||||
| * | Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock. | Bob Wilson | 2010-01-27 | 1 | -41/+75 |
| | | | | | | | | This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've just changed SSAUpdater to check for existing PHIs in both places. llvm-svn: 94690 | ||||
| * | Don't bother with sprintf, just pass the Twine through. | Benjamin Kramer | 2010-01-27 | 2 | -6/+2 |
| | | | | | llvm-svn: 94684 | ||||
| * | some cleanups. | Chris Lattner | 2010-01-27 | 1 | -14/+15 |
| | | | | | llvm-svn: 94649 | ||||
| * | no need to check for null | Chris Lattner | 2010-01-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 94648 | ||||
| * | When converting dbg.declare to dbg.value, attach promoted store's debug ↵ | Victor Hernandez | 2010-01-27 | 1 | -1/+4 |
| | | | | | | | metadata to dbg.value llvm-svn: 94634 | ||||
| * | Avoid extra calls to MD->getNumOperands() | Victor Hernandez | 2010-01-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 94618 | ||||
| * | Switch AllocaDbgDeclares to SmallVector and don't leak DIFactory | Victor Hernandez | 2010-01-26 | 1 | -1/+4 |
| | | | | | llvm-svn: 94567 | ||||
| * | In mem2reg, for all alloca/stores that get promoted where the alloca has an ↵ | Victor Hernandez | 2010-01-26 | 1 | -1/+52 |
| | | | | | | | associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store. llvm-svn: 94493 | ||||
| * | Revert r94260 until findDbgDeclare() is made more efficient | Victor Hernandez | 2010-01-25 | 1 | -38/+3 |
| | | | | | llvm-svn: 94432 | ||||
| * | make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. | Chris Lattner | 2010-01-24 | 1 | -1/+0 |
| | | | | | llvm-svn: 94378 | ||||
| * | In mem2reg, for all alloca/stores that get promoted where the alloca has an ↵ | Victor Hernandez | 2010-01-23 | 1 | -3/+38 |
| | | | | | | | associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store llvm-svn: 94260 | ||||
| * | Keep ignoring pointer-to-pointer bitcasts | Victor Hernandez | 2010-01-22 | 1 | -3/+0 |
| | | | | | llvm-svn: 94194 | ||||
| * | Stop building RTTI information for *most* llvm libraries. Notable | Chris Lattner | 2010-01-22 | 1 | -0/+1 |
| | | | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164 | ||||
| * | No need to look through bitcasts for DbgInfoIntrinsic | Victor Hernandez | 2010-01-21 | 1 | -5/+0 |
| | | | | | llvm-svn: 94114 | ||||
| * | DbgInfoIntrinsic no longer appear in an instruction's use list | Victor Hernandez | 2010-01-21 | 1 | -19/+4 |
| | | | | | llvm-svn: 94113 | ||||
| * | DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up ↵ | Victor Hernandez | 2010-01-21 | 1 | -24/+0 |
| | | | | | | | looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics() llvm-svn: 94111 | ||||
| * | 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 | ||||
| * | Fix a comment typo. | Bob Wilson | 2010-01-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 93560 | ||||
| * | add a helper function. | Chris Lattner | 2010-01-12 | 1 | -0/+24 |
| | | | | | llvm-svn: 93251 | ||||
| * | Fix nondeterministic behavior. | Julien Lerouge | 2010-01-10 | 1 | -9/+3 |
| | | | | | llvm-svn: 93093 | ||||
| * | Fix nondeterministic behavior. | Julien Lerouge | 2010-01-09 | 1 | -6/+7 |
| | | | | | llvm-svn: 93038 | ||||
| * | Convert a ton of simple integer type equality tests to the new predicate. | Benjamin Kramer | 2010-01-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 92760 | ||||
| * | Nick Lewycky pointed out that this code makes changes unconditionally. | Dan Gohman | 2010-01-05 | 1 | -1/+2 |
| | | | | | llvm-svn: 92739 | ||||
| * | Use do+while instead of while for loops which obviously have a | Dan Gohman | 2010-01-05 | 3 | -6/+6 |
| | | | | | | | non-zero trip count. Use SmallVector's pop_back_val(). llvm-svn: 92734 | ||||
| * | Make RecursivelyDeleteTriviallyDeadInstructions, | Dan Gohman | 2010-01-05 | 2 | -9/+17 |
| | | | | | | | | RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag indicating whether they made any changes. llvm-svn: 92732 | ||||
| * | Avoid going through the LLVMContext for type equality where it's safe to ↵ | Benjamin Kramer | 2010-01-05 | 7 | -8/+8 |
| | | | | | | | dereference the type pointer. llvm-svn: 92726 | ||||
| * | Change errs() to dbgs(). | David Greene | 2010-01-05 | 1 | -4/+4 |
| | | | | | llvm-svn: 92606 | ||||
| * | Change errs() to dbgs(). | David Greene | 2010-01-05 | 1 | -2/+3 |
| | | | | | llvm-svn: 92605 | ||||

