| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 300704
|
|
|
|
|
|
| |
Use Liveness::getNearestAliasedRef to find the reaching def instead.
llvm-svn: 297526
|
|
|
|
|
|
|
|
|
|
| |
Defining nodes should not alias with one another, while clobbering
nodes can. When pushing defs on stacks, push clobbers first, link
non-clobbering defs, then push the defs.
The data flow in a statement is now: uses -> clobbers -> defs.
llvm-svn: 295356
|
|
|
|
|
|
|
|
|
| |
Use PackedRegisterRef to store the register information in the graph nodes.
This commit also removes support for virtual registers. It has never been
tested or used. It will be possible to add it back if there is a need.
llvm-svn: 284255
|
|
|
|
| |
llvm-svn: 283122
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 270980
|
|
|
|
|
|
|
| |
When updating the graph, make sure that new uses without reaching defs
are handled correctly.
llvm-svn: 267891
|
|
|
|
|
|
|
| |
- Allow any instruction to define equality between registers.
- Keep the DFG updated.
llvm-svn: 258075
|
|
This is a very limited implementation of DFG-based copy propagation.
It only handles actual COPY instructions (does not handle other equivalents
such as add-immediate with a 0 operand).
The major limitation is that it does not update the DFG: that will be the
change required to make it more robust (hopefully coming up soon).
llvm-svn: 257490
|