summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveVariables.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Bugs: missing partial uses and redundant partial defs.Evan Cheng2007-08-011-4/+20
| | | | llvm-svn: 40688
* Don't assume that only Uses can be kills. Defs are marked as kills initiallyDan Gohman2007-07-201-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 Cheng2007-07-171-1/+0
| | | | llvm-svn: 39979
* Replace std::set with SmallPtrSet.Evan Cheng2007-06-271-3/+5
| | | | llvm-svn: 37746
* Properly handle kills of a physical register which has sub-registers that ↵Evan Cheng2007-06-261-13/+73
| | | | | | are read by later instructions. llvm-svn: 37739
* When marking a register as being implicitly defined, make sure to clear its ↵Evan Cheng2007-05-141-0/+2
| | | | | | partial use info as well. llvm-svn: 37046
* Eliminate MarkVirtRegAliveInBlock recursion.Evan Cheng2007-05-081-4/+17
| | | | llvm-svn: 36943
* Drop 'const'Devang Patel2007-05-031-1/+1
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-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 Patel2007-05-011-0/+1
| | | | llvm-svn: 36632
* Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.Evan Cheng2007-04-261-1/+2
| | | | llvm-svn: 36483
* Minor bug.Evan Cheng2007-04-261-2/+2
| | | | llvm-svn: 36473
* Be careful when to add implicit kill / dead operands. Don't add them during ↵Evan Cheng2007-04-261-9/+17
| | | | | | / post reg-allocation. llvm-svn: 36458
* Clean up.Evan Cheng2007-04-251-3/+1
| | | | llvm-svn: 36449
* Data structure change to improve compile time (especially in debug mode).Evan Cheng2007-04-251-12/+23
| | | | llvm-svn: 36447
* Fix for PR1306.Evan Cheng2007-04-251-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 Cheng2007-04-181-8/+1
| | | | llvm-svn: 36250
* Keep track of number of uses within the function per virtual register.Evan Cheng2007-04-171-0/+1
| | | | llvm-svn: 36214
* Track the BB's where each virtual register is used.Evan Cheng2007-03-171-15/+22
| | | | llvm-svn: 35135
* If a virtual register is already marked alive in this block, that means it isEvan Cheng2007-03-091-1/+6
| | | | | | alive in one of the successor block. Do not add it to the kill list. llvm-svn: 35041
* Avoid variable shadowing.Evan Cheng2007-03-091-2/+2
| | | | llvm-svn: 35039
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-191-28/+8
| | | | llvm-svn: 34428
* For PR1207:Reid Spencer2007-02-191-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 Cheng2007-02-171-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 physicalEvan Cheng2007-02-131-8/+8
| | | | | | | registers. Make sure liveinterval analysis is correctly creating live ranges for them. llvm-svn: 34217
* Removed more <iostream> includesBill Wendling2006-12-071-10/+9
| | | | llvm-svn: 32321
* Do away with kill / dead maps. Move kill / dead info onto MI's.Evan Cheng2006-11-151-81/+107
| | | | llvm-svn: 31759
* Add implicit def / use operands to MachineInstr.Evan Cheng2006-11-101-17/+2
| | | | llvm-svn: 31633
* For PR786:Reid Spencer2006-11-021-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 instructionBill Wendling2006-10-031-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 operandsChris Lattner2006-09-051-2/+2
| | | | llvm-svn: 30118
* Move two methods out of line, make them work when the record for a machineChris Lattner2006-09-031-0/+36
| | | | | | instruction includes physregs. llvm-svn: 30061
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29921
* Eliminate data relocations by using NULL instead of global empty list.Jim Laskey2006-07-211-6/+10
| | | | llvm-svn: 29250
* Remove a bunch more dead V9 specific stuffChris Lattner2006-05-041-8/+6
| | | | llvm-svn: 28094
* Add a LiveVariables::VarInfo::dump methodChris Lattner2006-01-041-0/+20
| | | | llvm-svn: 25080
* Add section switching to common code generator code. Add a couple ofChris Lattner2005-11-211-2/+3
| | | | | | asserts. llvm-svn: 24445
* Implement LiveVariables.h changeChris Lattner2005-08-241-0/+30
| | | | llvm-svn: 22994
* adjust to new live variables interfaceChris Lattner2005-08-231-22/+24
| | | | llvm-svn: 22992
* allow a virtual register to be associated with live-in values.Chris Lattner2005-05-131-4/+4
| | | | llvm-svn: 21927
* Remove trailing whitespaceMisha Brukman2005-04-211-10/+10
| | | | llvm-svn: 21420
* Consider the livein/out set for a function, allowing targets to not have toChris Lattner2005-04-091-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 Lattner2005-01-191-1/+2
| | | | llvm-svn: 19696
* When an instruction moves, make sure to update the VarInfo::Kills list asChris Lattner2005-01-191-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. PatchChris Lattner2004-10-251-5/+5
| | | | | | contributed by Morten Ofstad llvm-svn: 17217
* Changes For Bug 352Reid Spencer2004-09-011-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 Evlogimenos2004-09-011-0/+2
| | | | llvm-svn: 16135
* Remove dead code.Alkis Evlogimenos2004-08-281-1/+0
| | | | llvm-svn: 16077
* Use newly added API in MRegisterInfo and don't expose the allocatableAlkis Evlogimenos2004-08-261-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 nowChris Lattner2004-07-191-9/+9
| | | | | | ask instructions for their parent. llvm-svn: 14998
OpenPOWER on IntegriCloud