| Issue |
91665
|
| Summary |
GVNHoist: Split Parent when profitable to do so.
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
hiraditya
|
GVNHoist currently bails out unless a value is fully anticipable at a dominator. It may be profitable to split the parents and create a common dominator for all the basic blocks that have a fully anticipable value. e.g.,
```
BB
/ | \
/ | \
BB1(v) BB2(v) BB3
```
If only BB1 and BB2 has `v`(for an instruction `I`). it might be profitable to create a common predecessor for BB1,BB2 and hoist `I` there.
```
BB
/ \
BB0 (v) \
/ | \
/ | \
BB1 BB2 BB3
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs