Make labels work in asm blocks; allow labels as

parameters.  Rename ValueRefList to ParamList
in AsmParser, since its only use is for parameters.

llvm-svn: 43734
This commit is contained in:
Dale Johannesen
2007-11-05 21:20:28 +00:00
parent 58473ab478
commit 4646aa3e33
11 changed files with 921 additions and 793 deletions

View File

@@ -1506,7 +1506,10 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
SmallVector<Value*, 16> Args;
// Read the fixed params.
for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i, ++OpNum) {
Args.push_back(getFnValueByID(Record[OpNum], FTy->getParamType(i)));
if (FTy->getParamType(i)->getTypeID()==Type::LabelTyID)
Args.push_back(getBasicBlock(Record[OpNum]));
else
Args.push_back(getFnValueByID(Record[OpNum], FTy->getParamType(i)));
if (Args.back() == 0) return Error("Invalid CALL record");
}