index 4df958c5a033a666a913eda917f2f73c403768fb..14e07fcdb98ba41b8b0b3c35a0a25ac93fc4401f 100644 (file)
#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DWARFEXPRESSION_H
#define LLVM_LIB_CODEGEN_ASMPRINTER_DWARFEXPRESSION_H
-#include "llvm/Support/DataTypes.h"
#include "llvm/IR/DebugInfo.h"
+#include "llvm/Support/DataTypes.h"
namespace llvm {
void AddShr(unsigned ShiftBy);
/// Emit an indirect dwarf register operation for the given machine register.
- /// Returns false if no DWARF register exists for MachineReg.
+ /// \return false if no DWARF register exists for MachineReg.
bool AddMachineRegIndirect(unsigned MachineReg, int Offset = 0);
/// \brief Emit a partial DWARF register operation.
/// function will attempt to emit a DWARF register by emitting a
/// piece of a super-register or by piecing together multiple
/// subregisters that alias the register.
- void AddMachineRegPiece(unsigned MachineReg, unsigned PieceSizeInBits = 0,
+ ///
+ /// \return false if no DWARF register exists for MachineReg.
+ bool AddMachineRegPiece(unsigned MachineReg, unsigned PieceSizeInBits = 0,
unsigned PieceOffsetInBits = 0);
/// Emit a signed constant.
/// Emit an entire DIExpression on top of a machine register location.
/// \param PieceOffsetInBits If this is one piece out of a fragmented
/// location, this is the offset of the piece inside the entire variable.
- void AddMachineRegExpression(DIExpression Expr, unsigned MachineReg,
+ /// \return false if no DWARF register exists for MachineReg.
+ bool AddMachineRegExpression(DIExpression Expr, unsigned MachineReg,
unsigned PieceOffsetInBits = 0);
- /// Emit a the operations in a DIExpression, starting from element I.
+ /// Emit a the operations remaining the DIExpressionIterator I.
/// \param PieceOffsetInBits If this is one piece out of a fragmented
/// location, this is the offset of the piece inside the entire variable.
- void AddExpression(DIExpression Expr, unsigned PieceOffsetInBits = 0,
- unsigned I = 0);
+void AddExpression(DIExpression::iterator I, unsigned PieceOffsetInBits = 0);
};
/// DwarfExpression implementation for .debug_loc entries.