| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Avoid issue on 64-bit hosts. | Evan Cheng | 2007-08-17 | 1 | -1/+2 | |
| | | | | | llvm-svn: 41143 | |||||
| * | Fix GLIBCXX_DEBUG error of comparing two singular iterators | David Greene | 2007-08-17 | 1 | -3/+8 | |
| | | | | | llvm-svn: 41139 | |||||
| * | If dynamic_stackalloc alignment is > stack alignment, first issue an ↵ | Evan Cheng | 2007-08-16 | 1 | -5/+12 | |
| | | | | | | | instruction to align the stack ptr before the decrement. llvm-svn: 41133 | |||||
| * | - If a dynamic_stackalloc alignment requirement is <= stack alignment, then ↵ | Evan Cheng | 2007-08-16 | 1 | -12/+12 | |
| | | | | | | | | | | the alignment argument is ignored. - *Always* round up the size of the allocation to multiples of stack alignment to ensure the stack ptr is never left in an invalid state after a dynamic_stackalloc. llvm-svn: 41132 | |||||
| * | Factor out some code into a helper function. | Owen Anderson | 2007-08-16 | 1 | -55/+34 | |
| | | | | | llvm-svn: 41131 | |||||
| * | Fix the verification for overloaded intrinsic types. Check that they are | Dan Gohman | 2007-08-16 | 1 | -6/+19 | |
| | | | | | | | what they're supposed to be before using them. llvm-svn: 41130 | |||||
| * | Add some more comments to GVN. | Owen Anderson | 2007-08-16 | 1 | -0/+14 | |
| | | | | | llvm-svn: 41129 | |||||
| * | Add MVT::fAny for overloading intrinsics on floating-point types. | Dan Gohman | 2007-08-16 | 1 | -0/+14 | |
| | | | | | llvm-svn: 41128 | |||||
| * | Cache non-local memory dependence analysis. This is a significant compile | Owen Anderson | 2007-08-16 | 1 | -2/+22 | |
| | | | | | | | time performance win in most cases. llvm-svn: 41126 | |||||
| * | This adds a bunch of static functions that implement unsigned | Chris Lattner | 2007-08-16 | 1 | -0/+566 | |
| | | | | | | | | | | | | two's complement bignum arithmetic. They could be used to implement much of APInt, but the idea is they are enough to implement APFloat as well, which the current APInt interface is not suited for. Patch by Neil Booth! llvm-svn: 41124 | |||||
| * | Improve error handling in the linker by: | Reid Spencer | 2007-08-16 | 1 | -6/+6 | |
| | | | | | | | | | | | | | | 1. Eliminate redundant error messages. LinkInFile and LinkInArchive already call the error() method in each case so there's no use telling the user again that an item couldn't be linked in. 2. Improve the formatting of error messages (separating content). 3. Change the wording for the warning about unrecognized files. Make it clear that the file is being ignored. llvm-svn: 41121 | |||||
| * | Fix some kill info update bugs; add hidden option -disable-rematerialization ↵ | Evan Cheng | 2007-08-16 | 2 | -1/+16 | |
| | | | | | | | to turn off remat for debugging. llvm-svn: 41118 | |||||
| * | Ensure that error messages a propagated from calls to LinkInModule so they get | Reid Spencer | 2007-08-16 | 1 | -3/+4 | |
| | | | | | | | reported to the end user. llvm-svn: 41117 | |||||
| * | Implement FPOWI ExpandOp. | Lauro Ramos Venancio | 2007-08-15 | 1 | -0/+5 | |
| | | | | | | | Fix PR1287. llvm-svn: 41112 | |||||
| * | Properly use const qualifiers | Anton Korobeynikov | 2007-08-15 | 1 | -1/+1 | |
| | | | | | llvm-svn: 41111 | |||||
| * | If the source of a move is in spill slot, the reload may be folded to ↵ | Evan Cheng | 2007-08-15 | 1 | -13/+19 | |
| | | | | | | | essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live. llvm-svn: 41109 | |||||
| * | Move ReturnAddrIndex variable to X86MachineFunctionInfo structure. This fixed | Anton Korobeynikov | 2007-08-15 | 3 | -14/+24 | |
| | | | | | | | hard to catch bugs with retaddr lowering llvm-svn: 41104 | |||||
| * | add a note. | Chris Lattner | 2007-08-15 | 1 | -0/+3 | |
| | | | | | llvm-svn: 41103 | |||||
| * | Dominance frontier is now required. | Devang Patel | 2007-08-15 | 1 | -1/+1 | |
| | | | | | llvm-svn: 41096 | |||||
| * | Cleanup removeBlocks. | Devang Patel | 2007-08-15 | 1 | -56/+70 | |
| | | | | | | | | Use dominance frontier to fixup incoming edges of successor blocks not domianted by DeadBB. Use df_iterator to walk and delete basic blocks dominated by DeadBB. llvm-svn: 41095 | |||||
| * | Remove unneeded header file. | Reid Spencer | 2007-08-15 | 1 | -1/+0 | |
| | | | | | llvm-svn: 41094 | |||||
| * | Avoid triangle loops. | Devang Patel | 2007-08-15 | 1 | -4/+16 | |
| | | | | | llvm-svn: 41093 | |||||
| * | Break infinite loop. | Devang Patel | 2007-08-14 | 1 | -15/+17 | |
| | | | | | llvm-svn: 41091 | |||||
| * | Avoid nested loops at the moment. | Devang Patel | 2007-08-14 | 1 | -0/+4 | |
| | | | | | llvm-svn: 41090 | |||||
| * | - If a def is dead, do not spill it. | Evan Cheng | 2007-08-14 | 1 | -61/+115 | |
| | | | | | | | | - If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete the def MI as well. llvm-svn: 41086 | |||||
| * | Fix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of ↵ | Evan Cheng | 2007-08-14 | 1 | -0/+13 | |
| | | | | | | | its sub-registers may overlap with the interval of the copy that's being coalesced. llvm-svn: 41084 | |||||
| * | If a MI's def is remat as well as spilled, and the store is later deemed ↵ | Evan Cheng | 2007-08-14 | 1 | -2/+29 | |
| | | | | | | | dead, mark the def operand as isDead. llvm-svn: 41083 | |||||
| * | Fix dominance frontier update while removing blocks. | Devang Patel | 2007-08-14 | 1 | -7/+30 | |
| | | | | | llvm-svn: 41082 | |||||
| * | Eliminate PHI nodes with constant values during normal GVN processing, even when | Owen Anderson | 2007-08-14 | 1 | -1/+21 | |
| | | | | | | | they're not related to eliminating a load. llvm-svn: 41081 | |||||
| * | Be more aggressive in pruning unnecessary PHI nodes when doing PHI construction. | Owen Anderson | 2007-08-14 | 1 | -28/+47 | |
| | | | | | llvm-svn: 41080 | |||||
| * | Make GVN iterative. | Owen Anderson | 2007-08-14 | 1 | -1/+16 | |
| | | | | | llvm-svn: 41078 | |||||
| * | Fix a case where GVN was failing to return true when it had, in fact, modified | Owen Anderson | 2007-08-14 | 1 | -2/+11 | |
| | | | | | | | the function. llvm-svn: 41077 | |||||
| * | Assert sooner. Fix wordings. | Devang Patel | 2007-08-14 | 1 | -3/+2 | |
| | | | | | llvm-svn: 41075 | |||||
| * | If a spilled value is being reused and the use is a kill, that means there are | Evan Cheng | 2007-08-14 | 1 | -18/+32 | |
| | | | | | | | | no more uses within the MBB and the spilled value isn't live out of the MBB. Then it's safe to delete the spill store. llvm-svn: 41069 | |||||
| * | If a rematerializable def is not deleted, i.e. it is also spilled, check if the | Evan Cheng | 2007-08-14 | 1 | -11/+20 | |
| | | | | | | | spilled value is available for reuse. llvm-svn: 41067 | |||||
| * | Kill info update bugs. | Evan Cheng | 2007-08-14 | 2 | -2/+3 | |
| | | | | | llvm-svn: 41064 | |||||
| * | Handle last value assignments. | Devang Patel | 2007-08-14 | 1 | -14/+42 | |
| | | | | | llvm-svn: 41063 | |||||
| * | StartValue is already calculated. | Devang Patel | 2007-08-14 | 1 | -1/+0 | |
| | | | | | llvm-svn: 41062 | |||||
| * | Re-implement trivial rematerialization. This allows def MIs whose live ↵ | Evan Cheng | 2007-08-13 | 5 | -273/+379 | |
| | | | | | | | intervals that are coalesced to be rematerialized. llvm-svn: 41060 | |||||
| * | Fix a typo pointd out by Maarten ter Huurne. | Evan Cheng | 2007-08-13 | 1 | -1/+1 | |
| | | | | | llvm-svn: 41059 | |||||
| * | Preserve simple analysis. | Devang Patel | 2007-08-13 | 1 | -4/+5 | |
| | | | | | llvm-svn: 41054 | |||||
| * | Preserve dominator info. | Devang Patel | 2007-08-13 | 1 | -32/+46 | |
| | | | | | llvm-svn: 41053 | |||||
| * | Add methods to erase basic block entry. | Devang Patel | 2007-08-13 | 1 | -0/+24 | |
| | | | | | llvm-svn: 41052 | |||||
| * | If NewBB dominates DestBB then DestBB is not part of NewBB's dominance frontier. | Devang Patel | 2007-08-13 | 1 | -1/+5 | |
| | | | | | llvm-svn: 41051 | |||||
| * | move assertion into mutex guard, a partial fix for PR1606. | Chris Lattner | 2007-08-13 | 1 | -1/+1 | |
| | | | | | llvm-svn: 41050 | |||||
| * | When x86 addresses matching exceeds its recursion limit, check to | Dan Gohman | 2007-08-13 | 1 | -6/+12 | |
| | | | | | | | | see if the base register is already occupied before assuming it can be used. This fixes bogus code generation in the accompanying testcase. llvm-svn: 41049 | |||||
| * | Fix PR1607 | Chris Lattner | 2007-08-13 | 1 | -3/+3 | |
| | | | | | llvm-svn: 41048 | |||||
| * | Constant fold: getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1) | Chris Lattner | 2007-08-13 | 1 | -1/+23 | |
| | | | | | | | | | | | | | | | | | | | | | Into: inttoptr (i64 0 to i8*) -> null This occurs in the example in PR1602. With this fixed, we now compile the example in PR1602 into fully "devirtualized" code: define void @_Z1g1S(%struct.S* noalias %s) { entry: %tmp131415 = getelementptr %struct.S* %s, i32 0, i32 0 ; <i32 (...)***> [#uses=1] %tmp16 = load i32 (...)*** %tmp131415, align 4 ; <i32 (...)**> [#uses=1] %tmp26277 = load i32 (...)** %tmp16 ; <i32 (...)*> [#uses=1] %tmp2829 = bitcast i32 (...)* %tmp26277 to void (%struct.S*)* ; <void (%struct.S*)*> [#uses=1] tail call void %tmp2829( %struct.S* %s ) ret void } This still has the vtable dispatch (as required) but does not have any pointer to method cruft left. llvm-svn: 41046 | |||||
| * | Kill info update bugs. | Evan Cheng | 2007-08-13 | 1 | -5/+2 | |
| | | | | | llvm-svn: 41043 | |||||
| * | Split loops and do CFG cleanup. | Devang Patel | 2007-08-12 | 1 | -24/+106 | |
| | | | | | llvm-svn: 41029 | |||||

