File tree Expand file tree Collapse file tree 2 files changed +12
-7
lines changed Expand file tree Collapse file tree 2 files changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,8 @@ static cl::opt<bool, true>
95
95
VerifyMemorySSAX (" verify-memoryssa" , cl::location(VerifyMemorySSA),
96
96
cl::Hidden, cl::desc(" Enable verification of MemorySSA." ));
97
97
98
+ const static char LiveOnEntryStr[] = " liveOnEntry" ;
99
+
98
100
namespace {
99
101
100
102
// / An assembly annotator class to print Memory SSA information in
@@ -133,8 +135,13 @@ class MemorySSAWalkerAnnotatedWriter : public AssemblyAnnotationWriter {
133
135
if (MemoryAccess *MA = MSSA->getMemoryAccess (I)) {
134
136
MemoryAccess *Clobber = Walker->getClobberingMemoryAccess (MA);
135
137
OS << " ; " << *MA;
136
- if (Clobber)
137
- OS << " - clobbered by " << *Clobber;
138
+ if (Clobber) {
139
+ OS << " - clobbered by " ;
140
+ if (MSSA->isLiveOnEntryDef (Clobber))
141
+ OS << LiveOnEntryStr;
142
+ else
143
+ OS << *Clobber;
144
+ }
138
145
OS << " \n " ;
139
146
}
140
147
}
@@ -2154,8 +2161,6 @@ bool MemorySSA::dominates(const MemoryAccess *Dominator,
2154
2161
return dominates (Dominator, cast<MemoryAccess>(Dominatee.getUser ()));
2155
2162
}
2156
2163
2157
- const static char LiveOnEntryStr[] = " liveOnEntry" ;
2158
-
2159
2164
void MemoryAccess::print (raw_ostream &OS) const {
2160
2165
switch (getValueID ()) {
2161
2166
case MemoryPhiVal: return static_cast <const MemoryPhi *>(this )->print (OS);
Original file line number Diff line number Diff line change 1
1
; RUN: opt -passes='print<memoryssa-walker>' -disable-output < %s 2>&1 | FileCheck %s
2
2
3
3
; CHECK: define void @test
4
- ; CHECK: 1 = MemoryDef(liveOnEntry)->liveOnEntry - clobbered by 0 = MemoryDef( liveOnEntry)
4
+ ; CHECK: 1 = MemoryDef(liveOnEntry)->liveOnEntry - clobbered by liveOnEntry
5
5
; CHECK: store i8 42, i8* %a1
6
- ; CHECK: 2 = MemoryDef(1)->liveOnEntry - clobbered by 0 = MemoryDef( liveOnEntry)
6
+ ; CHECK: 2 = MemoryDef(1)->liveOnEntry - clobbered by liveOnEntry
7
7
; CHECK: store i8 42, i8* %a2
8
8
; CHECK: MemoryUse(1) MustAlias - clobbered by 1 = MemoryDef(liveOnEntry)->liveOnEntry
9
9
; CHECK: %l1 = load i8, i8* %a1
10
10
; CHECK: MemoryUse(2) MustAlias - clobbered by 2 = MemoryDef(1)->liveOnEntry
11
11
; CHECK: %l2 = load i8, i8* %a2
12
- ; CHECK: 3 = MemoryDef(2)->liveOnEntry - clobbered by 0 = MemoryDef( liveOnEntry)
12
+ ; CHECK: 3 = MemoryDef(2)->liveOnEntry - clobbered by liveOnEntry
13
13
; CHECK: store i8 42, i8* %p
14
14
; CHECK: 4 = MemoryDef(3)->3 MustAlias - clobbered by 3 = MemoryDef(2)->liveOnEntry
15
15
; CHECK: store i8 42, i8* %p
You can’t perform that action at this time.
0 commit comments