projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[WinEH] Add and use hasEHPadSuccessor instead of getLandingPadSuccessor
[oota-llvm.git]
/
include
/
llvm
/
CodeGen
/
MachineFunction.h
diff --git
a/include/llvm/CodeGen/MachineFunction.h
b/include/llvm/CodeGen/MachineFunction.h
index 94610cabf566d761428bc082fa7c0d906a7f11d9..9a253226a1c7cf4d5553f04027d6e23d0d3a9645 100644
(file)
--- a/
include/llvm/CodeGen/MachineFunction.h
+++ b/
include/llvm/CodeGen/MachineFunction.h
@@
-38,6
+38,7
@@
class MachineJumpTableInfo;
class MachineModuleInfo;
class MCContext;
class Pass;
class MachineModuleInfo;
class MCContext;
class Pass;
+class PseudoSourceValueManager;
class TargetMachine;
class TargetSubtargetInfo;
class TargetRegisterClass;
class TargetMachine;
class TargetSubtargetInfo;
class TargetRegisterClass;
@@
-145,6
+146,9
@@
class MachineFunction {
/// True if the function includes any inline assembly.
bool HasInlineAsm;
/// True if the function includes any inline assembly.
bool HasInlineAsm;
+ // Allocation management for pseudo source values.
+ std::unique_ptr<PseudoSourceValueManager> PSVManager;
+
MachineFunction(const MachineFunction &) = delete;
void operator=(const MachineFunction&) = delete;
public:
MachineFunction(const MachineFunction &) = delete;
void operator=(const MachineFunction&) = delete;
public:
@@
-155,6
+159,11
@@
public:
MachineModuleInfo &getMMI() const { return MMI; }
MCContext &getContext() const { return Ctx; }
MachineModuleInfo &getMMI() const { return MMI; }
MCContext &getContext() const { return Ctx; }
+ PseudoSourceValueManager &getPSVManager() const { return *PSVManager; }
+
+ /// Return the DataLayout attached to the Module associated to this MF.
+ const DataLayout &getDataLayout() const;
+
/// getFunction - Return the LLVM function that this machine code represents
///
const Function *getFunction() const { return Fn; }
/// getFunction - Return the LLVM function that this machine code represents
///
const Function *getFunction() const { return Fn; }
@@
-472,6
+481,9
@@
public:
extractStoreMemRefs(MachineInstr::mmo_iterator Begin,
MachineInstr::mmo_iterator End);
extractStoreMemRefs(MachineInstr::mmo_iterator Begin,
MachineInstr::mmo_iterator End);
+ /// Allocate a string and populate it with the given external symbol name.
+ const char *createExternalSymbolName(StringRef Name);
+
//===--------------------------------------------------------------------===//
// Label Manipulation.
//
//===--------------------------------------------------------------------===//
// Label Manipulation.
//