Details
Details
- Reviewers
asbirlea reames fhahn mkazantsev
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
Comment Actions
A very broad comment for a smooth transition
- the patches should be split into changes to GVN independent of the switch, e.g. a) factoring out components/methods where the differences between MSSA and MD occur and b) things that need to be added for the transition
- we should keep the MD implementation and have a flag for switching between the current one and the MSSA one being added
- once the flag flip sticks, then we'd remove the MD implementation
llvm/lib/Transforms/Scalar/GVN.cpp | ||
---|---|---|
474 | I looked at this part and it looks correct:
Nevertheless, it can be rearranged a little bit. |
llvm/lib/Transforms/Scalar/GVN.cpp | ||
---|---|---|
2252 | I'm not clear if BB always has a MemoryPhi. It's possible for a node to have PhiNodes, and no MemoryPhis. if (!MPhi) return Num; For getting the incoming value, there's an API: MemoryAccess *MA = MPhi->getIncomingValueForBlock(Pred); |
I looked at this part and it looks correct:
Nevertheless, it can be rearranged a little bit.