mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
This commit is contained in:
parent
a1c4f73f87
commit
576aba04f1
@ -65,6 +65,7 @@ namespace llvm {
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
class RefCountedBaseVPTR {
|
class RefCountedBaseVPTR {
|
||||||
mutable unsigned ref_cnt;
|
mutable unsigned ref_cnt;
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RefCountedBaseVPTR() : ref_cnt(0) {}
|
RefCountedBaseVPTR() : ref_cnt(0) {}
|
||||||
|
@ -153,6 +153,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DIScope - A base class for various scopes.
|
/// DIScope - A base class for various scopes.
|
||||||
class DIScope : public DIDescriptor {
|
class DIScope : public DIDescriptor {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DIScope(const MDNode *N = 0) : DIDescriptor (N) {}
|
explicit DIScope(const MDNode *N = 0) : DIDescriptor (N) {}
|
||||||
virtual ~DIScope() {}
|
virtual ~DIScope() {}
|
||||||
@ -163,6 +164,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DICompileUnit - A wrapper for a compile unit.
|
/// DICompileUnit - A wrapper for a compile unit.
|
||||||
class DICompileUnit : public DIScope {
|
class DICompileUnit : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DICompileUnit(const MDNode *N = 0) : DIScope(N) {}
|
explicit DICompileUnit(const MDNode *N = 0) : DIScope(N) {}
|
||||||
|
|
||||||
@ -202,6 +204,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DIFile - This is a wrapper for a file.
|
/// DIFile - This is a wrapper for a file.
|
||||||
class DIFile : public DIScope {
|
class DIFile : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DIFile(const MDNode *N = 0) : DIScope(N) {
|
explicit DIFile(const MDNode *N = 0) : DIScope(N) {
|
||||||
if (DbgNode && !isFile())
|
if (DbgNode && !isFile())
|
||||||
@ -230,7 +233,7 @@ namespace llvm {
|
|||||||
/// FIXME: Types should be factored much better so that CV qualifiers and
|
/// FIXME: Types should be factored much better so that CV qualifiers and
|
||||||
/// others do not require a huge and empty descriptor full of zeros.
|
/// others do not require a huge and empty descriptor full of zeros.
|
||||||
class DIType : public DIScope {
|
class DIType : public DIScope {
|
||||||
public:
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
// This ctor is used when the Tag has already been validated by a derived
|
// This ctor is used when the Tag has already been validated by a derived
|
||||||
// ctor.
|
// ctor.
|
||||||
@ -240,7 +243,6 @@ namespace llvm {
|
|||||||
|
|
||||||
/// Verify - Verify that a type descriptor is well formed.
|
/// Verify - Verify that a type descriptor is well formed.
|
||||||
bool Verify() const;
|
bool Verify() const;
|
||||||
public:
|
|
||||||
explicit DIType(const MDNode *N);
|
explicit DIType(const MDNode *N);
|
||||||
explicit DIType() {}
|
explicit DIType() {}
|
||||||
virtual ~DIType() {}
|
virtual ~DIType() {}
|
||||||
@ -320,6 +322,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DIBasicType - A basic type, like 'int' or 'float'.
|
/// DIBasicType - A basic type, like 'int' or 'float'.
|
||||||
class DIBasicType : public DIType {
|
class DIBasicType : public DIType {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DIBasicType(const MDNode *N = 0) : DIType(N) {}
|
explicit DIBasicType(const MDNode *N = 0) : DIType(N) {}
|
||||||
|
|
||||||
@ -338,6 +341,7 @@ namespace llvm {
|
|||||||
/// DIDerivedType - A simple derived type, like a const qualified type,
|
/// DIDerivedType - A simple derived type, like a const qualified type,
|
||||||
/// a typedef, a pointer or reference, etc.
|
/// a typedef, a pointer or reference, etc.
|
||||||
class DIDerivedType : public DIType {
|
class DIDerivedType : public DIType {
|
||||||
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
explicit DIDerivedType(const MDNode *N, bool, bool)
|
explicit DIDerivedType(const MDNode *N, bool, bool)
|
||||||
: DIType(N, true, true) {}
|
: DIType(N, true, true) {}
|
||||||
@ -391,6 +395,7 @@ namespace llvm {
|
|||||||
/// other types, like a function or struct.
|
/// other types, like a function or struct.
|
||||||
/// FIXME: Why is this a DIDerivedType??
|
/// FIXME: Why is this a DIDerivedType??
|
||||||
class DICompositeType : public DIDerivedType {
|
class DICompositeType : public DIDerivedType {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DICompositeType(const MDNode *N = 0)
|
explicit DICompositeType(const MDNode *N = 0)
|
||||||
: DIDerivedType(N, true, true) {
|
: DIDerivedType(N, true, true) {
|
||||||
@ -454,6 +459,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DISubprogram - This is a wrapper for a subprogram (e.g. a function).
|
/// DISubprogram - This is a wrapper for a subprogram (e.g. a function).
|
||||||
class DISubprogram : public DIScope {
|
class DISubprogram : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DISubprogram(const MDNode *N = 0) : DIScope(N) {}
|
explicit DISubprogram(const MDNode *N = 0) : DIScope(N) {}
|
||||||
|
|
||||||
@ -687,6 +693,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DILexicalBlock - This is a wrapper for a lexical block.
|
/// DILexicalBlock - This is a wrapper for a lexical block.
|
||||||
class DILexicalBlock : public DIScope {
|
class DILexicalBlock : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DILexicalBlock(const MDNode *N = 0) : DIScope(N) {}
|
explicit DILexicalBlock(const MDNode *N = 0) : DIScope(N) {}
|
||||||
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
||||||
@ -705,6 +712,7 @@ namespace llvm {
|
|||||||
/// DILexicalBlockFile - This is a wrapper for a lexical block with
|
/// DILexicalBlockFile - This is a wrapper for a lexical block with
|
||||||
/// a filename change.
|
/// a filename change.
|
||||||
class DILexicalBlockFile : public DIScope {
|
class DILexicalBlockFile : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DILexicalBlockFile(const MDNode *N = 0) : DIScope(N) {}
|
explicit DILexicalBlockFile(const MDNode *N = 0) : DIScope(N) {}
|
||||||
DIScope getContext() const { return getScope().getContext(); }
|
DIScope getContext() const { return getScope().getContext(); }
|
||||||
@ -724,6 +732,7 @@ namespace llvm {
|
|||||||
|
|
||||||
/// DINameSpace - A wrapper for a C++ style name space.
|
/// DINameSpace - A wrapper for a C++ style name space.
|
||||||
class DINameSpace : public DIScope {
|
class DINameSpace : public DIScope {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit DINameSpace(const MDNode *N = 0) : DIScope(N) {}
|
explicit DINameSpace(const MDNode *N = 0) : DIScope(N) {}
|
||||||
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
DIScope getContext() const { return getFieldAs<DIScope>(1); }
|
||||||
|
@ -154,6 +154,7 @@ public:
|
|||||||
/// used to compute a forward dominator frontiers.
|
/// used to compute a forward dominator frontiers.
|
||||||
///
|
///
|
||||||
class DominanceFrontier : public DominanceFrontierBase {
|
class DominanceFrontier : public DominanceFrontierBase {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
static char ID; // Pass ID, replacement for typeid
|
static char ID; // Pass ID, replacement for typeid
|
||||||
DominanceFrontier() :
|
DominanceFrontier() :
|
||||||
|
@ -30,6 +30,7 @@ template<typename ValueSubClass, typename ItemParentClass>
|
|||||||
/// the function was called with.
|
/// the function was called with.
|
||||||
/// @brief LLVM Argument representation
|
/// @brief LLVM Argument representation
|
||||||
class Argument : public Value, public ilist_node<Argument> {
|
class Argument : public Value, public ilist_node<Argument> {
|
||||||
|
virtual void anchor();
|
||||||
Function *Parent;
|
Function *Parent;
|
||||||
|
|
||||||
friend class SymbolTableListTraits<Argument, Function>;
|
friend class SymbolTableListTraits<Argument, Function>;
|
||||||
|
@ -51,6 +51,7 @@ class Function;
|
|||||||
/// occurred, more memory is allocated, and we reemit the code into it.
|
/// occurred, more memory is allocated, and we reemit the code into it.
|
||||||
///
|
///
|
||||||
class JITCodeEmitter : public MachineCodeEmitter {
|
class JITCodeEmitter : public MachineCodeEmitter {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
virtual ~JITCodeEmitter() {}
|
virtual ~JITCodeEmitter() {}
|
||||||
|
|
||||||
|
@ -153,6 +153,7 @@ private:
|
|||||||
/// LexicalScope - This class is used to track scope information.
|
/// LexicalScope - This class is used to track scope information.
|
||||||
///
|
///
|
||||||
class LexicalScope {
|
class LexicalScope {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LexicalScope(LexicalScope *P, const MDNode *D, const MDNode *I, bool A)
|
LexicalScope(LexicalScope *P, const MDNode *D, const MDNode *I, bool A)
|
||||||
|
@ -25,6 +25,7 @@ class raw_ostream;
|
|||||||
class MachineBasicBlock;
|
class MachineBasicBlock;
|
||||||
|
|
||||||
class MachineBranchProbabilityInfo : public ImmutablePass {
|
class MachineBranchProbabilityInfo : public ImmutablePass {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
// Default weight value. Used when we don't have information about the edge.
|
// Default weight value. Used when we don't have information about the edge.
|
||||||
// TODO: DEFAULT_WEIGHT makes sense during static predication, when none of
|
// TODO: DEFAULT_WEIGHT makes sense during static predication, when none of
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
#include "llvm/Support/DataTypes.h"
|
#include "llvm/Support/DataTypes.h"
|
||||||
#include "llvm/Support/DebugLoc.h"
|
#include "llvm/Support/DebugLoc.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
class MachineBasicBlock;
|
class MachineBasicBlock;
|
||||||
@ -49,6 +51,7 @@ class MCSymbol;
|
|||||||
/// occurred, more memory is allocated, and we reemit the code into it.
|
/// occurred, more memory is allocated, and we reemit the code into it.
|
||||||
///
|
///
|
||||||
class MachineCodeEmitter {
|
class MachineCodeEmitter {
|
||||||
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
/// BufferBegin/BufferEnd - Pointers to the start and end of the memory
|
/// BufferBegin/BufferEnd - Pointers to the start and end of the memory
|
||||||
/// allocated for this code buffer.
|
/// allocated for this code buffer.
|
||||||
|
@ -34,6 +34,7 @@ class raw_ostream;
|
|||||||
/// Abstract base class for all machine specific constantpool value subclasses.
|
/// Abstract base class for all machine specific constantpool value subclasses.
|
||||||
///
|
///
|
||||||
class MachineConstantPoolValue {
|
class MachineConstantPoolValue {
|
||||||
|
virtual void anchor();
|
||||||
Type *Ty;
|
Type *Ty;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -33,6 +33,7 @@ typedef void *(*MachinePassCtor)();
|
|||||||
///
|
///
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
class MachinePassRegistryListener {
|
class MachinePassRegistryListener {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
MachinePassRegistryListener() {}
|
MachinePassRegistryListener() {}
|
||||||
virtual ~MachinePassRegistryListener() {}
|
virtual ~MachinePassRegistryListener() {}
|
||||||
|
@ -427,6 +427,7 @@ namespace llvm {
|
|||||||
/// implementation to decide.
|
/// implementation to decide.
|
||||||
///
|
///
|
||||||
class SchedulingPriorityQueue {
|
class SchedulingPriorityQueue {
|
||||||
|
virtual void anchor();
|
||||||
unsigned CurCycle;
|
unsigned CurCycle;
|
||||||
bool HasReadyFilter;
|
bool HasReadyFilter;
|
||||||
public:
|
public:
|
||||||
|
@ -181,6 +181,7 @@ protected:
|
|||||||
/// ISelUpdater - helper class to handle updates of the
|
/// ISelUpdater - helper class to handle updates of the
|
||||||
/// instruction selection graph.
|
/// instruction selection graph.
|
||||||
class ISelUpdater : public SelectionDAG::DAGUpdateListener {
|
class ISelUpdater : public SelectionDAG::DAGUpdateListener {
|
||||||
|
virtual void anchor();
|
||||||
SelectionDAG::allnodes_iterator &ISelPosition;
|
SelectionDAG::allnodes_iterator &ISelPosition;
|
||||||
public:
|
public:
|
||||||
explicit ISelUpdater(SelectionDAG::allnodes_iterator &isp)
|
explicit ISelUpdater(SelectionDAG::allnodes_iterator &isp)
|
||||||
|
@ -41,6 +41,7 @@ namespace llvm {
|
|||||||
class Constant : public User {
|
class Constant : public User {
|
||||||
void operator=(const Constant &); // Do not implement
|
void operator=(const Constant &); // Do not implement
|
||||||
Constant(const Constant &); // Do not implement
|
Constant(const Constant &); // Do not implement
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Constant(Type *ty, ValueTy vty, Use *Ops, unsigned NumOps)
|
Constant(Type *ty, ValueTy vty, Use *Ops, unsigned NumOps)
|
||||||
|
@ -45,6 +45,7 @@ struct ConvertConstantType;
|
|||||||
/// represents both boolean and integral constants.
|
/// represents both boolean and integral constants.
|
||||||
/// @brief Class for constant integers.
|
/// @brief Class for constant integers.
|
||||||
class ConstantInt : public Constant {
|
class ConstantInt : public Constant {
|
||||||
|
virtual void anchor();
|
||||||
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT
|
void *operator new(size_t, unsigned); // DO NOT IMPLEMENT
|
||||||
ConstantInt(const ConstantInt &); // DO NOT IMPLEMENT
|
ConstantInt(const ConstantInt &); // DO NOT IMPLEMENT
|
||||||
ConstantInt(IntegerType *Ty, const APInt& V);
|
ConstantInt(IntegerType *Ty, const APInt& V);
|
||||||
@ -229,6 +230,7 @@ public:
|
|||||||
///
|
///
|
||||||
class ConstantFP : public Constant {
|
class ConstantFP : public Constant {
|
||||||
APFloat Val;
|
APFloat Val;
|
||||||
|
virtual void anchor();
|
||||||
void *operator new(size_t, unsigned);// DO NOT IMPLEMENT
|
void *operator new(size_t, unsigned);// DO NOT IMPLEMENT
|
||||||
ConstantFP(const ConstantFP &); // DO NOT IMPLEMENT
|
ConstantFP(const ConstantFP &); // DO NOT IMPLEMENT
|
||||||
friend class LLVMContextImpl;
|
friend class LLVMContextImpl;
|
||||||
|
@ -14,17 +14,19 @@
|
|||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
class MCAsmInfoCOFF : public MCAsmInfo {
|
class MCAsmInfoCOFF : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
explicit MCAsmInfoCOFF();
|
explicit MCAsmInfoCOFF();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class MCAsmInfoMicrosoft : public MCAsmInfoCOFF {
|
class MCAsmInfoMicrosoft : public MCAsmInfoCOFF {
|
||||||
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
explicit MCAsmInfoMicrosoft();
|
explicit MCAsmInfoMicrosoft();
|
||||||
};
|
};
|
||||||
|
|
||||||
class MCAsmInfoGNUCOFF : public MCAsmInfoCOFF {
|
class MCAsmInfoGNUCOFF : public MCAsmInfoCOFF {
|
||||||
|
virtual void anchor();
|
||||||
protected:
|
protected:
|
||||||
explicit MCAsmInfoGNUCOFF();
|
explicit MCAsmInfoGNUCOFF();
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,9 @@
|
|||||||
#include "llvm/MC/MCAsmInfo.h"
|
#include "llvm/MC/MCAsmInfo.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
struct MCAsmInfoDarwin : public MCAsmInfo {
|
class MCAsmInfoDarwin : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit MCAsmInfoDarwin();
|
explicit MCAsmInfoDarwin();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCDataFragment : public MCFragment {
|
class MCDataFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
SmallString<32> Contents;
|
SmallString<32> Contents;
|
||||||
|
|
||||||
/// Fixups - The list of fixups in this fragment.
|
/// Fixups - The list of fixups in this fragment.
|
||||||
@ -160,6 +161,8 @@ public:
|
|||||||
// object with just the MCInst and a code size, then we should just change
|
// object with just the MCInst and a code size, then we should just change
|
||||||
// MCDataFragment to have an optional MCInst at its end.
|
// MCDataFragment to have an optional MCInst at its end.
|
||||||
class MCInstFragment : public MCFragment {
|
class MCInstFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// Inst - The instruction this is a fragment for.
|
/// Inst - The instruction this is a fragment for.
|
||||||
MCInst Inst;
|
MCInst Inst;
|
||||||
|
|
||||||
@ -215,6 +218,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCAlignFragment : public MCFragment {
|
class MCAlignFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// Alignment - The alignment to ensure, in bytes.
|
/// Alignment - The alignment to ensure, in bytes.
|
||||||
unsigned Alignment;
|
unsigned Alignment;
|
||||||
|
|
||||||
@ -263,6 +268,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCFillFragment : public MCFragment {
|
class MCFillFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// Value - Value to use for filling bytes.
|
/// Value - Value to use for filling bytes.
|
||||||
int64_t Value;
|
int64_t Value;
|
||||||
|
|
||||||
@ -300,6 +307,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCOrgFragment : public MCFragment {
|
class MCOrgFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// Offset - The offset this fragment should start at.
|
/// Offset - The offset this fragment should start at.
|
||||||
const MCExpr *Offset;
|
const MCExpr *Offset;
|
||||||
|
|
||||||
@ -327,6 +336,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCLEBFragment : public MCFragment {
|
class MCLEBFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// Value - The value this fragment should contain.
|
/// Value - The value this fragment should contain.
|
||||||
const MCExpr *Value;
|
const MCExpr *Value;
|
||||||
|
|
||||||
@ -358,6 +369,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCDwarfLineAddrFragment : public MCFragment {
|
class MCDwarfLineAddrFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// LineDelta - the value of the difference between the two line numbers
|
/// LineDelta - the value of the difference between the two line numbers
|
||||||
/// between two .loc dwarf directives.
|
/// between two .loc dwarf directives.
|
||||||
int64_t LineDelta;
|
int64_t LineDelta;
|
||||||
@ -393,6 +406,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MCDwarfCallFrameFragment : public MCFragment {
|
class MCDwarfCallFrameFragment : public MCFragment {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// AddrDelta - The expression for the difference of the two symbols that
|
/// AddrDelta - The expression for the difference of the two symbols that
|
||||||
/// make up the address delta between two .cfi_* dwarf directives.
|
/// make up the address delta between two .cfi_* dwarf directives.
|
||||||
const MCExpr *AddrDelta;
|
const MCExpr *AddrDelta;
|
||||||
|
@ -36,6 +36,7 @@ template<typename ValueSubClass, typename ItemParentClass>
|
|||||||
/// These are used to efficiently contain a byte sequence for metadata.
|
/// These are used to efficiently contain a byte sequence for metadata.
|
||||||
/// MDString is always unnamed.
|
/// MDString is always unnamed.
|
||||||
class MDString : public Value {
|
class MDString : public Value {
|
||||||
|
virtual void anchor();
|
||||||
MDString(const MDString &); // DO NOT IMPLEMENT
|
MDString(const MDString &); // DO NOT IMPLEMENT
|
||||||
|
|
||||||
StringRef Str;
|
StringRef Str;
|
||||||
|
@ -22,6 +22,7 @@ namespace llvm {
|
|||||||
namespace object {
|
namespace object {
|
||||||
|
|
||||||
class Archive : public Binary {
|
class Archive : public Binary {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
class Child {
|
class Child {
|
||||||
const Archive *Parent;
|
const Archive *Parent;
|
||||||
|
@ -232,7 +232,7 @@ const uint64_t UnknownAddressOrSize = ~0ULL;
|
|||||||
/// Concrete instances of this object are created by createObjectFile, which
|
/// Concrete instances of this object are created by createObjectFile, which
|
||||||
/// figure out which type to create.
|
/// figure out which type to create.
|
||||||
class ObjectFile : public Binary {
|
class ObjectFile : public Binary {
|
||||||
private:
|
virtual void anchor();
|
||||||
ObjectFile(); // = delete
|
ObjectFile(); // = delete
|
||||||
ObjectFile(const ObjectFile &other); // = delete
|
ObjectFile(const ObjectFile &other); // = delete
|
||||||
|
|
||||||
|
@ -68,6 +68,7 @@ class RecordKeeper;
|
|||||||
|
|
||||||
class RecTy {
|
class RecTy {
|
||||||
ListRecTy *ListTy;
|
ListRecTy *ListTy;
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
RecTy() : ListTy(0) {}
|
RecTy() : ListTy(0) {}
|
||||||
virtual ~RecTy() {}
|
virtual ~RecTy() {}
|
||||||
@ -489,6 +490,7 @@ RecTy *resolveTypes(RecTy *T1, RecTy *T2);
|
|||||||
class Init {
|
class Init {
|
||||||
Init(const Init &); // Do not define.
|
Init(const Init &); // Do not define.
|
||||||
Init &operator=(const Init &); // Do not define.
|
Init &operator=(const Init &); // Do not define.
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Init(void) {}
|
Init(void) {}
|
||||||
@ -617,6 +619,7 @@ class UnsetInit : public Init {
|
|||||||
UnsetInit() : Init() {}
|
UnsetInit() : Init() {}
|
||||||
UnsetInit(const UnsetInit &); // Do not define.
|
UnsetInit(const UnsetInit &); // Do not define.
|
||||||
UnsetInit &operator=(const UnsetInit &Other); // Do not define.
|
UnsetInit &operator=(const UnsetInit &Other); // Do not define.
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static UnsetInit *get();
|
static UnsetInit *get();
|
||||||
@ -638,6 +641,7 @@ class BitInit : public Init {
|
|||||||
explicit BitInit(bool V) : Value(V) {}
|
explicit BitInit(bool V) : Value(V) {}
|
||||||
BitInit(const BitInit &Other); // Do not define.
|
BitInit(const BitInit &Other); // Do not define.
|
||||||
BitInit &operator=(BitInit &Other); // Do not define.
|
BitInit &operator=(BitInit &Other); // Do not define.
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static BitInit *get(bool V);
|
static BitInit *get(bool V);
|
||||||
@ -750,6 +754,7 @@ class StringInit : public TypedInit {
|
|||||||
|
|
||||||
StringInit(const StringInit &Other); // Do not define.
|
StringInit(const StringInit &Other); // Do not define.
|
||||||
StringInit &operator=(const StringInit &Other); // Do not define.
|
StringInit &operator=(const StringInit &Other); // Do not define.
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static StringInit *get(const std::string &V);
|
static StringInit *get(const std::string &V);
|
||||||
@ -792,6 +797,7 @@ class CodeInit : public Init {
|
|||||||
|
|
||||||
CodeInit(const CodeInit &Other); // Do not define.
|
CodeInit(const CodeInit &Other); // Do not define.
|
||||||
CodeInit &operator=(const CodeInit &Other); // Do not define.
|
CodeInit &operator=(const CodeInit &Other); // Do not define.
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static CodeInit *get(const std::string &V);
|
static CodeInit *get(const std::string &V);
|
||||||
|
@ -21,6 +21,7 @@ class raw_ostream;
|
|||||||
class RecordKeeper;
|
class RecordKeeper;
|
||||||
|
|
||||||
class TableGenAction {
|
class TableGenAction {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
virtual ~TableGenAction() {}
|
virtual ~TableGenAction() {}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ class Record;
|
|||||||
class RecordKeeper;
|
class RecordKeeper;
|
||||||
|
|
||||||
struct TableGenBackend {
|
struct TableGenBackend {
|
||||||
|
virtual void anchor();
|
||||||
virtual ~TableGenBackend() {}
|
virtual ~TableGenBackend() {}
|
||||||
|
|
||||||
// run - All TableGen backends should implement the run method, which should
|
// run - All TableGen backends should implement the run method, which should
|
||||||
|
@ -30,6 +30,7 @@ namespace llvm {
|
|||||||
/// TargetJITInfo - Target specific information required by the Just-In-Time
|
/// TargetJITInfo - Target specific information required by the Just-In-Time
|
||||||
/// code generator.
|
/// code generator.
|
||||||
class TargetJITInfo {
|
class TargetJITInfo {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
virtual ~TargetJITInfo() {}
|
virtual ~TargetJITInfo() {}
|
||||||
|
|
||||||
|
@ -208,6 +208,7 @@ namespace llvm {
|
|||||||
/// library functions are available for the current target, and allows a
|
/// library functions are available for the current target, and allows a
|
||||||
/// frontend to disable optimizations through -fno-builtin etc.
|
/// frontend to disable optimizations through -fno-builtin etc.
|
||||||
class TargetLibraryInfo : public ImmutablePass {
|
class TargetLibraryInfo : public ImmutablePass {
|
||||||
|
virtual void anchor();
|
||||||
unsigned char AvailableArray[(LibFunc::NumLibFuncs+3)/4];
|
unsigned char AvailableArray[(LibFunc::NumLibFuncs+3)/4];
|
||||||
llvm::DenseMap<unsigned, std::string> CustomNames;
|
llvm::DenseMap<unsigned, std::string> CustomNames;
|
||||||
static const char* StandardNames[LibFunc::NumLibFuncs];
|
static const char* StandardNames[LibFunc::NumLibFuncs];
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
typedef const EVT* vt_iterator;
|
typedef const EVT* vt_iterator;
|
||||||
typedef const TargetRegisterClass* const * sc_iterator;
|
typedef const TargetRegisterClass* const * sc_iterator;
|
||||||
private:
|
private:
|
||||||
|
virtual void anchor();
|
||||||
const MCRegisterClass *MC;
|
const MCRegisterClass *MC;
|
||||||
const vt_iterator VTs;
|
const vt_iterator VTs;
|
||||||
const unsigned *SubClassMask;
|
const unsigned *SubClassMask;
|
||||||
|
@ -33,6 +33,7 @@ class ScalarEvolution;
|
|||||||
/// Interface for visiting interesting IV users that are recognized but not
|
/// Interface for visiting interesting IV users that are recognized but not
|
||||||
/// simplified by this utility.
|
/// simplified by this utility.
|
||||||
class IVVisitor {
|
class IVVisitor {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
virtual ~IVVisitor() {}
|
virtual ~IVVisitor() {}
|
||||||
virtual void visitCast(CastInst *Cast) = 0;
|
virtual void visitCast(CastInst *Cast) = 0;
|
||||||
|
@ -637,6 +637,32 @@ DIArray DICompileUnit::getGlobalVariables() const {
|
|||||||
return DIArray();
|
return DIArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// DIDescriptor: vtable anchors for all descriptors.
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
void DIScope::anchor() { }
|
||||||
|
|
||||||
|
void DICompileUnit::anchor() { }
|
||||||
|
|
||||||
|
void DIFile::anchor() { }
|
||||||
|
|
||||||
|
void DIType::anchor() { }
|
||||||
|
|
||||||
|
void DIBasicType::anchor() { }
|
||||||
|
|
||||||
|
void DIDerivedType::anchor() { }
|
||||||
|
|
||||||
|
void DICompositeType::anchor() { }
|
||||||
|
|
||||||
|
void DISubprogram::anchor() { }
|
||||||
|
|
||||||
|
void DILexicalBlock::anchor() { }
|
||||||
|
|
||||||
|
void DINameSpace::anchor() { }
|
||||||
|
|
||||||
|
void DILexicalBlockFile::anchor() { }
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// DIDescriptor: dump routines for all descriptors.
|
// DIDescriptor: dump routines for all descriptors.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -35,6 +35,8 @@ namespace {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DominanceFrontier::anchor() { }
|
||||||
|
|
||||||
const DominanceFrontier::DomSetType &
|
const DominanceFrontier::DomSetType &
|
||||||
DominanceFrontier::calculate(const DominatorTree &DT,
|
DominanceFrontier::calculate(const DominatorTree &DT,
|
||||||
const DomTreeNode *Node) {
|
const DomTreeNode *Node) {
|
||||||
|
@ -174,6 +174,7 @@ void DIE::dump() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void DIEValue::anchor() { }
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
void DIEValue::dump() {
|
void DIEValue::dump() {
|
||||||
|
@ -195,6 +195,7 @@ namespace llvm {
|
|||||||
/// DIEValue - A debug information entry value.
|
/// DIEValue - A debug information entry value.
|
||||||
///
|
///
|
||||||
class DIEValue {
|
class DIEValue {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
enum {
|
enum {
|
||||||
isInteger,
|
isInteger,
|
||||||
|
14
lib/CodeGen/JITCodeEmitter.cpp
Normal file
14
lib/CodeGen/JITCodeEmitter.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//===-- llvm/CodeGen/JITCodeEmitter.cpp - Code emission --------*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "llvm/CodeGen/JITCodeEmitter.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void JITCodeEmitter::anchor() { }
|
@ -311,6 +311,8 @@ bool LexicalScopes::dominates(DebugLoc DL, MachineBasicBlock *MBB) {
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LexicalScope::anchor() { }
|
||||||
|
|
||||||
/// dump - Print data structures.
|
/// dump - Print data structures.
|
||||||
void LexicalScope::dump() const {
|
void LexicalScope::dump() const {
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
@ -29,6 +29,8 @@ STATISTIC(NumDCEDeleted, "Number of instructions deleted by DCE");
|
|||||||
STATISTIC(NumDCEFoldedLoads, "Number of single use loads folded after DCE");
|
STATISTIC(NumDCEFoldedLoads, "Number of single use loads folded after DCE");
|
||||||
STATISTIC(NumFracRanges, "Number of live ranges fractured by DCE");
|
STATISTIC(NumFracRanges, "Number of live ranges fractured by DCE");
|
||||||
|
|
||||||
|
void LiveRangeEdit::Delegate::anchor() { }
|
||||||
|
|
||||||
LiveInterval &LiveRangeEdit::createFrom(unsigned OldReg,
|
LiveInterval &LiveRangeEdit::createFrom(unsigned OldReg,
|
||||||
LiveIntervals &LIS,
|
LiveIntervals &LIS,
|
||||||
VirtRegMap &VRM) {
|
VirtRegMap &VRM) {
|
||||||
|
@ -33,7 +33,9 @@ class VirtRegMap;
|
|||||||
class LiveRangeEdit {
|
class LiveRangeEdit {
|
||||||
public:
|
public:
|
||||||
/// Callback methods for LiveRangeEdit owners.
|
/// Callback methods for LiveRangeEdit owners.
|
||||||
struct Delegate {
|
class Delegate {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
/// Called immediately before erasing a dead machine instruction.
|
/// Called immediately before erasing a dead machine instruction.
|
||||||
virtual void LRE_WillEraseInstruction(MachineInstr *MI) {}
|
virtual void LRE_WillEraseInstruction(MachineInstr *MI) {}
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ INITIALIZE_PASS_END(MachineBranchProbabilityInfo, "machine-branch-prob",
|
|||||||
|
|
||||||
char MachineBranchProbabilityInfo::ID = 0;
|
char MachineBranchProbabilityInfo::ID = 0;
|
||||||
|
|
||||||
|
void MachineBranchProbabilityInfo::anchor() { }
|
||||||
|
|
||||||
uint32_t MachineBranchProbabilityInfo::
|
uint32_t MachineBranchProbabilityInfo::
|
||||||
getSumForBlock(MachineBasicBlock *MBB, uint32_t &Scale) const {
|
getSumForBlock(MachineBasicBlock *MBB, uint32_t &Scale) const {
|
||||||
// First we compute the sum with 64-bits of precision, ensuring that cannot
|
// First we compute the sum with 64-bits of precision, ensuring that cannot
|
||||||
|
14
lib/CodeGen/MachineCodeEmitter.cpp
Normal file
14
lib/CodeGen/MachineCodeEmitter.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//===-- llvm/CodeGen/MachineCodeEmitter.cpp - Code emission -----*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MachineCodeEmitter::anchor() { }
|
@ -619,6 +619,8 @@ void MachineJumpTableInfo::dump() const { print(dbgs()); }
|
|||||||
// MachineConstantPool implementation
|
// MachineConstantPool implementation
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
void MachineConstantPoolValue::anchor() { }
|
||||||
|
|
||||||
Type *MachineConstantPoolEntry::getType() const {
|
Type *MachineConstantPoolEntry::getType() const {
|
||||||
if (isMachineConstantPoolEntry())
|
if (isMachineConstantPoolEntry())
|
||||||
return Val.MachineCPVal->getType();
|
return Val.MachineCPVal->getType();
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MachinePassRegistryListener::anchor() { }
|
||||||
|
|
||||||
/// Add - Adds a function pass to the registration list.
|
/// Add - Adds a function pass to the registration list.
|
||||||
///
|
///
|
||||||
|
@ -31,6 +31,8 @@ static cl::opt<bool> StressSchedOpt(
|
|||||||
cl::desc("Stress test instruction scheduling"));
|
cl::desc("Stress test instruction scheduling"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void SchedulingPriorityQueue::anchor() { }
|
||||||
|
|
||||||
ScheduleDAG::ScheduleDAG(MachineFunction &mf)
|
ScheduleDAG::ScheduleDAG(MachineFunction &mf)
|
||||||
: TM(mf.getTarget()),
|
: TM(mf.getTarget()),
|
||||||
TII(TM.getInstrInfo()),
|
TII(TM.getInstrInfo()),
|
||||||
|
@ -262,6 +262,8 @@ void TargetLowering::AdjustInstrPostInstrSelection(MachineInstr *MI,
|
|||||||
// SelectionDAGISel code
|
// SelectionDAGISel code
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
void SelectionDAGISel::ISelUpdater::anchor() { }
|
||||||
|
|
||||||
SelectionDAGISel::SelectionDAGISel(const TargetMachine &tm,
|
SelectionDAGISel::SelectionDAGISel(const TargetMachine &tm,
|
||||||
CodeGenOpt::Level OL) :
|
CodeGenOpt::Level OL) :
|
||||||
MachineFunctionPass(ID), TM(tm), TLI(*tm.getTargetLowering()),
|
MachineFunctionPass(ID), TM(tm), TLI(*tm.getTargetLowering()),
|
||||||
|
@ -185,6 +185,8 @@ public:
|
|||||||
|
|
||||||
} // end anonymous namespace
|
} // end anonymous namespace
|
||||||
|
|
||||||
|
void Spiller::anchor() { }
|
||||||
|
|
||||||
llvm::Spiller* llvm::createSpiller(MachineFunctionPass &pass,
|
llvm::Spiller* llvm::createSpiller(MachineFunctionPass &pass,
|
||||||
MachineFunction &mf,
|
MachineFunction &mf,
|
||||||
VirtRegMap &vrm) {
|
VirtRegMap &vrm) {
|
||||||
|
@ -22,6 +22,7 @@ namespace llvm {
|
|||||||
/// Implementations are utility classes which insert spill or remat code on
|
/// Implementations are utility classes which insert spill or remat code on
|
||||||
/// demand.
|
/// demand.
|
||||||
class Spiller {
|
class Spiller {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
virtual ~Spiller() = 0;
|
virtual ~Spiller() = 0;
|
||||||
|
|
||||||
|
@ -165,3 +165,5 @@ DILineInfo DWARFContext::getLineInfoForAddress(uint64_t address) {
|
|||||||
|
|
||||||
return DILineInfo(fileName.c_str(), row.Line, row.Column);
|
return DILineInfo(fileName.c_str(), row.Line, row.Column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DWARFContextInMemory::anchor() { }
|
||||||
|
@ -86,6 +86,7 @@ public:
|
|||||||
/// DWARFContext. It assumes all content is available in memory and stores
|
/// DWARFContext. It assumes all content is available in memory and stores
|
||||||
/// pointers to it.
|
/// pointers to it.
|
||||||
class DWARFContextInMemory : public DWARFContext {
|
class DWARFContextInMemory : public DWARFContext {
|
||||||
|
virtual void anchor();
|
||||||
StringRef InfoSection;
|
StringRef InfoSection;
|
||||||
StringRef AbbrevSection;
|
StringRef AbbrevSection;
|
||||||
StringRef ARangeSection;
|
StringRef ARangeSection;
|
||||||
|
14
lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp
Normal file
14
lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//==-- MCJITMemoryManager.cpp - Definition for the Memory Manager -*-C++ -*-==//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "MCJITMemoryManager.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MCJITMemoryManager::anchor() { }
|
@ -21,6 +21,7 @@ namespace llvm {
|
|||||||
// and the RuntimeDyld interface that maps objects, by name, onto their
|
// and the RuntimeDyld interface that maps objects, by name, onto their
|
||||||
// matching LLVM IR counterparts in the module(s) being compiled.
|
// matching LLVM IR counterparts in the module(s) being compiled.
|
||||||
class MCJITMemoryManager : public RTDyldMemoryManager {
|
class MCJITMemoryManager : public RTDyldMemoryManager {
|
||||||
|
virtual void anchor();
|
||||||
JITMemoryManager *JMM;
|
JITMemoryManager *JMM;
|
||||||
|
|
||||||
// FIXME: Multiple modules.
|
// FIXME: Multiple modules.
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MCAsmInfoCOFF::anchor() { }
|
||||||
|
|
||||||
MCAsmInfoCOFF::MCAsmInfoCOFF() {
|
MCAsmInfoCOFF::MCAsmInfoCOFF() {
|
||||||
GlobalPrefix = "_";
|
GlobalPrefix = "_";
|
||||||
COMMDirectiveAlignmentIsInBytes = false;
|
COMMDirectiveAlignmentIsInBytes = false;
|
||||||
@ -39,10 +41,14 @@ MCAsmInfoCOFF::MCAsmInfoCOFF() {
|
|||||||
SupportsDataRegions = false;
|
SupportsDataRegions = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MCAsmInfoMicrosoft::anchor() { }
|
||||||
|
|
||||||
MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
|
MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
|
||||||
AllowQuotesInName = true;
|
AllowQuotesInName = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MCAsmInfoGNUCOFF::anchor() { }
|
||||||
|
|
||||||
MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
|
MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
#include "llvm/MC/MCStreamer.h"
|
#include "llvm/MC/MCStreamer.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MCAsmInfoDarwin::anchor() { }
|
||||||
|
|
||||||
MCAsmInfoDarwin::MCAsmInfoDarwin() {
|
MCAsmInfoDarwin::MCAsmInfoDarwin() {
|
||||||
// Common settings for all Darwin targets.
|
// Common settings for all Darwin targets.
|
||||||
// Syntax:
|
// Syntax:
|
||||||
|
@ -972,3 +972,13 @@ void MCAssembler::dump() {
|
|||||||
}
|
}
|
||||||
OS << "]>\n";
|
OS << "]>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// anchors for MC*Fragment vtables
|
||||||
|
void MCDataFragment::anchor() { }
|
||||||
|
void MCInstFragment::anchor() { }
|
||||||
|
void MCAlignFragment::anchor() { }
|
||||||
|
void MCFillFragment::anchor() { }
|
||||||
|
void MCOrgFragment::anchor() { }
|
||||||
|
void MCLEBFragment::anchor() { }
|
||||||
|
void MCDwarfLineAddrFragment::anchor() { }
|
||||||
|
void MCDwarfCallFrameFragment::anchor() { }
|
||||||
|
@ -74,6 +74,8 @@ static bool isInternalMember(const ArchiveMemberHeader &amh) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Archive::anchor() { }
|
||||||
|
|
||||||
Archive::Child Archive::Child::getNext() const {
|
Archive::Child Archive::Child::getNext() const {
|
||||||
size_t SpaceToSkip = sizeof(ArchiveMemberHeader) +
|
size_t SpaceToSkip = sizeof(ArchiveMemberHeader) +
|
||||||
ToHeader(Data.data())->getSize();
|
ToHeader(Data.data())->getSize();
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
using namespace object;
|
using namespace object;
|
||||||
|
|
||||||
|
void ObjectFile::anchor() { }
|
||||||
|
|
||||||
ObjectFile::ObjectFile(unsigned int Type, MemoryBuffer *source, error_code &ec)
|
ObjectFile::ObjectFile(unsigned int Type, MemoryBuffer *source, error_code &ec)
|
||||||
: Binary(Type, source) {
|
: Binary(Type, source) {
|
||||||
}
|
}
|
||||||
|
14
lib/Support/IntrusiveRefCntPtr.cpp
Normal file
14
lib/Support/IntrusiveRefCntPtr.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//== IntrusiveRefCntPtr.cpp - Smart Refcounting Pointer ----------*- C++ -*-==//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void RefCountedBaseVPTR::anchor() { }
|
@ -81,6 +81,7 @@ StringRecTy StringRecTy::Shared;
|
|||||||
CodeRecTy CodeRecTy::Shared;
|
CodeRecTy CodeRecTy::Shared;
|
||||||
DagRecTy DagRecTy::Shared;
|
DagRecTy DagRecTy::Shared;
|
||||||
|
|
||||||
|
void RecTy::anchor() { }
|
||||||
void RecTy::dump() const { print(errs()); }
|
void RecTy::dump() const { print(errs()); }
|
||||||
|
|
||||||
ListRecTy *RecTy::getListTy() {
|
ListRecTy *RecTy::getListTy() {
|
||||||
@ -444,13 +445,18 @@ RecTy *llvm::resolveTypes(RecTy *T1, RecTy *T2) {
|
|||||||
// Initializer implementations
|
// Initializer implementations
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
void Init::anchor() { }
|
||||||
void Init::dump() const { return print(errs()); }
|
void Init::dump() const { return print(errs()); }
|
||||||
|
|
||||||
|
void UnsetInit::anchor() { }
|
||||||
|
|
||||||
UnsetInit *UnsetInit::get() {
|
UnsetInit *UnsetInit::get() {
|
||||||
static UnsetInit TheInit;
|
static UnsetInit TheInit;
|
||||||
return &TheInit;
|
return &TheInit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BitInit::anchor() { }
|
||||||
|
|
||||||
BitInit *BitInit::get(bool V) {
|
BitInit *BitInit::get(bool V) {
|
||||||
static BitInit True(true);
|
static BitInit True(true);
|
||||||
static BitInit False(false);
|
static BitInit False(false);
|
||||||
@ -565,6 +571,8 @@ IntInit::convertInitializerBitRange(const std::vector<unsigned> &Bits) const {
|
|||||||
return BitsInit::get(NewBits);
|
return BitsInit::get(NewBits);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StringInit::anchor() { }
|
||||||
|
|
||||||
StringInit *StringInit::get(const std::string &V) {
|
StringInit *StringInit::get(const std::string &V) {
|
||||||
typedef StringMap<StringInit *> Pool;
|
typedef StringMap<StringInit *> Pool;
|
||||||
static Pool ThePool;
|
static Pool ThePool;
|
||||||
@ -574,6 +582,8 @@ StringInit *StringInit::get(const std::string &V) {
|
|||||||
return I;
|
return I;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CodeInit::anchor() { }
|
||||||
|
|
||||||
CodeInit *CodeInit::get(const std::string &V) {
|
CodeInit *CodeInit::get(const std::string &V) {
|
||||||
typedef StringMap<CodeInit *> Pool;
|
typedef StringMap<CodeInit *> Pool;
|
||||||
static Pool ThePool;
|
static Pool ThePool;
|
||||||
|
15
lib/TableGen/TableGenAction.cpp
Normal file
15
lib/TableGen/TableGenAction.cpp
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//===- TableGenAction.cpp - defines TableGenAction --------------*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "llvm/TableGen/TableGenAction.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void TableGenAction::anchor() { }
|
||||||
|
|
@ -15,6 +15,8 @@
|
|||||||
#include "llvm/TableGen/Record.h"
|
#include "llvm/TableGen/Record.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void TableGenBackend::anchor() { }
|
||||||
|
|
||||||
void TableGenBackend::EmitSourceFileHeader(const std::string &Desc,
|
void TableGenBackend::EmitSourceFileHeader(const std::string &Desc,
|
||||||
raw_ostream &OS) const {
|
raw_ostream &OS) const {
|
||||||
OS << "//===- TableGen'erated file -------------------------------------*-"
|
OS << "//===- TableGen'erated file -------------------------------------*-"
|
||||||
|
14
lib/Target/ARM/ARMMachineFunctionInfo.cpp
Normal file
14
lib/Target/ARM/ARMMachineFunctionInfo.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//====- ARMMachineFuctionInfo.cpp - ARM machine function info ---*- C++ -*-===//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "ARMMachineFunctionInfo.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void ARMFunctionInfo::anchor() { }
|
@ -25,6 +25,7 @@ namespace llvm {
|
|||||||
/// ARMFunctionInfo - This class is derived from MachineFunctionInfo and
|
/// ARMFunctionInfo - This class is derived from MachineFunctionInfo and
|
||||||
/// contains private ARM-specific information for each MachineFunction.
|
/// contains private ARM-specific information for each MachineFunction.
|
||||||
class ARMFunctionInfo : public MachineFunctionInfo {
|
class ARMFunctionInfo : public MachineFunctionInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// isThumb - True if this function is compiled under Thumb mode.
|
/// isThumb - True if this function is compiled under Thumb mode.
|
||||||
/// Used to initialized Align, so must precede it.
|
/// Used to initialized Align, so must precede it.
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
#include "ARMRegisterInfo.h"
|
#include "ARMRegisterInfo.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void ARMRegisterInfo::anchor() { }
|
||||||
|
|
||||||
ARMRegisterInfo::ARMRegisterInfo(const ARMBaseInstrInfo &tii,
|
ARMRegisterInfo::ARMRegisterInfo(const ARMBaseInstrInfo &tii,
|
||||||
const ARMSubtarget &sti)
|
const ARMSubtarget &sti)
|
||||||
: ARMBaseRegisterInfo(tii, sti) {
|
: ARMBaseRegisterInfo(tii, sti) {
|
||||||
|
@ -24,6 +24,7 @@ namespace llvm {
|
|||||||
class Type;
|
class Type;
|
||||||
|
|
||||||
struct ARMRegisterInfo : public ARMBaseRegisterInfo {
|
struct ARMRegisterInfo : public ARMBaseRegisterInfo {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
ARMRegisterInfo(const ARMBaseInstrInfo &tii, const ARMSubtarget &STI);
|
ARMRegisterInfo(const ARMBaseInstrInfo &tii, const ARMSubtarget &STI);
|
||||||
};
|
};
|
||||||
|
@ -34,6 +34,7 @@ extern "C" void LLVMInitializeARMTarget() {
|
|||||||
RegisterTargetMachine<ThumbTargetMachine> Y(TheThumbTarget);
|
RegisterTargetMachine<ThumbTargetMachine> Y(TheThumbTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// TargetMachine ctor - Create an ARM architecture model.
|
/// TargetMachine ctor - Create an ARM architecture model.
|
||||||
///
|
///
|
||||||
ARMBaseTargetMachine::ARMBaseTargetMachine(const Target &T, StringRef TT,
|
ARMBaseTargetMachine::ARMBaseTargetMachine(const Target &T, StringRef TT,
|
||||||
@ -50,6 +51,8 @@ ARMBaseTargetMachine::ARMBaseTargetMachine(const Target &T, StringRef TT,
|
|||||||
this->Options.FloatABIType = FloatABI::Soft;
|
this->Options.FloatABIType = FloatABI::Soft;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ARMTargetMachine::anchor() { }
|
||||||
|
|
||||||
ARMTargetMachine::ARMTargetMachine(const Target &T, StringRef TT,
|
ARMTargetMachine::ARMTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
const TargetOptions &Options,
|
const TargetOptions &Options,
|
||||||
@ -74,6 +77,8 @@ ARMTargetMachine::ARMTargetMachine(const Target &T, StringRef TT,
|
|||||||
"support ARM mode execution!");
|
"support ARM mode execution!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ThumbTargetMachine::anchor() { }
|
||||||
|
|
||||||
ThumbTargetMachine::ThumbTargetMachine(const Target &T, StringRef TT,
|
ThumbTargetMachine::ThumbTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
const TargetOptions &Options,
|
const TargetOptions &Options,
|
||||||
|
@ -63,6 +63,7 @@ public:
|
|||||||
/// ARMTargetMachine - ARM target machine.
|
/// ARMTargetMachine - ARM target machine.
|
||||||
///
|
///
|
||||||
class ARMTargetMachine : public ARMBaseTargetMachine {
|
class ARMTargetMachine : public ARMBaseTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
ARMInstrInfo InstrInfo;
|
ARMInstrInfo InstrInfo;
|
||||||
const TargetData DataLayout; // Calculates type size & alignment
|
const TargetData DataLayout; // Calculates type size & alignment
|
||||||
ARMELFWriterInfo ELFWriterInfo;
|
ARMELFWriterInfo ELFWriterInfo;
|
||||||
@ -103,6 +104,7 @@ class ARMTargetMachine : public ARMBaseTargetMachine {
|
|||||||
/// Thumb-1 and Thumb-2.
|
/// Thumb-1 and Thumb-2.
|
||||||
///
|
///
|
||||||
class ThumbTargetMachine : public ARMBaseTargetMachine {
|
class ThumbTargetMachine : public ARMBaseTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
// Either Thumb1InstrInfo or Thumb2InstrInfo.
|
// Either Thumb1InstrInfo or Thumb2InstrInfo.
|
||||||
OwningPtr<ARMBaseInstrInfo> InstrInfo;
|
OwningPtr<ARMBaseInstrInfo> InstrInfo;
|
||||||
const TargetData DataLayout; // Calculates type size & alignment
|
const TargetData DataLayout; // Calculates type size & alignment
|
||||||
|
@ -48,6 +48,8 @@ static const char *const arm_asm_table[] = {
|
|||||||
0,0
|
0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void ARMMCAsmInfoDarwin::anchor() { }
|
||||||
|
|
||||||
ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {
|
ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {
|
||||||
AsmTransCBE = arm_asm_table;
|
AsmTransCBE = arm_asm_table;
|
||||||
Data64bitsDirective = 0;
|
Data64bitsDirective = 0;
|
||||||
@ -61,6 +63,8 @@ ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {
|
|||||||
ExceptionsType = ExceptionHandling::SjLj;
|
ExceptionsType = ExceptionHandling::SjLj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ARMELFMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
|
ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
|
||||||
// ".comm align is in bytes but .align is pow-2."
|
// ".comm align is in bytes but .align is pow-2."
|
||||||
AlignmentIsInBytes = false;
|
AlignmentIsInBytes = false;
|
||||||
|
@ -18,11 +18,15 @@
|
|||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
struct ARMMCAsmInfoDarwin : public MCAsmInfoDarwin {
|
class ARMMCAsmInfoDarwin : public MCAsmInfoDarwin {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit ARMMCAsmInfoDarwin();
|
explicit ARMMCAsmInfoDarwin();
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ARMELFMCAsmInfo : public MCAsmInfo {
|
class ARMELFMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit ARMELFMCAsmInfo();
|
explicit ARMELFMCAsmInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#include "SPUMCAsmInfo.h"
|
#include "SPUMCAsmInfo.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void SPULinuxMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, StringRef TT) {
|
SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, StringRef TT) {
|
||||||
IsLittleEndian = false;
|
IsLittleEndian = false;
|
||||||
|
|
||||||
|
@ -20,7 +20,9 @@
|
|||||||
namespace llvm {
|
namespace llvm {
|
||||||
class Target;
|
class Target;
|
||||||
|
|
||||||
struct SPULinuxMCAsmInfo : public MCAsmInfo {
|
class SPULinuxMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit SPULinuxMCAsmInfo(const Target &T, StringRef TT);
|
explicit SPULinuxMCAsmInfo(const Target &T, StringRef TT);
|
||||||
};
|
};
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
14
lib/Target/CellSPU/SPUMachineFunction.cpp
Normal file
14
lib/Target/CellSPU/SPUMachineFunction.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//==-- SPUMachineFunctionInfo.cpp - Private data used for CellSPU -*- C++ -*-=//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "SPUMachineFunction.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void SPUFunctionInfo::anchor() { }
|
@ -21,7 +21,8 @@ namespace llvm {
|
|||||||
/// SPUFunctionInfo - Cell SPU target-specific information for each
|
/// SPUFunctionInfo - Cell SPU target-specific information for each
|
||||||
/// MachineFunction
|
/// MachineFunction
|
||||||
class SPUFunctionInfo : public MachineFunctionInfo {
|
class SPUFunctionInfo : public MachineFunctionInfo {
|
||||||
private:
|
virtual void anchor();
|
||||||
|
|
||||||
/// UsesLR - Indicates whether LR is used in the current function.
|
/// UsesLR - Indicates whether LR is used in the current function.
|
||||||
///
|
///
|
||||||
bool UsesLR;
|
bool UsesLR;
|
||||||
|
14
lib/Target/MBlaze/MBlazeMachineFunction.cpp
Normal file
14
lib/Target/MBlaze/MBlazeMachineFunction.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//===-- MBlazeMachineFunctionInfo.cpp - Private data --------------*- C++ -*-=//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "MBlazeMachineFunction.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MBlazeFunctionInfo::anchor() { }
|
@ -25,8 +25,8 @@ namespace llvm {
|
|||||||
/// MBlazeFunctionInfo - This class is derived from MachineFunction private
|
/// MBlazeFunctionInfo - This class is derived from MachineFunction private
|
||||||
/// MBlaze target-specific information for each MachineFunction.
|
/// MBlaze target-specific information for each MachineFunction.
|
||||||
class MBlazeFunctionInfo : public MachineFunctionInfo {
|
class MBlazeFunctionInfo : public MachineFunctionInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
private:
|
|
||||||
/// Holds for each function where on the stack the Frame Pointer must be
|
/// Holds for each function where on the stack the Frame Pointer must be
|
||||||
/// saved. This is used on Prologue and Epilogue to emit FP save/restore
|
/// saved. This is used on Prologue and Epilogue to emit FP save/restore
|
||||||
int FPStackOffset;
|
int FPStackOffset;
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#include "MBlazeMCAsmInfo.h"
|
#include "MBlazeMCAsmInfo.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MBlazeMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
MBlazeMCAsmInfo::MBlazeMCAsmInfo() {
|
MBlazeMCAsmInfo::MBlazeMCAsmInfo() {
|
||||||
IsLittleEndian = false;
|
IsLittleEndian = false;
|
||||||
StackGrowsUp = false;
|
StackGrowsUp = false;
|
||||||
|
@ -21,6 +21,7 @@ namespace llvm {
|
|||||||
class Target;
|
class Target;
|
||||||
|
|
||||||
class MBlazeMCAsmInfo : public MCAsmInfo {
|
class MBlazeMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit MBlazeMCAsmInfo();
|
explicit MBlazeMCAsmInfo();
|
||||||
};
|
};
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#include "MSP430MCAsmInfo.h"
|
#include "MSP430MCAsmInfo.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MSP430MCAsmInfo::anchor() { }
|
||||||
|
|
||||||
MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, StringRef TT) {
|
MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, StringRef TT) {
|
||||||
PointerSize = 2;
|
PointerSize = 2;
|
||||||
|
|
||||||
|
@ -20,7 +20,9 @@
|
|||||||
namespace llvm {
|
namespace llvm {
|
||||||
class Target;
|
class Target;
|
||||||
|
|
||||||
struct MSP430MCAsmInfo : public MCAsmInfo {
|
class MSP430MCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit MSP430MCAsmInfo(const Target &T, StringRef TT);
|
explicit MSP430MCAsmInfo(const Target &T, StringRef TT);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
14
lib/Target/MSP430/MSP430MachineFunctionInfo.cpp
Normal file
14
lib/Target/MSP430/MSP430MachineFunctionInfo.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//==- MSP430MachineFuctionInfo.cpp - MSP430 machine function info -*- C++ -*-=//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "MSP430MachineFunctionInfo.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MSP430MachineFunctionInfo::anchor() { }
|
@ -21,6 +21,8 @@ namespace llvm {
|
|||||||
/// MSP430MachineFunctionInfo - This class is derived from MachineFunction and
|
/// MSP430MachineFunctionInfo - This class is derived from MachineFunction and
|
||||||
/// contains private MSP430 target-specific information for each MachineFunction.
|
/// contains private MSP430 target-specific information for each MachineFunction.
|
||||||
class MSP430MachineFunctionInfo : public MachineFunctionInfo {
|
class MSP430MachineFunctionInfo : public MachineFunctionInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
/// CalleeSavedFrameSize - Size of the callee-saved register portion of the
|
/// CalleeSavedFrameSize - Size of the callee-saved register portion of the
|
||||||
/// stack frame in bytes.
|
/// stack frame in bytes.
|
||||||
unsigned CalleeSavedFrameSize;
|
unsigned CalleeSavedFrameSize;
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MSP430Subtarget::anchor() { }
|
||||||
|
|
||||||
MSP430Subtarget::MSP430Subtarget(const std::string &TT,
|
MSP430Subtarget::MSP430Subtarget(const std::string &TT,
|
||||||
const std::string &CPU,
|
const std::string &CPU,
|
||||||
const std::string &FS) :
|
const std::string &FS) :
|
||||||
|
@ -25,6 +25,7 @@ namespace llvm {
|
|||||||
class StringRef;
|
class StringRef;
|
||||||
|
|
||||||
class MSP430Subtarget : public MSP430GenSubtargetInfo {
|
class MSP430Subtarget : public MSP430GenSubtargetInfo {
|
||||||
|
virtual void anchor();
|
||||||
bool ExtendedInsts;
|
bool ExtendedInsts;
|
||||||
public:
|
public:
|
||||||
/// This constructor initializes the data members to match that
|
/// This constructor initializes the data members to match that
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MipsMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, StringRef TT) {
|
MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, StringRef TT) {
|
||||||
Triple TheTriple(TT);
|
Triple TheTriple(TT);
|
||||||
if ((TheTriple.getArch() == Triple::mips) ||
|
if ((TheTriple.getArch() == Triple::mips) ||
|
||||||
|
@ -21,6 +21,7 @@ namespace llvm {
|
|||||||
class Target;
|
class Target;
|
||||||
|
|
||||||
class MipsMCAsmInfo : public MCAsmInfo {
|
class MipsMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
explicit MipsMCAsmInfo(const Target &T, StringRef TT);
|
explicit MipsMCAsmInfo(const Target &T, StringRef TT);
|
||||||
};
|
};
|
||||||
|
14
lib/Target/Mips/MipsMachineFunction.cpp
Normal file
14
lib/Target/Mips/MipsMachineFunction.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//===-- MipsMachineFunctionInfo.cpp - Private data used for Mips --*- C++ -*-=//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "MipsMachineFunction.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MipsFunctionInfo::anchor() { }
|
@ -25,8 +25,8 @@ namespace llvm {
|
|||||||
/// MipsFunctionInfo - This class is derived from MachineFunction private
|
/// MipsFunctionInfo - This class is derived from MachineFunction private
|
||||||
/// Mips target-specific information for each MachineFunction.
|
/// Mips target-specific information for each MachineFunction.
|
||||||
class MipsFunctionInfo : public MachineFunctionInfo {
|
class MipsFunctionInfo : public MachineFunctionInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
private:
|
|
||||||
MachineFunction& MF;
|
MachineFunction& MF;
|
||||||
/// SRetReturnReg - Some subtargets require that sret lowering includes
|
/// SRetReturnReg - Some subtargets require that sret lowering includes
|
||||||
/// returning the value of the returned struct in a register. This field
|
/// returning the value of the returned struct in a register. This field
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void MipsSubtarget::anchor() { }
|
||||||
|
|
||||||
MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
|
MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
|
||||||
const std::string &FS, bool little) :
|
const std::string &FS, bool little) :
|
||||||
MipsGenSubtargetInfo(TT, CPU, FS),
|
MipsGenSubtargetInfo(TT, CPU, FS),
|
||||||
|
@ -25,6 +25,7 @@ namespace llvm {
|
|||||||
class StringRef;
|
class StringRef;
|
||||||
|
|
||||||
class MipsSubtarget : public MipsGenSubtargetInfo {
|
class MipsSubtarget : public MipsGenSubtargetInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// NOTE: O64 will not be supported.
|
// NOTE: O64 will not be supported.
|
||||||
|
@ -52,6 +52,8 @@ MipsTargetMachine(const Target &T, StringRef TT,
|
|||||||
TLInfo(*this), TSInfo(*this), JITInfo() {
|
TLInfo(*this), TSInfo(*this), JITInfo() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MipsebTargetMachine::anchor() { }
|
||||||
|
|
||||||
MipsebTargetMachine::
|
MipsebTargetMachine::
|
||||||
MipsebTargetMachine(const Target &T, StringRef TT,
|
MipsebTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -59,6 +61,8 @@ MipsebTargetMachine(const Target &T, StringRef TT,
|
|||||||
CodeGenOpt::Level OL)
|
CodeGenOpt::Level OL)
|
||||||
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {}
|
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {}
|
||||||
|
|
||||||
|
void MipselTargetMachine::anchor() { }
|
||||||
|
|
||||||
MipselTargetMachine::
|
MipselTargetMachine::
|
||||||
MipselTargetMachine(const Target &T, StringRef TT,
|
MipselTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -66,6 +70,8 @@ MipselTargetMachine(const Target &T, StringRef TT,
|
|||||||
CodeGenOpt::Level OL)
|
CodeGenOpt::Level OL)
|
||||||
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, true) {}
|
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, true) {}
|
||||||
|
|
||||||
|
void Mips64ebTargetMachine::anchor() { }
|
||||||
|
|
||||||
Mips64ebTargetMachine::
|
Mips64ebTargetMachine::
|
||||||
Mips64ebTargetMachine(const Target &T, StringRef TT,
|
Mips64ebTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -73,6 +79,8 @@ Mips64ebTargetMachine(const Target &T, StringRef TT,
|
|||||||
CodeGenOpt::Level OL)
|
CodeGenOpt::Level OL)
|
||||||
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {}
|
: MipsTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {}
|
||||||
|
|
||||||
|
void Mips64elTargetMachine::anchor() { }
|
||||||
|
|
||||||
Mips64elTargetMachine::
|
Mips64elTargetMachine::
|
||||||
Mips64elTargetMachine(const Target &T, StringRef TT,
|
Mips64elTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
|
@ -80,6 +80,7 @@ namespace llvm {
|
|||||||
/// MipsebTargetMachine - Mips32 big endian target machine.
|
/// MipsebTargetMachine - Mips32 big endian target machine.
|
||||||
///
|
///
|
||||||
class MipsebTargetMachine : public MipsTargetMachine {
|
class MipsebTargetMachine : public MipsTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
MipsebTargetMachine(const Target &T, StringRef TT,
|
MipsebTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -90,6 +91,7 @@ public:
|
|||||||
/// MipselTargetMachine - Mips32 little endian target machine.
|
/// MipselTargetMachine - Mips32 little endian target machine.
|
||||||
///
|
///
|
||||||
class MipselTargetMachine : public MipsTargetMachine {
|
class MipselTargetMachine : public MipsTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
MipselTargetMachine(const Target &T, StringRef TT,
|
MipselTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -100,6 +102,7 @@ public:
|
|||||||
/// Mips64ebTargetMachine - Mips64 big endian target machine.
|
/// Mips64ebTargetMachine - Mips64 big endian target machine.
|
||||||
///
|
///
|
||||||
class Mips64ebTargetMachine : public MipsTargetMachine {
|
class Mips64ebTargetMachine : public MipsTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
Mips64ebTargetMachine(const Target &T, StringRef TT,
|
Mips64ebTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
@ -111,6 +114,7 @@ public:
|
|||||||
/// Mips64elTargetMachine - Mips64 little endian target machine.
|
/// Mips64elTargetMachine - Mips64 little endian target machine.
|
||||||
///
|
///
|
||||||
class Mips64elTargetMachine : public MipsTargetMachine {
|
class Mips64elTargetMachine : public MipsTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
Mips64elTargetMachine(const Target &T, StringRef TT,
|
Mips64elTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void PTXMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
PTXMCAsmInfo::PTXMCAsmInfo(const Target &T, const StringRef &TT) {
|
PTXMCAsmInfo::PTXMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||||
Triple TheTriple(TT);
|
Triple TheTriple(TT);
|
||||||
if (TheTriple.getArch() == Triple::ptx64)
|
if (TheTriple.getArch() == Triple::ptx64)
|
||||||
|
@ -20,7 +20,9 @@ namespace llvm {
|
|||||||
class Target;
|
class Target;
|
||||||
class StringRef;
|
class StringRef;
|
||||||
|
|
||||||
struct PTXMCAsmInfo : public MCAsmInfo {
|
class PTXMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit PTXMCAsmInfo(const Target &T, const StringRef &TT);
|
explicit PTXMCAsmInfo(const Target &T, const StringRef &TT);
|
||||||
};
|
};
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
14
lib/Target/PTX/PTXMachineFunctionInfo.cpp
Normal file
14
lib/Target/PTX/PTXMachineFunctionInfo.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//===- PTXMachineFuctionInfo.cpp - PTX machine function info -----*- C++ -*-==//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "PTXMachineFunctionInfo.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void PTXMachineFunctionInfo::anchor() { }
|
@ -30,7 +30,7 @@ namespace llvm {
|
|||||||
/// contains private PTX target-specific information for each MachineFunction.
|
/// contains private PTX target-specific information for each MachineFunction.
|
||||||
///
|
///
|
||||||
class PTXMachineFunctionInfo : public MachineFunctionInfo {
|
class PTXMachineFunctionInfo : public MachineFunctionInfo {
|
||||||
private:
|
virtual void anchor();
|
||||||
bool IsKernel;
|
bool IsKernel;
|
||||||
DenseSet<unsigned> RegArgs;
|
DenseSet<unsigned> RegArgs;
|
||||||
DenseSet<unsigned> RegRets;
|
DenseSet<unsigned> RegRets;
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void PTXSubtarget::anchor() { }
|
||||||
|
|
||||||
PTXSubtarget::PTXSubtarget(const std::string &TT, const std::string &CPU,
|
PTXSubtarget::PTXSubtarget(const std::string &TT, const std::string &CPU,
|
||||||
const std::string &FS, bool is64Bit)
|
const std::string &FS, bool is64Bit)
|
||||||
: PTXGenSubtargetInfo(TT, CPU, FS),
|
: PTXGenSubtargetInfo(TT, CPU, FS),
|
||||||
|
@ -23,6 +23,7 @@ namespace llvm {
|
|||||||
class StringRef;
|
class StringRef;
|
||||||
|
|
||||||
class PTXSubtarget : public PTXGenSubtargetInfo {
|
class PTXSubtarget : public PTXGenSubtargetInfo {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,6 +85,8 @@ PTXTargetMachine::PTXTargetMachine(const Target &T,
|
|||||||
TLInfo(*this) {
|
TLInfo(*this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PTX32TargetMachine::anchor() { }
|
||||||
|
|
||||||
PTX32TargetMachine::PTX32TargetMachine(const Target &T, StringRef TT,
|
PTX32TargetMachine::PTX32TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
const TargetOptions &Options,
|
const TargetOptions &Options,
|
||||||
@ -93,6 +95,8 @@ PTX32TargetMachine::PTX32TargetMachine(const Target &T, StringRef TT,
|
|||||||
: PTXTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {
|
: PTXTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PTX64TargetMachine::anchor() { }
|
||||||
|
|
||||||
PTX64TargetMachine::PTX64TargetMachine(const Target &T, StringRef TT,
|
PTX64TargetMachine::PTX64TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
const TargetOptions &Options,
|
const TargetOptions &Options,
|
||||||
|
@ -91,6 +91,7 @@ class PTXTargetMachine : public LLVMTargetMachine {
|
|||||||
|
|
||||||
|
|
||||||
class PTX32TargetMachine : public PTXTargetMachine {
|
class PTX32TargetMachine : public PTXTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
|
|
||||||
PTX32TargetMachine(const Target &T, StringRef TT,
|
PTX32TargetMachine(const Target &T, StringRef TT,
|
||||||
@ -100,6 +101,7 @@ public:
|
|||||||
}; // class PTX32TargetMachine
|
}; // class PTX32TargetMachine
|
||||||
|
|
||||||
class PTX64TargetMachine : public PTXTargetMachine {
|
class PTX64TargetMachine : public PTXTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
|
|
||||||
PTX64TargetMachine(const Target &T, StringRef TT,
|
PTX64TargetMachine(const Target &T, StringRef TT,
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#include "PPCMCAsmInfo.h"
|
#include "PPCMCAsmInfo.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
void PPCMCAsmInfoDarwin::anchor() { }
|
||||||
|
|
||||||
PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {
|
PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {
|
||||||
if (is64Bit)
|
if (is64Bit)
|
||||||
PointerSize = 8;
|
PointerSize = 8;
|
||||||
@ -30,6 +32,8 @@ PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {
|
|||||||
SupportsDebugInformation= true; // Debug information.
|
SupportsDebugInformation= true; // Debug information.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PPCLinuxMCAsmInfo::anchor() { }
|
||||||
|
|
||||||
PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {
|
PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {
|
||||||
if (is64Bit)
|
if (is64Bit)
|
||||||
PointerSize = 8;
|
PointerSize = 8;
|
||||||
|
@ -18,11 +18,15 @@
|
|||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
struct PPCMCAsmInfoDarwin : public MCAsmInfoDarwin {
|
class PPCMCAsmInfoDarwin : public MCAsmInfoDarwin {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit PPCMCAsmInfoDarwin(bool is64Bit);
|
explicit PPCMCAsmInfoDarwin(bool is64Bit);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PPCLinuxMCAsmInfo : public MCAsmInfo {
|
class PPCLinuxMCAsmInfo : public MCAsmInfo {
|
||||||
|
virtual void anchor();
|
||||||
|
public:
|
||||||
explicit PPCLinuxMCAsmInfo(bool is64Bit);
|
explicit PPCLinuxMCAsmInfo(bool is64Bit);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
15
lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
Normal file
15
lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//=-- PPCMachineFunctionInfo.cpp - Private data used for PowerPC --*- C++ -*-=//
|
||||||
|
//
|
||||||
|
// The LLVM Compiler Infrastructure
|
||||||
|
//
|
||||||
|
// This file is distributed under the University of Illinois Open Source
|
||||||
|
// License. See LICENSE.TXT for details.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "PPCMachineFunctionInfo.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
|
||||||
|
void PPCFunctionInfo::anchor() { }
|
||||||
|
|
@ -21,7 +21,8 @@ namespace llvm {
|
|||||||
/// PPCFunctionInfo - This class is derived from MachineFunction private
|
/// PPCFunctionInfo - This class is derived from MachineFunction private
|
||||||
/// PowerPC target-specific information for each MachineFunction.
|
/// PowerPC target-specific information for each MachineFunction.
|
||||||
class PPCFunctionInfo : public MachineFunctionInfo {
|
class PPCFunctionInfo : public MachineFunctionInfo {
|
||||||
private:
|
virtual void anchor();
|
||||||
|
|
||||||
/// FramePointerSaveIndex - Frame index of where the old frame pointer is
|
/// FramePointerSaveIndex - Frame index of where the old frame pointer is
|
||||||
/// stored. Also used as an anchor for instructions that need to be altered
|
/// stored. Also used as an anchor for instructions that need to be altered
|
||||||
/// when using frame pointers (dyna_add, dyna_sub.)
|
/// when using frame pointers (dyna_add, dyna_sub.)
|
||||||
|
@ -44,6 +44,8 @@ PPCTargetMachine::PPCTargetMachine(const Target &T, StringRef TT,
|
|||||||
/// groups, which typically degrades performance.
|
/// groups, which typically degrades performance.
|
||||||
bool PPCTargetMachine::getEnableTailMergeDefault() const { return false; }
|
bool PPCTargetMachine::getEnableTailMergeDefault() const { return false; }
|
||||||
|
|
||||||
|
void PPC32TargetMachine::anchor() { }
|
||||||
|
|
||||||
PPC32TargetMachine::PPC32TargetMachine(const Target &T, StringRef TT,
|
PPC32TargetMachine::PPC32TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
const TargetOptions &Options,
|
const TargetOptions &Options,
|
||||||
@ -52,6 +54,7 @@ PPC32TargetMachine::PPC32TargetMachine(const Target &T, StringRef TT,
|
|||||||
: PPCTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {
|
: PPCTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL, false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PPC64TargetMachine::anchor() { }
|
||||||
|
|
||||||
PPC64TargetMachine::PPC64TargetMachine(const Target &T, StringRef TT,
|
PPC64TargetMachine::PPC64TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS,
|
StringRef CPU, StringRef FS,
|
||||||
|
@ -77,6 +77,7 @@ public:
|
|||||||
/// PPC32TargetMachine - PowerPC 32-bit target machine.
|
/// PPC32TargetMachine - PowerPC 32-bit target machine.
|
||||||
///
|
///
|
||||||
class PPC32TargetMachine : public PPCTargetMachine {
|
class PPC32TargetMachine : public PPCTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
PPC32TargetMachine(const Target &T, StringRef TT,
|
PPC32TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
@ -87,6 +88,7 @@ public:
|
|||||||
/// PPC64TargetMachine - PowerPC 64-bit target machine.
|
/// PPC64TargetMachine - PowerPC 64-bit target machine.
|
||||||
///
|
///
|
||||||
class PPC64TargetMachine : public PPCTargetMachine {
|
class PPC64TargetMachine : public PPCTargetMachine {
|
||||||
|
virtual void anchor();
|
||||||
public:
|
public:
|
||||||
PPC64TargetMachine(const Target &T, StringRef TT,
|
PPC64TargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user