- User Since
- Dec 23 2015, 3:07 AM (352 w, 5 d)
Aug 6 2017
I agree with the sift by one proposal and I apologize that we didn't catch this error on our end.
Apparently, there are some immediate operands that have the same value (e.g. 0).
For these, the OpIdx is not used, but it was computed anyway (and caused the out of bounds error).
Aug 3 2017
We managed to reproduce this using Visual Studio; thank you for your patience.
The issue was that for Tied operand, the OpIdx is an index in Inst, not in the Operands vector.
Since we subtracted 1 for the mnemonic, we had an underflow access in the array.
For Tied Operands, we don't need the array at all since the index is in the Inst, not the Operands.
Aug 2 2017
Thank you for your reply.
Jul 31 2017
Can you please tell which tests? And how did you ran them?
Jul 30 2017
Yes, thank you.
Jul 28 2017
Added requested comment.
Unfortunately, the only in-tree target that uses IsOptional attribute is AMDGPU.
Jun 9 2017
Thank you for the review.
I do not have commit access; I would appreciate it if someone can commit this.
Jun 7 2017
Updated as per comments.
Jan 31 2016
Thank you for the review!
Can someone help me commit this?
Dec 30 2015
I've updated the comment just above the changes.
Also, I've computed the EmissionSize based on the min of (Size - 1) and Remaining.
This is closer to the original implementation.
If Size is a number that is not a power of 2 (e.g. 7), this should result in a 4+2+1 split in normal cases.
If the target does not support 4, instead of looping we will split as 2+2+2+1; the 2 values may be split as 1+1 if required.