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