[llvm-dev] EnableFastISel
Yaniv via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 23 14:55:32 PDT 2017
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