summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ExecutionDepsFix.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Track reference count independently from clear().Jakob Stoklund Olesen2011-11-081-4/+4
| | | | | | This allows clear() to be called on a DomainValue with references. llvm-svn: 144147
* Call release() directly when cleaning up the remaining DomainValues.Jakob Stoklund Olesen2011-11-081-5/+3
| | | | | | There is no need to involve the LiveRegs array and kill() any longer. llvm-svn: 144133
* Rename all methods to follow style guide.Jakob Stoklund Olesen2011-11-081-42/+42
| | | | | | No functional change. llvm-svn: 144132
* Handle reference counts in one function: release().Jakob Stoklund Olesen2011-11-081-15/+18
| | | | | | | | | | This new function will decrement the reference count, and collapse a domain value when the last reference is gone. This simplifies DomainValue reference counting, and decouples it from the LiveRegs array. llvm-svn: 144131
* Clear old DomainValue after merging.Jakob Stoklund Olesen2011-11-081-1/+6
| | | | | | | | | | | | The old value may still be referenced by some live-out list, and we don't wan't to collapse those instructions twice. This fixes the "Can only swizzle VMOVD" assertion in some armv7 SPEC builds. <rdar://problem/10413292> llvm-svn: 144117
* Kill and collapse outstanding DomainValues.Jakob Stoklund Olesen2011-11-071-5/+14
| | | | | | | | | | | | DomainValues that are only used by "don't care" instructions are now collapsed to the first possible execution domain after all basic blocks have been processed. This typically means the PS domain on x86. For example, the vsel_i64 and vsel_double functions in sse2-blend.ll are completely collapsed to the PS domain instead of containing a mix of execution domains created by isel. llvm-svn: 144037
* Use a reverse post order instead of a DFS order.Jakob Stoklund Olesen2011-11-071-6/+5
| | | | | | | | The enterBasicBlock() function is combining live-out values from predecessor blocks. The RPO traversal means that more predecessors have been visited when that happens, only back-edges are missing. llvm-svn: 144025
* Extract two methods. No functional change.Jakob Stoklund Olesen2011-11-071-18/+26
| | | | llvm-svn: 144020
* MBB doesn't need to be a class member.Jakob Stoklund Olesen2011-11-071-6/+4
| | | | llvm-svn: 144015
* Fix pass name after the source was moved.Jakob Stoklund Olesen2011-11-071-1/+1
| | | | llvm-svn: 144014
* Rename class and clean up source.Jakob Stoklund Olesen2011-09-281-25/+28
| | | | | | No functional change intended. llvm-svn: 140664
* Rename SSEDomainFix -> lib/CodeGen/ExecutionDepsFix.Jakob Stoklund Olesen2011-09-281-0/+520
I'll clean up the source in the next commit. llvm-svn: 140663
OpenPOWER on IntegriCloud