Displaying 2 results from an estimated 2 matches for "loadg1_2".
Did you mean:
loadg1_1
2016 Jun 27
2
[MemorySSA] Potential bug in MemoryUse defining access calculation
...cess of LiveOnEntry
+; CHECK: MemoryUse(liveOnEntry)
+; CHECK-NEXT: %loadG1_1 = load
+ %loadG1_1 = load i16, i16* @G1, align 2
+; CHECK: 1 = MemoryDef(3)
+; CHECK-NEXT: store i16 0
+ store i16 0, i16* @G2, align 2
+ ; ditto for this identical load
+; CHECK: MemoryUse(liveOnEntry)
+; CHECK-NEXT: %loadG1_2 = load
+ %loadG1_2 = load i16, i16* @G1, align 2
+; CHECK: 2 = MemoryDef(1)
+; CHECK-NEXT: store i16 1
+ store i16 1, i16* @G2, align 2
+ %i.1 = add nsw i32 %i.0, 1
+ br label %for.cond
+
+cleanup:
+ ret void
+}
2016 Jun 27
0
[MemorySSA] Potential bug in MemoryUse defining access calculation
This is definitely a caching bug related to this code:
1038 // Don't try to optimize this phi again if we've already tried
to do so.
1039 if (!Q.Visited.insert(PHIPair).second) {
1040 ModifyingAccess = CurrAccess;
1041 break;
1042 }
We don't differentiate elsewhere between having stopped at a phi because we
were path walking and discovered that path