Details
Diff Detail
Event Timeline
Hi @c-rhodes, could you add a description of why this refactoring is needed please? It's just not really obvious to me at least why we're shuffling code around.
Hi @david-arm, whilst adding legal types <-> register classes for Streaming SVE (D118561) I noticed that hasSVE predication block set operation actions for opcodes that may not be legal in Streaming SVE, and given there's another hasSVE further down that sets actions with loops over the same types I thought it made more sense to move them there.
Hi @c-rhodes, thanks for the explanation! Could you add something like that to the commit message please? Then I'm happy to accept!
I agree with @david-arm that the commit message would benefit from some extra words. Otherwise, LGTM!
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
1179–1182 | nit: I thought the default was Legal, so maybe these 4 lines can be removed? |
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
1179–1182 |
That crossed my mind as well, but these opcodes default to expand (set in TargetLoweringBase). A warning in setOperationAction when marking an operation that is legal by default legal might be nice, or even when setting it to the same operation, but I suspect there will be many such occurrences. |
nit: I thought the default was Legal, so maybe these 4 lines can be removed?