If a tied source operand was undef, it would be replaced but not
update the other tied operand, which would end up using different
virtual registers.
Details
Details
- Reviewers
MatzeB
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Good catch, LGTM.
lib/CodeGen/RenameIndependentSubregs.cpp | ||
---|---|---|
246–247 | Could you add a comment along the lines of ` | |
test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir | ||
2–23 | Do you actually need the IR, see also: http://llvm.org/docs/MIRLangRef.html#simplifying-mir-files |
test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir | ||
---|---|---|
2–23 | It complains if I try to remove it entirely. It seems to want the blocks at least |
test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir | ||
---|---|---|
2–23 | You have to use the bb.0 instead of bb.0.bb etc. (the .bb at the end is a reference to the IR block). |
Could you add a comment along the lines of `
/// Undef use operands are not tracked in the equivalence class but need to be update if they are tied.