Commit 4d0a3ae
committed
[X86][Combine] Ensure single use chain in extract-load combine
The problem is that `SrcBC = peekThroughBitcasts(Src)` doesn't ensure
single use chain. It results in the situation when a cast may have
multiple users and instead of replacing a load we introduce a new one.
The situation is worsened by the fact that we've replaced the token from
the original load and its correct memory order now is not guaranteed.1 parent b605aab commit 4d0a3ae
File tree
2 files changed
+8
-4
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+8
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46258 | 46258 | | |
46259 | 46259 | | |
46260 | 46260 | | |
46261 | | - | |
| 46261 | + | |
| 46262 | + | |
46262 | 46263 | | |
46263 | 46264 | | |
46264 | 46265 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
| 576 | + | |
576 | 577 | | |
577 | | - | |
578 | | - | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
579 | 581 | | |
580 | 582 | | |
581 | 583 | | |
582 | | - | |
| 584 | + | |
583 | 585 | | |
| 586 | + | |
584 | 587 | | |
585 | 588 | | |
586 | 589 | | |
| |||
0 commit comments