mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
use ArgOperand API (found by my previous commit)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107482 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
524e92b0fd
commit
9d135f0ba5
@ -808,7 +808,7 @@ void MSILWriter::printIntrinsicCall(const IntrinsicInst* Inst) {
|
||||
std::string Name;
|
||||
switch (Inst->getIntrinsicID()) {
|
||||
case Intrinsic::vastart:
|
||||
Name = getValueName(Inst->getOperand(1));
|
||||
Name = getValueName(Inst->getArgOperand(0));
|
||||
Name.insert(Name.length()-1,"$valist");
|
||||
// Obtain the argument handle.
|
||||
printSimpleInstruction("ldloca",Name.c_str());
|
||||
@ -817,20 +817,20 @@ void MSILWriter::printIntrinsicCall(const IntrinsicInst* Inst) {
|
||||
"instance void [mscorlib]System.ArgIterator::.ctor"
|
||||
"(valuetype [mscorlib]System.RuntimeArgumentHandle)");
|
||||
// Save as pointer type "void*"
|
||||
printValueLoad(Inst->getOperand(1));
|
||||
printValueLoad(Inst->getArgOperand(0));
|
||||
printSimpleInstruction("ldloca",Name.c_str());
|
||||
printIndirectSave(PointerType::getUnqual(
|
||||
IntegerType::get(Inst->getContext(), 8)));
|
||||
break;
|
||||
case Intrinsic::vaend:
|
||||
// Close argument list handle.
|
||||
printIndirectLoad(Inst->getOperand(1));
|
||||
printIndirectLoad(Inst->getArgOperand(0));
|
||||
printSimpleInstruction("call","instance void [mscorlib]System.ArgIterator::End()");
|
||||
break;
|
||||
case Intrinsic::vacopy:
|
||||
// Copy "ArgIterator" valuetype.
|
||||
printIndirectLoad(Inst->getOperand(1));
|
||||
printIndirectLoad(Inst->getOperand(2));
|
||||
printIndirectLoad(Inst->getArgOperand(0));
|
||||
printIndirectLoad(Inst->getArgOperand(1));
|
||||
printSimpleInstruction("cpobj","[mscorlib]System.ArgIterator");
|
||||
break;
|
||||
default:
|
||||
@ -1281,7 +1281,7 @@ void MSILWriter::printLocalVariables(const Function& F) {
|
||||
case Intrinsic::vaend:
|
||||
case Intrinsic::vacopy:
|
||||
isVaList = true;
|
||||
VaList = Inst->getOperand(1);
|
||||
VaList = Inst->getArgOperand(0);
|
||||
break;
|
||||
default:
|
||||
isVaList = false;
|
||||
|
Loading…
Reference in New Issue
Block a user