Diff Detail
Event Timeline
I guess the same question applies here as to the other change: Why is this a legalization change and not an instruction selection one?
Need to move atomic early exit, and remove feature check since gfx10 features are broken
The legalizer's job is to get instructions to have the right operand types. If we expanded this in instruction selection, we wouldn't get the combining benefit of the pack/unpack instructions (and they could be inside a waterfall loop inserted during RegBankSelect)
Rebase, call observer, and use wrapper instruction to avoid figuring out when it's been already legalized
Thank you, this looks good to me modulo one question.
llvm/lib/Target/AMDGPU/SIInstructions.td | ||
---|---|---|
2269–2285 | What about atomics? They should be mayLoad = mayStore = 1, right? |
If you plan to handle image atomics in a later patch, then just go ahead with this one.
What about atomics? They should be mayLoad = mayStore = 1, right?