mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
Cleaned up my last check-in.
llvm-svn: 4014
This commit is contained in:
parent
f9aa2b4886
commit
5d1a2cf4b1
@ -1018,73 +1018,13 @@ void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
|
||||
User::op_iterator E) {
|
||||
bool HasImplicitAddress = false;
|
||||
// If accessing a global value with no indexing, avoid *(&GV) syndrome
|
||||
if (GlobalValue *V = dyn_cast<GlobalValue>(Ptr)) {
|
||||
HasImplicitAddress = true;
|
||||
} else if (ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(Ptr)) {
|
||||
HasImplicitAddress = true;
|
||||
Ptr = CPR->getValue(); // Get to the global...
|
||||
}
|
||||
|
||||
if (I == E) {
|
||||
if (!HasImplicitAddress)
|
||||
Out << "*"; // Implicit zero first argument: '*x' is equivalent to 'x[0]'
|
||||
|
||||
writeOperandInternal(Ptr);
|
||||
return;
|
||||
}
|
||||
|
||||
const Constant *CI = dyn_cast<Constant>(I->get());
|
||||
if (HasImplicitAddress && (!CI || !CI->isNullValue()))
|
||||
Out << "(&";
|
||||
|
||||
writeOperandInternal(Ptr);
|
||||
|
||||
if (HasImplicitAddress && (!CI || !CI->isNullValue())) {
|
||||
Out << ")";
|
||||
HasImplicitAddress = false; // HIA is only true if we haven't addressed yet
|
||||
}
|
||||
|
||||
assert(!HasImplicitAddress || (CI && CI->isNullValue()) &&
|
||||
"Can only have implicit address with direct accessing");
|
||||
|
||||
if (HasImplicitAddress) {
|
||||
++I;
|
||||
} else if (CI && CI->isNullValue() && I+1 != E) {
|
||||
// Print out the -> operator if possible...
|
||||
if ((*(I+1))->getType() == Type::UByteTy) {
|
||||
Out << (HasImplicitAddress ? "." : "->");
|
||||
Out << "field" << cast<ConstantUInt>(*(I+1))->getValue();
|
||||
I += 2;
|
||||
}
|
||||
}
|
||||
|
||||
for (; I != E; ++I)
|
||||
if ((*I)->getType() == Type::LongTy) {
|
||||
Out << "[";
|
||||
writeOperand(*I);
|
||||
Out << "]";
|
||||
} else {
|
||||
Out << ".field" << cast<ConstantUInt>(*I)->getValue();
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void CWriter::visitLoadInst(LoadInst &I) {
|
||||
//Out << "*";
|
||||
writeOperand(I.getOperand(0));
|
||||
}
|
||||
|
||||
void CWriter::visitStoreInst(StoreInst &I) {
|
||||
//Out << "*";
|
||||
Out << "*";
|
||||
writeOperand(I.getPointerOperand());
|
||||
Out << " = ";
|
||||
writeOperand(I.getOperand(0));
|
||||
|
Loading…
Reference in New Issue
Block a user