The code to determine the value size was overcomplicated and only
correct in the case where the result register already had a register
class assigned. We can always take the size directly from the
register's type.
Details
- Reviewers
foad kerbowa nhaehnle hsmhsm madhur13490
Diff Detail
Event Timeline
It's hard to see which test diffs are relevant. Could you commit some changes (like tweaks to the implicit operands on S_ENDPGM) separately?
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fconstant.mir | ||
---|---|---|
140–141 | I'm confused - how are these lines testing anything different than lines 134-135? |
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fconstant.mir | ||
---|---|---|
140–141 | The %2, %3 cases already worked because they have uses on the copy instruction, which constrained the source register class so this worked. The %4/%5 cases do not have uses that will be constrained to a regclass, so this would hit the broken path for getting the register size |
These will fail to select and require the -global-isel-abort=0 hack, which I'm trying to stop using
I'm confused - how are these lines testing anything different than lines 134-135?