-
Notifications
You must be signed in to change notification settings - Fork 14.8k
[TailDuplicator] Determine if computed gotos using blockaddress
#132536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-backend-x86 Author: dianqk (dianqk) ChangesUsing Alternative: Add the Full diff: https://github.com/llvm/llvm-project/pull/132536.diff 3 Files Affected:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I verified that this fixes the problems we've found so far, but I can't say anything about the correctness or other aspects of this approach.
Please ensure the buildkite errors are not related to this PR. |
10353d6
to
4ed0b5f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isIndirectBranch is a low level instruction query. I expect it to inform of properties that directly apply to the instruction itself, and it is inappropriate for it to inspect the CFG. This code should be moved somewhere else
I moved this to |
%7:gr64 = COPY $rax | ||
%0:gr64 = COPY %7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could compact the register numbers, these will be renumbered on MIR parse which can be confusing when later debugging the testacy
/cherry-pick 66f158d |
/pull-request #133082 |
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/162/builds/18918 Here is the relevant piece of the build log for the reference
|
…vm#132536) Using `blockaddress` should be more reliable than determining if an operand comes from a jump table index. Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when lowering `indirectbr`. But I don't think this approach is suitable to backport. (cherry picked from commit 66f158d)
…vm#132536) Using `blockaddress` should be more reliable than determining if an operand comes from a jump table index. Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when lowering `indirectbr`. But I don't think this approach is suitable to backport. (cherry picked from commit 66f158d)
…vm#132536) Using `blockaddress` should be more reliable than determining if an operand comes from a jump table index. Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when lowering `indirectbr`. But I don't think this approach is suitable to backport. (cherry picked from commit 66f158d)
…vm#132536) Using `blockaddress` should be more reliable than determining if an operand comes from a jump table index. Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when lowering `indirectbr`. But I don't think this approach is suitable to backport. (cherry picked from commit 66f158d)
…vm#132536) Using `blockaddress` should be more reliable than determining if an operand comes from a jump table index. Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when lowering `indirectbr`. But I don't think this approach is suitable to backport. (cherry picked from commit 66f158d)
Using
blockaddress
should be more reliable than determining if an operand comes from a jump table index.Alternative: Add the
MachineInstr::MIFlag::ComputedGoto
flag when loweringindirectbr
. But I don't think this approach is suitable to backport.I can confirm that Ajla and CPython are both fine.