Add comment re byval args. Doesn't actually work this way yet.

xs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102316 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dale Johannesen 2010-04-25 21:03:54 +00:00
parent 8e0bd80e38
commit 7dc7840850

View File

@ -340,6 +340,8 @@ bool FastISel::SelectCall(const User *I) {
return true; return true;
const AllocaInst *AI = dyn_cast<AllocaInst>(Address); const AllocaInst *AI = dyn_cast<AllocaInst>(Address);
// Don't handle byval struct arguments or VLAs, for example. // Don't handle byval struct arguments or VLAs, for example.
// Note that if we have a byval struct argument, fast ISel is turned off;
// those are handled in SelectionDAGBuilder.
if (!AI) break; if (!AI) break;
DenseMap<const AllocaInst*, int>::iterator SI = DenseMap<const AllocaInst*, int>::iterator SI =
StaticAllocaMap.find(AI); StaticAllocaMap.find(AI);
@ -347,7 +349,7 @@ bool FastISel::SelectCall(const User *I) {
int FI = SI->second; int FI = SI->second;
if (!DI->getDebugLoc().isUnknown()) if (!DI->getDebugLoc().isUnknown())
MF.getMMI().setVariableDbgInfo(DI->getVariable(), FI, DI->getDebugLoc()); MF.getMMI().setVariableDbgInfo(DI->getVariable(), FI, DI->getDebugLoc());
// Building the map above is target independent. Generating DBG_VALUE // Building the map above is target independent. Generating DBG_VALUE
// inline is target dependent; do this now. // inline is target dependent; do this now.
(void)TargetSelectInstruction(cast<Instruction>(I)); (void)TargetSelectInstruction(cast<Instruction>(I));