Commit 2a49719
authored
[SelectionDAGBuilder] Look for appropriate INLINEASM_BR instruction to verify (#152591)
Partially fix #149023.
The original code `MRI.def_begin(Reg)->getParent()` may return the
incorrect MI, as the physical register `Reg` may have multiple
definitions.
This patch selects the correct MI to verify by comparing the MBB of each
definition.
New testcase hangs with -O1/2/3 enabled. The BranchFolding may be to
blame.1 parent 48da848 commit 2a49719
File tree
2 files changed
+56
-4
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen/X86
2 files changed
+56
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12744 | 12744 | | |
12745 | 12745 | | |
12746 | 12746 | | |
| 12747 | + | |
| 12748 | + | |
| 12749 | + | |
12747 | 12750 | | |
| 12751 | + | |
12748 | 12752 | | |
12749 | 12753 | | |
12750 | 12754 | | |
12751 | 12755 | | |
12752 | 12756 | | |
12753 | | - | |
| 12757 | + | |
| 12758 | + | |
| 12759 | + | |
| 12760 | + | |
12754 | 12761 | | |
12755 | | - | |
12756 | | - | |
12757 | | - | |
| 12762 | + | |
12758 | 12763 | | |
12759 | 12764 | | |
12760 | 12765 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
0 commit comments