Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit 02e0bb6

Browse files
committed
This patch adds MemorySSA to LLVM.
Please see include/llvm/Transforms/Utils/MemorySSA.h for a description of MemorySSA, and what it does. Differential Revision: http://reviews.llvm.org/D7864 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259595 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 7373ed1 commit 02e0bb6

20 files changed

+2358
-0
lines changed

include/llvm/IR/Function.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,12 @@ class Function : public GlobalObject, public ilist_node<Function> {
543543
Constant *getPrologueData() const;
544544
void setPrologueData(Constant *PrologueData);
545545

546+
/// Print the function to an output stream with an optional
547+
/// AssemblyAnnotationWriter.
548+
void print(raw_ostream &OS, AssemblyAnnotationWriter *AAW = nullptr,
549+
bool ShouldPreserveUseListOrder = false,
550+
bool IsForDebug = false) const;
551+
546552
/// viewCFG - This function is meant for use from the debugger. You can just
547553
/// say 'call F->viewCFG()' and a ghostview window should pop up from the
548554
/// program, displaying the CFG of the current function with the code for each

include/llvm/IR/Value.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454

5555
HANDLE_VALUE(Argument)
5656
HANDLE_VALUE(BasicBlock)
57+
HANDLE_VALUE(MemoryUse)
58+
HANDLE_VALUE(MemoryDef)
59+
HANDLE_VALUE(MemoryPhi)
5760

5861
HANDLE_GLOBAL_VALUE(Function)
5962
HANDLE_GLOBAL_VALUE(GlobalAlias)

include/llvm/InitializePasses.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ void initializeMemCpyOptPass(PassRegistry&);
205205
void initializeMemDepPrinterPass(PassRegistry&);
206206
void initializeMemDerefPrinterPass(PassRegistry&);
207207
void initializeMemoryDependenceAnalysisPass(PassRegistry&);
208+
void initializeMemorySSALazyPass(PassRegistry&);
209+
void initializeMemorySSAPrinterPassPass(PassRegistry&);
208210
void initializeMergedLoadStoreMotionPass(PassRegistry &);
209211
void initializeMetaRenamerPass(PassRegistry&);
210212
void initializeMergeFunctionsPass(PassRegistry&);

0 commit comments

Comments
 (0)