search for: incomingval

Displaying 3 results from an estimated 3 matches for "incomingval".

2009 Jan 27
4
[LLVMdev] Copy Instructions?
...// x = phi(x.0, *) // y = phi(y.0, *) // [...] // store x -> y // store expr -> x // end do // // We are updating both phis to add a value from a back edge // When we saw the first store we set IncomingVals[y] to x. // When we see the second store we need to create a // temporary t = x before the second store and set // IncomingVals[y] to t. Otherwise y's phi will pick up the // new value of x (expr) rather than the old, proper one. This bug triggers on a...
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
...p of my head) add a flag or something to have renamepass reset all 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...