mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 18:33:22 +00:00
cppbackend support for indbr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85312 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f0dca28da7
commit
627b470981
@ -1118,13 +1118,13 @@ namespace {
|
||||
break;
|
||||
}
|
||||
case Instruction::Switch: {
|
||||
const SwitchInst* sw = cast<SwitchInst>(I);
|
||||
const SwitchInst *SI = cast<SwitchInst>(I);
|
||||
Out << "SwitchInst* " << iName << " = SwitchInst::Create("
|
||||
<< opNames[0] << ", "
|
||||
<< opNames[1] << ", "
|
||||
<< sw->getNumCases() << ", " << bbname << ");";
|
||||
<< SI->getNumCases() << ", " << bbname << ");";
|
||||
nl(Out);
|
||||
for (unsigned i = 2; i < sw->getNumOperands(); i += 2 ) {
|
||||
for (unsigned i = 2; i != SI->getNumOperands(); i += 2) {
|
||||
Out << iName << "->addCase("
|
||||
<< opNames[i] << ", "
|
||||
<< opNames[i+1] << ");";
|
||||
@ -1132,6 +1132,17 @@ namespace {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Instruction::IndBr: {
|
||||
const IndBrInst *IBI = cast<IndBrInst>(I);
|
||||
Out << "IndBrInst *" << iName << " = IndBrInst::Create("
|
||||
<< opNames[0] << ", " << IBI->getNumDestinations() << ");";
|
||||
nl(Out);
|
||||
for (unsigned i = 1; i != IBI->getNumOperands(); ++i) {
|
||||
Out << iName << "->addDestination(" << opNames[i] << ");";
|
||||
nl(Out);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Instruction::Invoke: {
|
||||
const InvokeInst* inv = cast<InvokeInst>(I);
|
||||
Out << "std::vector<Value*> " << iName << "_params;";
|
||||
|
Loading…
x
Reference in New Issue
Block a user