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>
9595 VerifyMemorySSAX (" verify-memoryssa" , cl::location(VerifyMemorySSA),
9696 cl::Hidden, cl::desc(" Enable verification of MemorySSA." ));
9797
98+ const static char LiveOnEntryStr[] = " liveOnEntry" ;
99+
98100namespace {
99101
100102// / An assembly annotator class to print Memory SSA information in
@@ -133,8 +135,13 @@ class MemorySSAWalkerAnnotatedWriter : public AssemblyAnnotationWriter {
133135 if (MemoryAccess *MA = MSSA->getMemoryAccess (I)) {
134136 MemoryAccess *Clobber = Walker->getClobberingMemoryAccess (MA);
135137 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+ }
138145 OS << " \n " ;
139146 }
140147 }
@@ -2154,8 +2161,6 @@ bool MemorySSA::dominates(const MemoryAccess *Dominator,
21542161 return dominates (Dominator, cast<MemoryAccess>(Dominatee.getUser ()));
21552162}
21562163
2157- const static char LiveOnEntryStr[] = " liveOnEntry" ;
2158-
21592164void MemoryAccess::print (raw_ostream &OS) const {
21602165 switch (getValueID ()) {
21612166 case MemoryPhiVal: return static_cast <const MemoryPhi *>(this )->print (OS);
Original file line number Diff line number Diff line change 11; RUN: opt -passes='print<memoryssa-walker>' -disable-output < %s 2>&1 | FileCheck %s
22
33; CHECK: define void @test
4- ; CHECK: 1 = MemoryDef(liveOnEntry)->liveOnEntry - clobbered by 0 = MemoryDef( liveOnEntry)
4+ ; CHECK: 1 = MemoryDef(liveOnEntry)->liveOnEntry - clobbered by liveOnEntry
55; 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
77; CHECK: store i8 42, i8* %a2
88; CHECK: MemoryUse(1) MustAlias - clobbered by 1 = MemoryDef(liveOnEntry)->liveOnEntry
99; CHECK: %l1 = load i8, i8* %a1
1010; CHECK: MemoryUse(2) MustAlias - clobbered by 2 = MemoryDef(1)->liveOnEntry
1111; 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
1313; CHECK: store i8 42, i8* %p
1414; CHECK: 4 = MemoryDef(3)->3 MustAlias - clobbered by 3 = MemoryDef(2)->liveOnEntry
1515; CHECK: store i8 42, i8* %p
You can’t perform that action at this time.
0 commit comments