Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Bugs: missing partial uses and redundant partial defs. | Evan Cheng | 2007-08-01 | 1 | -4/+20 | |
| | | | | llvm-svn: 40688 | |||||
* | Don't assume that only Uses can be kills. Defs are marked as kills initially | Dan Gohman | 2007-07-20 | 1 | -8/+6 | |
| | | | | | | | | when there are no uses. This fixes a dangling-pointer bug, where pointers to deleted instructions were not removed from kills lists. More info here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html llvm-svn: 40131 | |||||
* | Dead code. | Evan Cheng | 2007-07-17 | 1 | -1/+0 | |
| | | | | llvm-svn: 39979 | |||||
* | Replace std::set with SmallPtrSet. | Evan Cheng | 2007-06-27 | 1 | -3/+5 | |
| | | | | llvm-svn: 37746 | |||||
* | Properly handle kills of a physical register which has sub-registers that ↵ | Evan Cheng | 2007-06-26 | 1 | -13/+73 | |
| | | | | | | are read by later instructions. llvm-svn: 37739 | |||||
* | When marking a register as being implicitly defined, make sure to clear its ↵ | Evan Cheng | 2007-05-14 | 1 | -0/+2 | |
| | | | | | | partial use info as well. llvm-svn: 37046 | |||||
* | Eliminate MarkVirtRegAliveInBlock recursion. | Evan Cheng | 2007-05-08 | 1 | -4/+17 | |
| | | | | llvm-svn: 36943 | |||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 36662 | |||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -1/+1 | |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | |||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -0/+1 | |
| | | | | llvm-svn: 36632 | |||||
* | Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion. | Evan Cheng | 2007-04-26 | 1 | -1/+2 | |
| | | | | llvm-svn: 36483 | |||||
* | Minor bug. | Evan Cheng | 2007-04-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 36473 | |||||
* | Be careful when to add implicit kill / dead operands. Don't add them during ↵ | Evan Cheng | 2007-04-26 | 1 | -9/+17 | |
| | | | | | | / post reg-allocation. llvm-svn: 36458 | |||||
* | Clean up. | Evan Cheng | 2007-04-25 | 1 | -3/+1 | |
| | | | | llvm-svn: 36449 | |||||
* | Data structure change to improve compile time (especially in debug mode). | Evan Cheng | 2007-04-25 | 1 | -12/+23 | |
| | | | | llvm-svn: 36447 | |||||
* | Fix for PR1306. | Evan Cheng | 2007-04-25 | 1 | -37/+132 | |
| | | | | | | | | | - A register def / use now implicitly affects sub-register liveness but does not affect liveness information of super-registers. - Def of a larger register (if followed by a use later) is treated as read/mod/write of a smaller register. llvm-svn: 36434 | |||||
* | VarInfo::UsedBlocks is no longer used. Remove. | Evan Cheng | 2007-04-18 | 1 | -8/+1 | |
| | | | | llvm-svn: 36250 | |||||
* | Keep track of number of uses within the function per virtual register. | Evan Cheng | 2007-04-17 | 1 | -0/+1 | |
| | | | | llvm-svn: 36214 | |||||
* | Track the BB's where each virtual register is used. | Evan Cheng | 2007-03-17 | 1 | -15/+22 | |
| | | | | llvm-svn: 35135 | |||||
* | If a virtual register is already marked alive in this block, that means it is | Evan Cheng | 2007-03-09 | 1 | -1/+6 | |
| | | | | | | alive in one of the successor block. Do not add it to the kill list. llvm-svn: 35041 | |||||
* | Avoid variable shadowing. | Evan Cheng | 2007-03-09 | 1 | -2/+2 | |
| | | | | llvm-svn: 35039 | |||||
* | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -28/+8 | |
| | | | | llvm-svn: 34428 | |||||
* | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -8/+28 | |
| | | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399 | |||||
* | - Use MRegister::regsOverlap(). | Evan Cheng | 2007-02-17 | 1 | -28/+8 | |
| | | | | | | - Allow LiveVariables to track liveness of more registers. llvm-svn: 34379 | |||||
* | Allow any MachineBasicBlock (not just the entry block) to have live-in physical | Evan Cheng | 2007-02-13 | 1 | -8/+8 | |
| | | | | | | | registers. Make sure liveinterval analysis is correctly creating live ranges for them. llvm-svn: 34217 | |||||
* | Removed more <iostream> includes | Bill Wendling | 2006-12-07 | 1 | -10/+9 | |
| | | | | llvm-svn: 32321 | |||||
* | Do away with kill / dead maps. Move kill / dead info onto MI's. | Evan Cheng | 2006-11-15 | 1 | -81/+107 | |
| | | | | llvm-svn: 31759 | |||||
* | Add implicit def / use operands to MachineInstr. | Evan Cheng | 2006-11-10 | 1 | -17/+2 | |
| | | | | llvm-svn: 31633 | |||||
* | For PR786: | Reid Spencer | 2006-11-02 | 1 | -1/+0 | |
| | | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380 | |||||
* | Fix for PR929. The PHI nodes were being gone through for each instruction | Bill Wendling | 2006-10-03 | 1 | -21/+26 | |
| | | | | | | | | in a successor block for every block...resulting in some O(N^k) algorithm which wasn't very good for performance. Calculating this information up front and keeping it in a map made it much faster. llvm-svn: 30697 | |||||
* | Only call isUse/isDef on register operands | Chris Lattner | 2006-09-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 30118 | |||||
* | Move two methods out of line, make them work when the record for a machine | Chris Lattner | 2006-09-03 | 1 | -0/+36 | |
| | | | | | | instruction includes physregs. llvm-svn: 30061 | |||||
* | Eliminate RegisterAnalysis. RegisterPass now does all that is necessary. | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 29921 | |||||
* | Eliminate data relocations by using NULL instead of global empty list. | Jim Laskey | 2006-07-21 | 1 | -6/+10 | |
| | | | | llvm-svn: 29250 | |||||
* | Remove a bunch more dead V9 specific stuff | Chris Lattner | 2006-05-04 | 1 | -8/+6 | |
| | | | | llvm-svn: 28094 | |||||
* | Add a LiveVariables::VarInfo::dump method | Chris Lattner | 2006-01-04 | 1 | -0/+20 | |
| | | | | llvm-svn: 25080 | |||||
* | Add section switching to common code generator code. Add a couple of | Chris Lattner | 2005-11-21 | 1 | -2/+3 | |
| | | | | | | asserts. llvm-svn: 24445 | |||||
* | Implement LiveVariables.h change | Chris Lattner | 2005-08-24 | 1 | -0/+30 | |
| | | | | llvm-svn: 22994 | |||||
* | adjust to new live variables interface | Chris Lattner | 2005-08-23 | 1 | -22/+24 | |
| | | | | llvm-svn: 22992 | |||||
* | allow a virtual register to be associated with live-in values. | Chris Lattner | 2005-05-13 | 1 | -4/+4 | |
| | | | | llvm-svn: 21927 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -10/+10 | |
| | | | | llvm-svn: 21420 | |||||
* | Consider the livein/out set for a function, allowing targets to not have to | Chris Lattner | 2005-04-09 | 1 | -0/+20 | |
| | | | | | | use ugly imp_def/imp_uses for arguments and return values. llvm-svn: 21180 | |||||
* | Just in case, handle something that is both a use and a def. | Chris Lattner | 2005-01-19 | 1 | -1/+2 | |
| | | | | llvm-svn: 19696 | |||||
* | When an instruction moves, make sure to update the VarInfo::Kills list as | Chris Lattner | 2005-01-19 | 1 | -3/+10 | |
| | | | | | | | well as all of teh other stuff in livevar. This fixes the compiler crash on fourinarow last night. llvm-svn: 19695 | |||||
* | Do not use variable sized arrays in C++, they are non-portable. Patch | Chris Lattner | 2004-10-25 | 1 | -5/+5 | |
| | | | | | | contributed by Morten Ofstad llvm-svn: 17217 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -2/+2 | |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | |||||
* | Give a better assertion if we see a use before a def. | Alkis Evlogimenos | 2004-09-01 | 1 | -0/+2 | |
| | | | | llvm-svn: 16135 | |||||
* | Remove dead code. | Alkis Evlogimenos | 2004-08-28 | 1 | -1/+0 | |
| | | | | llvm-svn: 16077 | |||||
* | Use newly added API in MRegisterInfo and don't expose the allocatable | Alkis Evlogimenos | 2004-08-26 | 1 | -13/+1 | |
| | | | | | | register set anymore. Its users now use the MRegisterInfo API. llvm-svn: 16061 | |||||
* | There is no need to store the MBB along with the MI any more, we can now | Chris Lattner | 2004-07-19 | 1 | -9/+9 | |
| | | | | | | ask instructions for their parent. llvm-svn: 14998 |