[PATCH] D23601: [TII] add new target hook isAdd
Hal Finkel via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 18 02:21:17 PDT 2016
hfinkel added a subscriber: hfinkel.
hfinkel added a comment.
In https://reviews.llvm.org/D23601#518810, @qcolombet wrote:
> Hi,
>
> If we start adding more semantic of the instructions to TargetInstrInfo, I think we need to think more broadly on how to do that. Otherwise, I am afraid the API will not be consistent on the long run. E.g., why would we have isAdd and not isSub?
> To be fair, the API is probably already broken, but there is not bad time to start fixing the problems :).
>
> I am supportive of the idea of adding semantic, I am not convince a bunch of target hooks is necessarily the best approach or at least, having to populate those target hooks by hand.
> At the very least, we should be able to annotate the instruction with isAdd in the td file and generate the hook in tablegen.
>
> Cheers,
> -Quentin
I'd really like an interface that allows converting from an MI entity to something with known semantics; I think that, with the new generic opcodes being introduced for GlobalISel, we have a good opportunity here. How about the following interface (modulo bikeshedding)?
MachineOperand *Op0, *Op1, *Op2;
if (TII->convertToGenericOp(MI, Op0, Op1, Op2) == G_ADD) {
// This MI is equivalent to Op0 = G_ADD Op1, Op2
}
https://reviews.llvm.org/D23601
More information about the llvm-commits
mailing list