mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
Enable first-class aggregates support.
Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -285,7 +285,6 @@ namespace {
|
||||
void visitInsertElementInst(InsertElementInst &I);
|
||||
void visitExtractElementInst(ExtractElementInst &I);
|
||||
void visitShuffleVectorInst(ShuffleVectorInst &SVI);
|
||||
void visitGetResultInst(GetResultInst &GRI);
|
||||
|
||||
void visitInsertValueInst(InsertValueInst &I);
|
||||
void visitExtractValueInst(ExtractValueInst &I);
|
||||
@ -3325,18 +3324,6 @@ void CWriter::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
||||
Out << "}";
|
||||
}
|
||||
|
||||
void CWriter::visitGetResultInst(GetResultInst &GRI) {
|
||||
Out << "(";
|
||||
if (isa<UndefValue>(GRI.getOperand(0))) {
|
||||
Out << "(";
|
||||
printType(Out, GRI.getType());
|
||||
Out << ") 0/*UNDEF*/";
|
||||
} else {
|
||||
Out << GetValueName(GRI.getOperand(0)) << ".field" << GRI.getIndex();
|
||||
}
|
||||
Out << ")";
|
||||
}
|
||||
|
||||
void CWriter::visitInsertValueInst(InsertValueInst &IVI) {
|
||||
// Start by copying the entire aggregate value into the result variable.
|
||||
writeOperand(IVI.getOperand(0));
|
||||
|
Reference in New Issue
Block a user