[llvm-dev] EnableFastISel
Yaniv via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 30 14:50:25 PDT 2017
Not the right mailing list?
On Tue, 2017-10-24 at 00:55 +0300, Yaniv wrote:
> Hi,
>
> In SelectionDAGISel::SelectAllBasicBlocks
>
> if (TM.Options.EnableFastISel)
> FastIS = TLI->createFastISel(*FuncInfo, LibInfo);
>
> followed by
>
> if (!FastIS) {
> LowerArguments(Fn);
> } else {
>
> The above implies that implementing FastIS is optional.
>
>
> In contrast to that, testing whether FastIS is actually been used is
> done by testing if TM.Options.EnableFastISel is set.
>
> For example in SelectionDAGISel::LowerArguments
>
> SDB->setValue(&Arg, Res);
> if (!TM.Options.EnableFastISel && Res.getOpcode() ==
> ISD::BUILD_PAIR) {
> if (LoadSDNode *LNode =
> dyn_cast<LoadSDNode>(Res.getOperand(0).getNode()))
> if (FrameIndexSDNode *FI =
> dyn_cast<FrameIndexSDNode>(LNode-
> >getBasePtr().getNode()))
> FuncInfo->setArgumentFrameIndex(&Arg, FI->getIndex());
> }
>
>
> Is it in BUG or am I missing something?
>
> Thanks,
> Yaniv
More information about the llvm-dev
mailing list