Displaying 2 results from an estimated 2 matches for "getdefslist".
2017 Feb 17
2
[MemorySSA] inserting or removing memory instructions
Hi guys,
a question about updating memory SSA:
Is it expected that e.g insertion of MemoryDef doesn't change all dominated
uses?
For example test case CreateLoadsAndStoreUpdater produces:
define void @F(i8*) {
; 1 = MemoryDef(liveOnEntry)
store i8 16, i8* %0
; 4 = MemoryDef(1)
store i8 16, i8* %0
br i1 true, label %2, label %3
; <label>:2: ;
2017 Feb 17
2
[MemorySSA] inserting or removing memory instructions
...l uses it sees (you only
have to change the uses, defs are all linked together and thus already
fixed by the updater). Right now it only does that if they have no
defining access.
Make it skip blocks already in the visited set (the incomingval to pass to
successors is the existing incoming val if getDefsList.rbegin() ==
getDefsList.rend(), and getDefsList.rbegin() otherwise) to prevent
duplicate work from the below:
Now:
call renamepass on the bb for the inserted def, using the defining access
of the first def as the incoming val.
call renamepass on the bb of each inserted phi (you can use a null inc...