mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
Rename DIBlock as DILexicalBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a5505cb9c9
commit
5e005d814f
@ -96,6 +96,7 @@ namespace llvm {
|
||||
bool isGlobalVariable() const;
|
||||
bool isScope() const;
|
||||
bool isCompileUnit() const;
|
||||
bool isLexicalBlock() const;
|
||||
};
|
||||
|
||||
/// DISubrange - This is used to represent ranges, for array bounds.
|
||||
@ -419,12 +420,14 @@ namespace llvm {
|
||||
void dump() const;
|
||||
};
|
||||
|
||||
/// DIBlock - This is a wrapper for a block (e.g. a function, scope, etc).
|
||||
class DIBlock : public DIDescriptor {
|
||||
/// DILexicalBlock - This is a wrapper for a lexical block.
|
||||
class DILexicalBlock : public DIScope {
|
||||
public:
|
||||
explicit DIBlock(MDNode *N = 0)
|
||||
: DIDescriptor(N, dwarf::DW_TAG_lexical_block) {}
|
||||
|
||||
explicit DILexicalBlock(MDNode *N = 0) {
|
||||
DbgNode = N;
|
||||
if (DbgNode && !isLexicalBlock())
|
||||
DbgNode = 0;
|
||||
}
|
||||
DIDescriptor getContext() const { return getDescriptorField(1); }
|
||||
};
|
||||
|
||||
@ -524,9 +527,9 @@ namespace llvm {
|
||||
DICompileUnit CompileUnit, unsigned LineNo,
|
||||
DIType Type);
|
||||
|
||||
/// CreateBlock - This creates a descriptor for a lexical block with the
|
||||
/// specified parent context.
|
||||
DIBlock CreateBlock(DIDescriptor Context);
|
||||
/// CreateLexicalBlock - This creates a descriptor for a lexical block
|
||||
/// with the specified parent context.
|
||||
DILexicalBlock CreateLexicalBlock(DIDescriptor Context);
|
||||
|
||||
/// InsertStopPoint - Create a new llvm.dbg.stoppoint intrinsic invocation,
|
||||
/// inserting it at the end of the specified basic block.
|
||||
|
@ -235,6 +235,14 @@ bool DIDescriptor::isCompileUnit() const {
|
||||
return Tag == dwarf::DW_TAG_compile_unit;
|
||||
}
|
||||
|
||||
/// isLexicalBlock - Return true if the specified tag is DW_TAG_lexical_block.
|
||||
bool DIDescriptor::isLexicalBlock() const {
|
||||
assert (!isNull() && "Invalid descriptor!");
|
||||
unsigned Tag = getTag();
|
||||
|
||||
return Tag == dwarf::DW_TAG_lexical_block;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Simple Descriptor Constructors and other Methods
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -758,12 +766,12 @@ DIVariable DIFactory::CreateVariable(unsigned Tag, DIDescriptor Context,
|
||||
|
||||
/// CreateBlock - This creates a descriptor for a lexical block with the
|
||||
/// specified parent VMContext.
|
||||
DIBlock DIFactory::CreateBlock(DIDescriptor Context) {
|
||||
DILexicalBlock DIFactory::CreateLexicalBlock(DIDescriptor Context) {
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(dwarf::DW_TAG_lexical_block),
|
||||
Context.getNode()
|
||||
};
|
||||
return DIBlock(MDNode::get(VMContext, &Elts[0], 2));
|
||||
return DILexicalBlock(MDNode::get(VMContext, &Elts[0], 2));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1222,7 +1222,7 @@ DbgScope *DwarfDebug::getOrCreateScope(MDNode *N) {
|
||||
if (Slot) return Slot;
|
||||
|
||||
DbgScope *Parent = NULL;
|
||||
DIBlock Block(N);
|
||||
DILexicalBlock Block(N);
|
||||
|
||||
// Don't create a new scope if we already created one for an inlined function.
|
||||
DenseMap<const MDNode *, DbgScope *>::iterator
|
||||
|
Loading…
Reference in New Issue
Block a user