aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/CBackend/CBackend.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2010-04-16 23:37:20 +0000
committerEric Christopher <echristo@apple.com>2010-04-16 23:37:20 +0000
commit551754c4958086cc6910da7c950f2875e212f5cf (patch)
tree0287e856d7bde9ea8c3e629ffb889a78b778f634 /lib/Target/CBackend/CBackend.cpp
parentf2548caaa8b290aa598bf49c27dff72f7751ba5c (diff)
Revert 101465, it broke internal OpenGL testing.
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CBackend/CBackend.cpp')
-rw-r--r--lib/Target/CBackend/CBackend.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 1aa17b446f..67f513b098 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -2886,7 +2886,7 @@ void CWriter::visitCallInst(CallInst &I) {
bool hasByVal = I.hasByValArgument();
bool isStructRet = I.hasStructRetAttr();
if (isStructRet) {
- writeOperandDeref(I.getOperand(0));
+ writeOperandDeref(I.getOperand(1));
Out << " = ";
}
@@ -2942,7 +2942,7 @@ void CWriter::visitCallInst(CallInst &I) {
unsigned NumDeclaredParams = FTy->getNumParams();
- CallInst::op_iterator AI = I.op_begin(), AE = I.op_end() - 1;
+ CallSite::arg_iterator AI = I.op_begin()+1, AE = I.op_end();
unsigned ArgNo = 0;
if (isStructRet) { // Skip struct return argument.
++AI;
@@ -2996,7 +2996,7 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
Out << "0; ";
Out << "va_start(*(va_list*)";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ", ";
// Output the last argument to the enclosing function.
if (I.getParent()->getParent()->arg_empty())
@@ -3006,9 +3006,9 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
Out << ')';
return true;
case Intrinsic::vaend:
- if (!isa<ConstantPointerNull>(I.getOperand(0))) {
+ if (!isa<ConstantPointerNull>(I.getOperand(1))) {
Out << "0; va_end(*(va_list*)";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ')';
} else {
Out << "va_end(*(va_list*)0)";
@@ -3017,47 +3017,47 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
case Intrinsic::vacopy:
Out << "0; ";
Out << "va_copy(*(va_list*)";
- writeOperand(I.getOperand(0));
- Out << ", *(va_list*)";
writeOperand(I.getOperand(1));
+ Out << ", *(va_list*)";
+ writeOperand(I.getOperand(2));
Out << ')';
return true;
case Intrinsic::returnaddress:
Out << "__builtin_return_address(";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ')';
return true;
case Intrinsic::frameaddress:
Out << "__builtin_frame_address(";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ')';
return true;
case Intrinsic::powi:
Out << "__builtin_powi(";
- writeOperand(I.getOperand(0));
- Out << ", ";
writeOperand(I.getOperand(1));
+ Out << ", ";
+ writeOperand(I.getOperand(2));
Out << ')';
return true;
case Intrinsic::setjmp:
Out << "setjmp(*(jmp_buf*)";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ')';
return true;
case Intrinsic::longjmp:
Out << "longjmp(*(jmp_buf*)";
- writeOperand(I.getOperand(0));
- Out << ", ";
writeOperand(I.getOperand(1));
+ Out << ", ";
+ writeOperand(I.getOperand(2));
Out << ')';
return true;
case Intrinsic::prefetch:
Out << "LLVM_PREFETCH((const void *)";
- writeOperand(I.getOperand(0));
- Out << ", ";
writeOperand(I.getOperand(1));
Out << ", ";
writeOperand(I.getOperand(2));
+ Out << ", ";
+ writeOperand(I.getOperand(3));
Out << ")";
return true;
case Intrinsic::stacksave:
@@ -3074,7 +3074,7 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
printType(Out, I.getType());
Out << ')';
// Multiple GCC builtins multiplex onto this intrinsic.
- switch (cast<ConstantInt>(I.getOperand(2))->getZExtValue()) {
+ switch (cast<ConstantInt>(I.getOperand(3))->getZExtValue()) {
default: llvm_unreachable("Invalid llvm.x86.sse.cmp!");
case 0: Out << "__builtin_ia32_cmpeq"; break;
case 1: Out << "__builtin_ia32_cmplt"; break;
@@ -3095,9 +3095,9 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
Out << 'd';
Out << "(";
- writeOperand(I.getOperand(0));
- Out << ", ";
writeOperand(I.getOperand(1));
+ Out << ", ";
+ writeOperand(I.getOperand(2));
Out << ")";
return true;
case Intrinsic::ppc_altivec_lvsl:
@@ -3105,7 +3105,7 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
printType(Out, I.getType());
Out << ')';
Out << "__builtin_altivec_lvsl(0, (void*)";
- writeOperand(I.getOperand(0));
+ writeOperand(I.getOperand(1));
Out << ")";
return true;
}
@@ -3218,7 +3218,7 @@ void CWriter::visitInlineAsm(CallInst &CI) {
DestVal = ResultVals[ValueCount].first;
DestValNo = ResultVals[ValueCount].second;
} else
- DestVal = CI.getOperand(ValueCount-ResultVals.size());
+ DestVal = CI.getOperand(ValueCount-ResultVals.size()+1);
if (I->isEarlyClobber)
C = "&"+C;
@@ -3252,7 +3252,7 @@ void CWriter::visitInlineAsm(CallInst &CI) {
}
assert(ValueCount >= ResultVals.size() && "Input can't refer to result");
- Value *SrcVal = CI.getOperand(ValueCount-ResultVals.size());
+ Value *SrcVal = CI.getOperand(ValueCount-ResultVals.size()+1);
Out << "\"" << C << "\"(";
if (!I->isIndirect)