[PATCH] D91157: [AArch64] Out-of-line atomics (-moutline-atomics) implementation.
Pavel Iliin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 19 07:22:20 PST 2020
ilinpv added a comment.
Have you got any further comments?
================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:2170
+ SmallVector<SDValue, 4> Ops;
+ if (TLI.getLibcallName(LC)) {
+ Ops.append(Node->op_begin() + 2, Node->op_end());
----------------
t.p.northover wrote:
> jyknight wrote:
> > t.p.northover wrote:
> > > I think this is a bit of an abuse of the `LibcallName` mechanism. A separate function in `TargetLowering` would probably be better.
> > I don't think that's odd or unusual -- we often condition libcall availability on getLibcallName != nullptr.
> >
> > What does strike me here is the (pre-existing) code duplication between this function (DAGTypeLegalizer::ExapndAtomic) and SelectionDAGLegalize::ConvertNodeToLibcall. Not sure what's up with that...
> Fair enough. Didn't realise it was that common.
I noticed this existed duplication too, but find no proper place to put common functionality from DAGTypeLegalizer and SelectionDAGLegalize.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91157/new/
https://reviews.llvm.org/D91157
More information about the cfe-commits
mailing list