Revert r310014 as it breaks build lld-x86_64-darwin13

llvm-svn: 310020
This commit is contained in:
Victor Leschuk
2017-08-04 04:43:54 +00:00
parent 0b48042a65
commit 21713ebfb1
5 changed files with 10 additions and 325 deletions

View File

@@ -668,31 +668,10 @@ DIExpression *DIBuilder::createExpression(ArrayRef<int64_t> Signed) {
return createExpression(Addr);
}
DIExpression *DIBuilder::createFragmentExpression(unsigned OffsetInBits,
unsigned SizeInBits,
const DIExpression *Expr) {
SmallVector<uint64_t, 8> Ops;
// Copy over the expression, but leave off any trailing DW_OP_LLVM_fragment.
if (Expr) {
for (auto Op : Expr->expr_ops()) {
if (Op.getOp() == dwarf::DW_OP_LLVM_fragment) {
// Make the new offset point into the existing fragment.
uint64_t FragmentOffsetInBits = Op.getArg(0);
uint64_t FragmentSizeInBits = Op.getArg(1);
assert((OffsetInBits + SizeInBits <= FragmentSizeInBits) &&
"new fragment outside of original fragment");
OffsetInBits += FragmentOffsetInBits;
break;
}
Ops.push_back(Op.getOp());
for (unsigned I = 0; I < Op.getNumArgs(); ++I)
Ops.push_back(Op.getArg(I));
}
}
Ops.push_back(dwarf::DW_OP_LLVM_fragment);
Ops.push_back(OffsetInBits);
Ops.push_back(SizeInBits);
return DIExpression::get(VMContext, Ops);
DIExpression *DIBuilder::createFragmentExpression(unsigned OffsetInBytes,
unsigned SizeInBytes) {
uint64_t Addr[] = {dwarf::DW_OP_LLVM_fragment, OffsetInBytes, SizeInBytes};
return DIExpression::get(VMContext, Addr);
}
template <class... Ts>