mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-28 23:38:59 +00:00
rename NewDebugLoc -> DebugLoc, prune #includes in DebugLoc.h.
This keeps around temporary typedef for clang/llvm-gcc so the build won't break when I commit this :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100218 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b494ccf02c
commit
84e679beea
@ -19,6 +19,7 @@
|
|||||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||||
#include "llvm/Support/DebugLoc.h"
|
#include "llvm/Support/DebugLoc.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
|
#include "llvm/ADT/DenseMap.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
class BlockAddress;
|
class BlockAddress;
|
||||||
|
@ -16,12 +16,13 @@
|
|||||||
#ifndef LLVM_CODEGEN_MACHINEINSTR_H
|
#ifndef LLVM_CODEGEN_MACHINEINSTR_H
|
||||||
#define LLVM_CODEGEN_MACHINEINSTR_H
|
#define LLVM_CODEGEN_MACHINEINSTR_H
|
||||||
|
|
||||||
#include "llvm/ADT/ilist.h"
|
|
||||||
#include "llvm/ADT/ilist_node.h"
|
|
||||||
#include "llvm/ADT/STLExtras.h"
|
|
||||||
#include "llvm/CodeGen/MachineOperand.h"
|
#include "llvm/CodeGen/MachineOperand.h"
|
||||||
#include "llvm/Target/TargetInstrDesc.h"
|
#include "llvm/Target/TargetInstrDesc.h"
|
||||||
#include "llvm/Target/TargetOpcodes.h"
|
#include "llvm/Target/TargetOpcodes.h"
|
||||||
|
#include "llvm/ADT/ilist.h"
|
||||||
|
#include "llvm/ADT/ilist_node.h"
|
||||||
|
#include "llvm/ADT/STLExtras.h"
|
||||||
|
#include "llvm/ADT/DenseMapInfo.h"
|
||||||
#include "llvm/Support/DebugLoc.h"
|
#include "llvm/Support/DebugLoc.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ class Instruction : public User, public ilist_node<Instruction> {
|
|||||||
Instruction(const Instruction &); // Do not implement
|
Instruction(const Instruction &); // Do not implement
|
||||||
|
|
||||||
BasicBlock *Parent;
|
BasicBlock *Parent;
|
||||||
NewDebugLoc DbgLoc; // 'dbg' Metadata cache.
|
DebugLoc DbgLoc; // 'dbg' Metadata cache.
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
/// HasMetadataBit - This is a bit stored in the SubClassData field which
|
/// HasMetadataBit - This is a bit stored in the SubClassData field which
|
||||||
@ -181,10 +181,10 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// setDebugLoc - Set the debug location information for this instruction.
|
/// setDebugLoc - Set the debug location information for this instruction.
|
||||||
void setDebugLoc(const NewDebugLoc &Loc) { DbgLoc = Loc; }
|
void setDebugLoc(const DebugLoc &Loc) { DbgLoc = Loc; }
|
||||||
|
|
||||||
/// getDebugLoc - Return the debug location for this node as a DebugLoc.
|
/// getDebugLoc - Return the debug location for this node as a DebugLoc.
|
||||||
const NewDebugLoc &getDebugLoc() const { return DbgLoc; }
|
const DebugLoc &getDebugLoc() const { return DbgLoc; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// hasMetadataHashEntry - Return true if we have an entry in the on-the-side
|
/// hasMetadataHashEntry - Return true if we have an entry in the on-the-side
|
||||||
|
@ -12,11 +12,8 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef LLVM_DEBUGLOC_H
|
#ifndef LLVM_SUPPORT_DEBUGLOC_H
|
||||||
#define LLVM_DEBUGLOC_H
|
#define LLVM_SUPPORT_DEBUGLOC_H
|
||||||
|
|
||||||
#include "llvm/ADT/DenseMap.h"
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
class MDNode;
|
class MDNode;
|
||||||
@ -25,7 +22,7 @@ namespace llvm {
|
|||||||
/// DebugLoc - Debug location id. This is carried by Instruction, SDNode,
|
/// DebugLoc - Debug location id. This is carried by Instruction, SDNode,
|
||||||
/// and MachineInstr to compactly encode file/line/scope information for an
|
/// and MachineInstr to compactly encode file/line/scope information for an
|
||||||
/// operation.
|
/// operation.
|
||||||
class NewDebugLoc {
|
class DebugLoc {
|
||||||
/// LineCol - This 32-bit value encodes the line and column number for the
|
/// LineCol - This 32-bit value encodes the line and column number for the
|
||||||
/// location, encoded as 24-bits for line and 8 bits for col. A value of 0
|
/// location, encoded as 24-bits for line and 8 bits for col. A value of 0
|
||||||
/// for either means unknown.
|
/// for either means unknown.
|
||||||
@ -35,15 +32,15 @@ namespace llvm {
|
|||||||
/// decoded by LLVMContext. 0 is unknown.
|
/// decoded by LLVMContext. 0 is unknown.
|
||||||
int ScopeIdx;
|
int ScopeIdx;
|
||||||
public:
|
public:
|
||||||
NewDebugLoc() : LineCol(0), ScopeIdx(0) {} // Defaults to unknown.
|
DebugLoc() : LineCol(0), ScopeIdx(0) {} // Defaults to unknown.
|
||||||
|
|
||||||
/// get - Get a new DebugLoc that corresponds to the specified line/col
|
/// get - Get a new DebugLoc that corresponds to the specified line/col
|
||||||
/// scope/inline location.
|
/// scope/inline location.
|
||||||
static NewDebugLoc get(unsigned Line, unsigned Col,
|
static DebugLoc get(unsigned Line, unsigned Col,
|
||||||
MDNode *Scope, MDNode *InlinedAt = 0);
|
MDNode *Scope, MDNode *InlinedAt = 0);
|
||||||
|
|
||||||
/// getFromDILocation - Translate the DILocation quad into a NewDebugLoc.
|
/// getFromDILocation - Translate the DILocation quad into a DebugLoc.
|
||||||
static NewDebugLoc getFromDILocation(MDNode *N);
|
static DebugLoc getFromDILocation(MDNode *N);
|
||||||
|
|
||||||
/// isUnknown - Return true if this is an unknown location.
|
/// isUnknown - Return true if this is an unknown location.
|
||||||
bool isUnknown() const { return ScopeIdx == 0; }
|
bool isUnknown() const { return ScopeIdx == 0; }
|
||||||
@ -73,20 +70,13 @@ namespace llvm {
|
|||||||
/// DILocation compatible MDNode.
|
/// DILocation compatible MDNode.
|
||||||
MDNode *getAsMDNode(const LLVMContext &Ctx) const;
|
MDNode *getAsMDNode(const LLVMContext &Ctx) const;
|
||||||
|
|
||||||
bool operator==(const NewDebugLoc &DL) const {
|
bool operator==(const DebugLoc &DL) const {
|
||||||
return LineCol == DL.LineCol && ScopeIdx == DL.ScopeIdx;
|
return LineCol == DL.LineCol && ScopeIdx == DL.ScopeIdx;
|
||||||
}
|
}
|
||||||
bool operator!=(const NewDebugLoc &DL) const { return !(*this == DL); }
|
bool operator!=(const DebugLoc &DL) const { return !(*this == DL); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static NewDebugLoc getUnknownLoc() { NewDebugLoc L; return L; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef DebugLoc NewDebugLoc;
|
||||||
typedef NewDebugLoc DebugLoc;
|
|
||||||
|
|
||||||
} // end namespace llvm
|
} // end namespace llvm
|
||||||
|
|
||||||
#endif /* LLVM_DEBUGLOC_H */
|
#endif /* LLVM_DEBUGLOC_H */
|
||||||
|
@ -40,7 +40,7 @@ protected:
|
|||||||
|
|
||||||
/// IRBuilderBase - Common base class shared among various IRBuilders.
|
/// IRBuilderBase - Common base class shared among various IRBuilders.
|
||||||
class IRBuilderBase {
|
class IRBuilderBase {
|
||||||
NewDebugLoc CurDbgLocation;
|
DebugLoc CurDbgLocation;
|
||||||
protected:
|
protected:
|
||||||
BasicBlock *BB;
|
BasicBlock *BB;
|
||||||
BasicBlock::iterator InsertPt;
|
BasicBlock::iterator InsertPt;
|
||||||
@ -82,13 +82,13 @@ public:
|
|||||||
|
|
||||||
/// SetCurrentDebugLocation - Set location information used by debugging
|
/// SetCurrentDebugLocation - Set location information used by debugging
|
||||||
/// information.
|
/// information.
|
||||||
void SetCurrentDebugLocation(const NewDebugLoc &L) {
|
void SetCurrentDebugLocation(const DebugLoc &L) {
|
||||||
CurDbgLocation = L;
|
CurDbgLocation = L;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getCurrentDebugLocation - Get location information used by debugging
|
/// getCurrentDebugLocation - Get location information used by debugging
|
||||||
/// information.
|
/// information.
|
||||||
const NewDebugLoc &getCurrentDebugLocation() const { return CurDbgLocation; }
|
const DebugLoc &getCurrentDebugLocation() const { return CurDbgLocation; }
|
||||||
|
|
||||||
/// SetInstDebugLocation - If this builder has a current debug location, set
|
/// SetInstDebugLocation - If this builder has a current debug location, set
|
||||||
/// it on the specified instruction.
|
/// it on the specified instruction.
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
class MachineFunction;
|
class MachineFunction;
|
||||||
class NewDebugLoc; typedef NewDebugLoc DebugLoc;
|
class DebugLoc;
|
||||||
namespace PIC16Dbg {
|
namespace PIC16Dbg {
|
||||||
enum VarType {
|
enum VarType {
|
||||||
T_NULL,
|
T_NULL,
|
||||||
|
@ -1671,7 +1671,7 @@ void LLVMDisposeBuilder(LLVMBuilderRef Builder) {
|
|||||||
|
|
||||||
void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L) {
|
void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L) {
|
||||||
MDNode *Loc = L ? unwrap<MDNode>(L) : NULL;
|
MDNode *Loc = L ? unwrap<MDNode>(L) : NULL;
|
||||||
unwrap(Builder)->SetCurrentDebugLocation(NewDebugLoc::getFromDILocation(Loc));
|
unwrap(Builder)->SetCurrentDebugLocation(DebugLoc::getFromDILocation(Loc));
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder) {
|
LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder) {
|
||||||
|
@ -15,7 +15,7 @@ using namespace llvm;
|
|||||||
// DebugLoc Implementation
|
// DebugLoc Implementation
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
MDNode *NewDebugLoc::getScope(const LLVMContext &Ctx) const {
|
MDNode *DebugLoc::getScope(const LLVMContext &Ctx) const {
|
||||||
if (ScopeIdx == 0) return 0;
|
if (ScopeIdx == 0) return 0;
|
||||||
|
|
||||||
if (ScopeIdx > 0) {
|
if (ScopeIdx > 0) {
|
||||||
@ -32,7 +32,7 @@ MDNode *NewDebugLoc::getScope(const LLVMContext &Ctx) const {
|
|||||||
return Ctx.pImpl->ScopeInlinedAtRecords[-ScopeIdx-1].first.get();
|
return Ctx.pImpl->ScopeInlinedAtRecords[-ScopeIdx-1].first.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
MDNode *NewDebugLoc::getInlinedAt(const LLVMContext &Ctx) const {
|
MDNode *DebugLoc::getInlinedAt(const LLVMContext &Ctx) const {
|
||||||
// Positive ScopeIdx is an index into ScopeRecords, which has no inlined-at
|
// Positive ScopeIdx is an index into ScopeRecords, which has no inlined-at
|
||||||
// position specified. Zero is invalid.
|
// position specified. Zero is invalid.
|
||||||
if (ScopeIdx >= 0) return 0;
|
if (ScopeIdx >= 0) return 0;
|
||||||
@ -44,8 +44,8 @@ MDNode *NewDebugLoc::getInlinedAt(const LLVMContext &Ctx) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Return both the Scope and the InlinedAt values.
|
/// Return both the Scope and the InlinedAt values.
|
||||||
void NewDebugLoc::getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA,
|
void DebugLoc::getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA,
|
||||||
const LLVMContext &Ctx) const {
|
const LLVMContext &Ctx) const {
|
||||||
if (ScopeIdx == 0) {
|
if (ScopeIdx == 0) {
|
||||||
Scope = IA = 0;
|
Scope = IA = 0;
|
||||||
return;
|
return;
|
||||||
@ -69,9 +69,9 @@ void NewDebugLoc::getScopeAndInlinedAt(MDNode *&Scope, MDNode *&IA,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NewDebugLoc NewDebugLoc::get(unsigned Line, unsigned Col,
|
DebugLoc DebugLoc::get(unsigned Line, unsigned Col,
|
||||||
MDNode *Scope, MDNode *InlinedAt) {
|
MDNode *Scope, MDNode *InlinedAt) {
|
||||||
NewDebugLoc Result;
|
DebugLoc Result;
|
||||||
|
|
||||||
// If no scope is available, this is an unknown location.
|
// If no scope is available, this is an unknown location.
|
||||||
if (Scope == 0) return Result;
|
if (Scope == 0) return Result;
|
||||||
@ -95,7 +95,7 @@ NewDebugLoc NewDebugLoc::get(unsigned Line, unsigned Col,
|
|||||||
|
|
||||||
/// getAsMDNode - This method converts the compressed DebugLoc node into a
|
/// getAsMDNode - This method converts the compressed DebugLoc node into a
|
||||||
/// DILocation compatible MDNode.
|
/// DILocation compatible MDNode.
|
||||||
MDNode *NewDebugLoc::getAsMDNode(const LLVMContext &Ctx) const {
|
MDNode *DebugLoc::getAsMDNode(const LLVMContext &Ctx) const {
|
||||||
if (isUnknown()) return 0;
|
if (isUnknown()) return 0;
|
||||||
|
|
||||||
MDNode *Scope, *IA;
|
MDNode *Scope, *IA;
|
||||||
@ -111,12 +111,12 @@ MDNode *NewDebugLoc::getAsMDNode(const LLVMContext &Ctx) const {
|
|||||||
return MDNode::get(Ctx2, &Elts[0], 4);
|
return MDNode::get(Ctx2, &Elts[0], 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getFromDILocation - Translate the DILocation quad into a NewDebugLoc.
|
/// getFromDILocation - Translate the DILocation quad into a DebugLoc.
|
||||||
NewDebugLoc NewDebugLoc::getFromDILocation(MDNode *N) {
|
DebugLoc DebugLoc::getFromDILocation(MDNode *N) {
|
||||||
if (N == 0 || N->getNumOperands() != 4) return NewDebugLoc();
|
if (N == 0 || N->getNumOperands() != 4) return DebugLoc();
|
||||||
|
|
||||||
MDNode *Scope = dyn_cast_or_null<MDNode>(N->getOperand(2));
|
MDNode *Scope = dyn_cast_or_null<MDNode>(N->getOperand(2));
|
||||||
if (Scope == 0) return NewDebugLoc();
|
if (Scope == 0) return DebugLoc();
|
||||||
|
|
||||||
unsigned LineNo = 0, ColNo = 0;
|
unsigned LineNo = 0, ColNo = 0;
|
||||||
if (ConstantInt *Line = dyn_cast_or_null<ConstantInt>(N->getOperand(0)))
|
if (ConstantInt *Line = dyn_cast_or_null<ConstantInt>(N->getOperand(0)))
|
||||||
|
@ -425,7 +425,7 @@ MDNode *Instruction::getMetadataImpl(const char *Kind) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Instruction::setDbgMetadata(MDNode *Node) {
|
void Instruction::setDbgMetadata(MDNode *Node) {
|
||||||
DbgLoc = NewDebugLoc::getFromDILocation(Node);
|
DbgLoc = DebugLoc::getFromDILocation(Node);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// setMetadata - Set the metadata of of the specified kind to the specified
|
/// setMetadata - Set the metadata of of the specified kind to the specified
|
||||||
@ -436,7 +436,7 @@ void Instruction::setMetadata(unsigned KindID, MDNode *Node) {
|
|||||||
|
|
||||||
// Handle 'dbg' as a special case since it is not stored in the hash table.
|
// Handle 'dbg' as a special case since it is not stored in the hash table.
|
||||||
if (KindID == LLVMContext::MD_dbg) {
|
if (KindID == LLVMContext::MD_dbg) {
|
||||||
DbgLoc = NewDebugLoc::getFromDILocation(Node);
|
DbgLoc = DebugLoc::getFromDILocation(Node);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,7 +549,7 @@ getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
|
|||||||
/// removeAllMetadata - Remove all metadata from this instruction.
|
/// removeAllMetadata - Remove all metadata from this instruction.
|
||||||
void Instruction::removeAllMetadata() {
|
void Instruction::removeAllMetadata() {
|
||||||
assert(hasMetadata() && "Caller should check");
|
assert(hasMetadata() && "Caller should check");
|
||||||
DbgLoc = NewDebugLoc();
|
DbgLoc = DebugLoc();
|
||||||
if (hasMetadataHashEntry()) {
|
if (hasMetadataHashEntry()) {
|
||||||
getContext().pImpl->MetadataStore.erase(this);
|
getContext().pImpl->MetadataStore.erase(this);
|
||||||
setHasMetadataHashEntry(false);
|
setHasMetadataHashEntry(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user